Hey guys,
I've been working on a microcontroller designed for making props and I was hoping to get some eyes on my schematic in case I made any obvious blunders.
Ignore the "amp output" which isn't connected to anything. That will be connected directly to the DAC to create a single ended-output, probably with a voltage divider to create a single-ended output around 2.3V or whatever the standard line-out voltage is. Also ignore the mis-routed traces on the LED expansion module in the board layout. The board is currently in the middle of a major redesign, and moving the pins for the LED drivers in closer to the chips to save space was part of that. I also am going to see about increasing the space between the components around the 3.3V regulator and level shifter next to the SD card because right now I'm not sure if that is manufactureable.
Before you take a look at the new layout, here's the original design:
The thing you need to know about the board is it is designed to be as small as possible so as to fit in both large and small props, including handheld. It's smaller than a credit card - 3x2", and is built to animate LEDs with full brightness control, drive servos, and play sound effects off an SD card which holds scripts the user will write in basic. It's intended for non-programmers, non-electrical engineers to use, so it's all plug and play. No resistors needed for the leds or the switches. I wanted it to be expandable though, so I've included spots to connect breakouts that use I2C and SPI, and my own breakout boards connect to the same pins as the servos, switches, and knobs.
Development is being funded with a Kickstarter campaign. You can see that and lots more details on the board here:
http://www.kickstarter.com/projects/shawnswift/the-mightytm-microcontroller
Anyway the reason for the redesign is I found out the SD card wouldn't play nice on the same SPI bus as the DAC and LED drivers, so I had to move that to it's own bus, and I could really use some more ram, so rather than take away three IO pins and try to squeeze everything into 2K, I decided to switch from the 328 to the 1284. This not only gave me 16K to work with... a huge amount, which may allow me to simply store the tokenized basic code in ram rather than trying to compile it or spool it off the SD card while playing sound effects, but it also gave me something like 10 additional I/O pins to work with and a second UART, so of course I had to try to squeeze all those onto the board. I managed to fit every one on there too, though I was only able to break out six as additional general I/O for switches, knobs, and servos. The rest went to the SPI and UART ports, and of course the SD card.
I'm really happy with how the redesign went too. The layout is so much cleaner now. No more power and bus being routed between LED pins, and short direct traces to everything. And I did it while increasing the width of the board by less than 1/4" which put it just inside the maximum size limitation I'd set. (Because I wanted it to fit inside these things: pkeinstall1 - YouTube among other small handheld props.)
Anyway, here's the new layout, and schematic:
http://mightymicrocontroller.com/board-full.png
http://mightymicrocontroller.com/schematic-full.png
I still have a lot of trace routing to do, but you can see where the traces need to go by the yellow lines, and it's not very far. These are gonna be a piece of cake compared to the original. For one, I'm not going to need to have 20 vias underneath the main processor like I did on the original design.
Anyway, any feedback would be appreciated. I'm fairly confident in the design at this point, but you never know if you've missed something important.
[edit]
Heh, and I've already noticed something important. I forgot to update the nets for the SD card so they're still pointing to the DAC's SPI bus. I'll fix that now.