Monday, January 04, 2010

Not an Arduino

This is my "main controller" board for the Atmel design contest.  The ground pour pretty completely fills in the white spaces, so I am showing the board here without them so you can see all the lovely traces.

The SMT part in the center is an ATmega328.  The 6-pin connector on the left is the same pinout as an Arduino serial programming port.

So why didn't I just design an Arduino shield?

Well, I tried that.  Between the Arduino shield connectors and the interface connectors I need, the board was a mess of pins.  The ratsnest was also a mess.  The routing looked like it would take at least as long as this board, and for contest judging purposes, the elegance of the solution and BOM cost were not what I wanted.

On the upside, I can fall back to using Arduino boot loader and Arduino libraries if I need to save time. 

I've got some protoboard shields that I can use with actual Arduino boards in the early part of system debug, and then shift to my board when it arrives.  That way, I can have debuggged (I hope) software running on my un-debugged hardware.

I've been struggling with non-Arduino libraries, trying to find a usable I2C driver.  It was looking like a lot of work to get something usable for my project, when a fortuitous Google search found an Atmel app note with code for connecting an AVR processor to the Atmel touch controller.  I think I just saved a few days in my software schedule.

Which is good, because I'm running short on days.

No comments: