What’s this then?
I have been using Arduino for a number of years and I feel like I have pushed it’s audio capabilities. You can do some pretty good peak metering with the 10-bit ADCs (If you get comfortable with configuring the atmega’s registers), even a bit of FFT. But output wise, unless you use a decent audio codec, which seems like over kill for an 8bit MCU, your audio output will always be winey and noisy.
So, I bravely decided to leave the confort of Arduino and looked around for something with a 16-bit DAC. I found Microchip’s 16-bit dsPIC33F range. Some of them are designed for voice recording and playback, so while I may not get high fidelity audio with it, it’s a good place to start. And with on-board DSP, if I suddenly become some sort of signal wizard, I can have a go at that too!
My own development board
First thing I need to do is make a development board to get to grips with the basic analogue & digital IOs and PIC architecture. I’d rather do this than buy a dev board because then I know I can reproduce my own design when it comes to developing a product. I read the datasheets on and off for about 2 months and four attempts later I have a working Arduino – style development board – sweet!
During this process I managed to become proficient enough at SMD soldering to confidently design with all SMD parts.
This video helped me out: http://www.youtube.com/watch?v=MqivHi7Qjvk
I bought a crappy cheap Atten 858D+ hot air gun, which I have heard often have dangerous wiring fault… so far I’m ok!!
So here’s a terrible pic of my first working board:
It’s a bit of a mess but it works really well and so I finally have a design I can add to in eagle.
What do I want from the dsPIC?
Midi IO – USART – Check
SD Card – SPI
DMX – too hard..
16 bit audio output – DAC – Check
Audio in – codec
I found that using the internal RC oscillator in PLL mode was enough to run the chip at maximum speed, which is plenty for audio reproduction.
Work in progress!