The heart of it all. The microcontroller generates the oscillators, the modulation, reads the pots and buttons, lights the LEDs, sends and receives MIDI, and controls the filter. When you think about it, it’s a lot to ask of a humble semiconductor. But, modern integrated circuit wizards have been hard at work and provided some real gems. These days you can get a microcontroller for pennies that would give a 1980’s PC processor a run for it’s money. Modern controllers definitely run faster and if you’ve got a little more to spend, you can get one that would absolutely crush a 8088 or 386. I use microcontrollers at work that do about ten times what I need for about $0.30. That is pretty amazing. Now, that’s in quantities of about half a million. This humble 8 Bit Synth will not be even remotely on that level. I had a number of criteria when looking for a microcontroller for this design. Follow the jump to learn about the selection and the chip.
The most important thing for this project is that is buildable by you. You who may be a veteran solder soldier or who may be a rosin core solder virgin. To me, that means the microcontroller must be a through-hole part. If you’re unsure of the terminology, through-hole means that the part has legs that come out of it which will insert through holes in the board. The alternative is surface mount, often abbreviated SMT. The legs of an SMT part are meant to rest on the board and not pass through it. The benefit of SMT is density, being able to place many parts, because holes take up a lot of space. There is a minimum size of hole which can be drilled and still remain a hole after being plated with solder, a step which is part of the circuit board manufacturing process for circuit board which have two or more layers. At any rate, the larger lead spacing, or pitch, makes through-hole parts easier for the rookie and veteran alike to solder.
We want lots of buttons and knobs and LEDs and all that fun stuff, right? So, the next criteria naturally is maximum input and output. In order to deal with a lot of pots and buttons and whatever else you want to throw on the design, you have to have lots of pins to get it into the microcontroller so that it can do its controlling. SMT parts have pin counts which head into the hundreds, hundreds of tiny pins or even little balls underneath where you can’t see them. Look at any microprocessor in any computer today. But through-hole parts are notoriously stingy, especially these days when demand for them is lower and it’s just easier to deal with a lot of i/o in the surface mount world where things are smaller. But, through-hole it must be. So, we need the biggest through-hole part we can find.
Finally, the part must be well supported for the DIY enthusiast. It must be easy to program and well-documented. Programmers for microcontrollers can cost dollars or thousands of dollars. This needs to be a microcontroller which is programmable for dollars. Ideally, there will be a library of documentation on how to use it, how to program it, and even better a library of applications similar enough to what you want that you can use it. The golden rule of designing electronics is that there is no need to reinvent that which some smart person already invented well. A community of adherents definitely doesn’t hurt. Users will have a place to turn and potentially many of them will have experience with it.
So, with these criteria in mind, what part do we choose?
Atmel AVR ATmega164P of course. Stay tuned tomorrow when we discuss the ATmega164Ps features.