[sdiy] WHICH PIC/UCONTROLLER should I buy today

Olivier Gillet ol.gillet at gmail.com
Mon Aug 9 14:19:46 CEST 2010


Hi,

Leaving aside the ARM uC which are probably overkill for what you want
to do, there are two main choices: 8-bits AVR and PICs, for which
people are fighting holy wars. Both families have roughly the same
computational power, I/O capabilities, are available in all packages
from DIP to centipedes, are cheap, and have vibrant communities from
which you can get help.

Some reasons to use AVRs:
- Thanks to the Arduino project, the barrier to entry in the AVR world
is very, very low: a $20 Arduino clone + the pre-bundled Arduino
development environment and you can find yourself running code in
matters of minutes. There's a large community very supportive of
beginners, and tons of code samples to reuse. You could get trapped in
it.
- The compiler and toolchain are based on gcc/libtools -- no
proprietary, wacky, compilers ; and if you're used to develop on other
platforms the workflow can be exactly the same.
- Relatively "sane" assembly language.

Some reasons to use PICs:
- The high-end PICs (dsPICs) can do much more stuff than the high-end
AVRs, and can run at faster clock rates - useful if you want to do
audio-rate signal processing/generation.
- You can reuse bits from the MIDIbox projects.

Regarding the generation of analog signals, you have plenty of options:
- PWM on a digital pin (no external component needed except maybe a RC filter)
- R2R DAC (2 resistors per bit, one I/O pin per bit)
- Parallel DAC chip, one I/O pin per bit
- SPI DAC chip (eg: dual 12 bits DAC: MCP4922), 3 I/O pins dedicated
to hardware SPI.
- I2C DAC chip (have never used one), 2 I/O pins dedicated to hardware I2C.

Olivier



More information about the Synth-diy mailing list