

Ask YC News: a good way to learn electronics/microcontrollers? - rugoso

i'll be very specific: i want to be able to make simple hardware controllers (buttons, faders, leds) that can comunicate with the software i make (software to make music), using usb or ethernet or bluetooth<p>so what would be a good way to learn to do this?<p>i'm more into hands on learning, just like the HELLO WORLD program, i like to have something working first, even if i don't understand it, and then mess around<p>i know only very basic stuff on electronics, assume i'm starting from zero<p>note #1: later i may want to learn more and more about electronics, but right now i'm focusing on learning "only" this. (i here declare that i have no idea how hard can this be, but thats why i'm asking)<p>note #2: i know i can buy  midi controllers, but there are some reasons to prefer the self-made controls, i'll mention only one here: more nerd-fun ;)
======
tlrobinson
There are a bunch of options...

I've never tried it, but Arduino sounds like a good option for you:

 _Arduino is an open-source electronics prototyping platform based on
flexible, easy-to-use hardware and software. It's intended for artists,
designers, hobbyists, and anyone interested in creating interactive objects or
environments._

<http://www.arduino.cc/>

It's based on an Atmega micrcontroller, which is also popular among hobbyists.

TI has a dead simple (looks like a thumb drive, plugs in USB) and cheap ($20)
microcontroller programmer with microcontroller called the eZ430:

<http://www.ti.com/corp/docs/landing/ez430tool/index.htm>

And Microchip has a pretty cheap and simple programmer for most PICs called
the PICkit2:

[http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_P...](http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805)

As far as connecting these things to your computer, USB is probably easiest
I've used the PIC18FXXX5 series which has built in USB support (just add a few
cheap components and a connector!). Here's an excellent website:

<http://pic18fusb.online.fr/>

And of course since you're interested in making MIDI controllers, check out
MidiBox:

<http://www.midibox.org/>

Finally, a couple good resources/forums I find helpful:

<http://ladyada.net/>

<http://forum.sparkfun.com/>

I wish I had more time to play with all this stuff...

------
NoBSWebDesign
It's difficult for me to recommend a "Hello World" type introduction to
electronics and microcontrollers, since I had 4 years of learning it in a
university (obviously the budget is quite a bit different). I would say find
some hobby you are interested in that uses LED's and switches, and find a
tutorial on how to build that component. What you will find is that depending
on the application, a simple button can be a lot more involved than you may
expect.

For instance, if you played guitar, you could learn to make a footswitch that
has LED's to tell you what channel you're on. But in this case, you'd have to
look up the specs for your amp to see what type of resistance and impedance
(if any) the amp expects from that channel. Furthermore, does it expect an
active high or an active low signal, do you need to involve any BJT's (bi-
polar junction transistors are common in simple electronics) or FET's?

Anyway, I'll not get into too much depth, because depending on what you're
trying to accomplish, this may be overkill. That said, once you start
building, Digikey is your friend!

<http://www.digikey.com/>

Also, I hate to promote this book, because I really disliked the professor
that wrote this (seriously, one of my least favorite classes ever), but his
book really does answer any possible electronics question you'll probably ever
have (though, again, it's probably a bit overkill).

[http://www.amazon.com/Electromagnetic-Compatibility-
Handbook...](http://www.amazon.com/Electromagnetic-Compatibility-Handbook-
Kenneth-Kaiser/dp/0849320879)

If you have any specific questions during your project, feel free to give me a
shout. Admittedly, microcontrollers aren't my specialty, but I am an ME/EE.

~~~
NoBSWebDesign
Oh, and I almost forgot to mention... when you start building and need a
microcontroller, go to whatever company you need one from and ask for a sample
piece. Typically all microcontrollers companies will send you 1-5 controllers
as "testing and development samples." There is usually a form that allows you
to order these for free on their website.

------
bprater
If you aren't necessarily focused on tying hardware controllers to a software
app (which limits you to MIDI stuff), you might consider one of the basic
programmable microcontrollers, like the Parallax BASIC Stamp:

<http://www.parallax.com/>

It is designed to be easily plugged into devices, gives you a simple
programming language, and a way to interface with a computer. I bet you can
snag one on Ebay for cheap.

------
menloparkbum
there are tons of resources for midi electronics:

www.midibox.org www.doepfer.de www.ucapps.de www.monome.org

"DIY midi" google search

get "art of electronics" by horowitz and hill as a reference

------
aggieben
buy stuff (digikey, propeller, old x86 boxen, Freescale samples + PCB kits,
whatever) and start hacking, and find some good IRC channels to hang out on. I
won't tell you which ones, because I don't want them to get crowded... :)

