I'll throw out a couple of comments.
> 1. Where do you plug in the main battery if you are going to use a
> separate motor battery? The motor battery plugs into JP2. It looks
> like there's a receptacle for a plug from a wall wart. I would ditch
> that, and add a header for battery power, and fill the rest of the
> space with a 6-pin ISP header -- this board could be used standalone.
> Specifically, I would move the servo ports to the right, put the
> battery jumper on the left, next to JP2 (rotate it 90 degrees).
On the last design that Gordon presented, you would need to have an
external regulator, and plug the main battery into that and feed +5
regulated into the wall wart receptacle.
> 2. I would move the screw hole on the right down some. If you were to
> try to solder a header on to the holes next to there, I don't think you
> could then fit a screw in.
> 3. The trace next to the bottom left screw hole looks like it's too
> close to the hole.
I would use a plastic washer to protect the trace.
> 4. If ferrite beads are good at filtering out spikes and such, then I
> guess it's ok for the ADC to use battery power instead of regulated
> power... I agree with the sentiment of others in that it doesn't feel
> right to me, but then I'm not familiar with the mystic powers of
> ferrite beads.
> 5. I would make the board wider and make the analog and digital ports
> polarized, like what's done on the handyboard. Using the 0.1" pitch,
> have a hole for Ground, Power, skip a hole and then have the I/O hole.
> The main reason for doing this is to prevent non-electronics types from
> blowing sensors up. If you plug a sensor in backwards, you've
> connected the sensor output to ground, which isn't going to hurt
> anything. This also would allow folks with an existing collection of
> handyboard sensors to use them with this board. The handyboard uses
> female headers on the board. It looks like that would work fine with
> this board, assuming the screw hole in #2 isn't in the way.
> 6. I like the servo and motor ports on the Handyboard. You could use
> port A to bit bang PWM for servos (timer interrupt driven), and use
> some of the PWM outputs for driving DC motors. The handyboard uses (2)
> L293Ds to provide 4 H-bridges.
You can use the PWM outputs on the AVR or you can manually control
them as GPIO pins. On the AVR, pretty much any pin can be used as it's
special purpose or as a GPIO pin.
> On the flip side of things, the Acroname brainstem uses male
> connectors, and isn't polarized. I prefer sensor inputs that are
> idiot-proof. It's an especially useful feature for those late night,
> last minute robotics projects, where one is prone to start making
> stupid mistakes due to lack of sleep.
The handyboard seems to be the odd one out. All of the other
controllers I've used have male headers on the board, and I was hoping
that gumstix would do the same.
I much prefer using the crimp pins and box receptacle housings to
attach to the wires on the sensor side. It also makes for a more
For me personally, the polarization doesn't matter. I like that the
ground pin in consistently on the outside of the board, and I color
code all of my wires. Sometimes, I'll even cut tiny little slivers of
insulation from a wire and fit that over the male pins so I have a
permanent color coding on the pins.
> Can the PortF pullup resistors be used when in ADC mode? Atmel's
> datasheet doesn't seem to be too clear on that (or I didn't read the
> right page).
I'm pretty sure that this is the case. Even when you're using PortF as
GPIO, you can still sample the input on the ADC, because the MUX is
permanently connected to the pins.
> I'm guessing that you would program this from the Gumstix, over SPI? I
> really like the idea of making this board so that it could be used
> standalone. All that I see that's needed for that is an ISP header --
> the 6 pin version would be sufficient. The sales of [initially]
> standalone Robostix boards would probably lead to additional sales of
The actual programming takes place using PE0 and PE1 which are the
RXD0 and TXD0 pins. It would be possible to create an ISP adapter
which plugged into the 60 pin hirose connector (sounds like another
If you programmed a booloader while it's attached to the gumstix, then
you just upload new programs over the serial port and wouldn't even
need a programmer. This is what I normally do with my AVRs.
> Overall, I really like the design. All of the pins with special
> functions I would likely care about seem to be available.
> Brian Davidson
> George Mason University
Vancouver, BC, Canada