Hacker News new | ask | show | jobs
Ask YC News: a good way to learn electronics/microcontrollers?
4 points by rugoso 6707 days ago
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

so what would be a good way to learn to do this?

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

i know only very basic stuff on electronics, assume i'm starting from zero

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)

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 ;)

5 comments

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...

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...

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...

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.

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.
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.

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

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... :)