Tuesday, November 2, 2010

USB Doodad 2: Board design and layout

Some time ago, Ross and I discussed and agreed on what we'd like this board to do (and perhaps just as importantly, what we don't need it to do).  How do we get from this stage to something people can assemble?  One way is by making a prototype.

A prototype lets us:
  • Try out the circuit and different variations,
  • Try out the PCB layout and variations,
  • Try out the software and variations, and
  • Try out different assembly ideas.
Ross started off by finding a project in Elektor, a famous English-language electronics magazine produced in the Netherlands.  What it has in common with the Doodad is that it uses an ATmega328P microcontroller, and uses V-USB to do software USB.

Using that project as proof of what is possible, Ross designed the circuit to our requirements, and did a PCB layout.  Because we may use the underside of the board for other purposes later, Ross faced the additional constraint of having to make the board single-sided.  He and I discussed and improved the circuit and the layout several times, and Ross reworked the circuit and layout to match.

In particular, if we use the same pins as the Elektor project, we'd only have 14 pins free for driving LEDs.  Ideally however, we'd like 16 LEDs.  We think by reassigning some pins, doing away with some features (for example, a bootloader exit button, and a reset button), and being creative with some circuit ideas (for example, using a resistor network to run a number of switches off some otherwise-unused ADC pins), we believe we can recover enough pins to give us 16 LEDs.  We'd also like to be able to use the SDA and SCK pins on the expansion port so we can easily attach I2C devices such as sensors and storage ICs.

In order to do this pin experimentation, the board currently has a number of solder pads we can link to reroute various signals.  Here's the current layout:
USB Doodad PCB artwork (v15)
On the left is the expansion port (+, - and two data pins).  On the right is the USB finger port.  Along the bottom is where the LEDs and dropper resistors will go.  In the top right are the USB analog components.  In the middle is the microcontroller, and to each side are the power supply and clock components.  The switches go in the top left.

While this board may not do everything we want it to, it will let us answer a lot of the questions we need to answer before we can produce a final board ready for sending to a manufacturing house.

I want to say that Ross has done a top job: The single-sided layout constraint is pretty fierce, and the quality of the prototype board is easily as good as a bought one.  I am learning a lot working with him.

No comments:

Post a Comment