BrushBot Comm Board design

A quick and cheap design for a IR based communication board targeted for the Feb 2, 2010 DorkBot batch pcb layout that will give us something to start playing with simple communication protocols. The goal is to build up a bunch at low cost that we can strap to the back of Steve’s Zipbot collection and test the efficiency of message passing protocols.

ZipBot Comm Board
ZipBot Comm Board designed in the 1/25/2010 PARTS project meeting.

Requirements

Small (0.5″ x 1″ max?)
Cheap (<$10; $5 stretch goal)
Bidirectional IR communication over short (<2″) distances
Self-contained (battery powered)
Reprogrammable, preferably via UART to keep programmer costs down.
Preferably AVR based due to group familiarity
Preferably Arduino compatible for ease of accessibility by newbies

Schematic

Version A1 (Ordered!):

Version C2: (Ordered!)
NOTE 1: Some component part #’s like the transistor and catch diodes are not correct — they are just placeholders.

NOTE 2: There is a mistake on D6 and D7.  They need to go to V+ so they are across the motors, not to ground as they are here.  Original boards all have this error.

Layout

1st pass complete. This one does not not use battery holders. Instead, there is a positive and negative terminal on the bottom that two button cells can be pressed up against. A bus bar on the other side of the batteries completes the circuit. I figure we could laser-cut some acrylic for a battery holder.

Version A1 (Ordered!):

Version C2 (Ordered!):

Assembled board

Click here for assembly details.

Version A1:

Version C2:

Version C2 w/ Battery Board:

Software

Arduino Support

Testing

Results from various testing to determine component values, software parameters, etc.

Components

Price breaks chosen for a target of 20-25 units.

Board

0.5″ x 1″ — $2.50/3; double-sided; solder-mask & silk screen

0.7″ x 1″ — $3.50/3; double-sided; solder-mask & silk screen

Processor

attiny44A — $1.37 (25); soic14; 12 IO; 1.8-5.5V up to 4MHz; 2.75.5V up to 10MHz; 4.5-5.5V up to 16MHz (8MHz internal osc)
No hardware UART — implement in software
No native Arduino support (ditto for all atTiny’s), but may be able to leverage work of LumiNet project?
0.35mA @ 2.7V, 1MHz; 1.1mA @ 2.7V, 4MHz; 2mA @ 2.7V, 8MHz (“active current draw”)

attiny84v — $1.85 (25); soic14; 12 IO; 1.8-5.5V up to 4MHz; 2.75.5V up to 10MHz (8MHz internal osc)
Twice the flash as the tiny44; A bit higher power draw, (not a “A” version)
0.37mA @ 2.7V, 1MHz; 1.5mA @ 2.7V, 4MHz; 2.5mA @ 2.7V, 8MHz (“active current draw”)

attiny2313 — $1.55 (25); soic20; 18 IO; TOO BIG
Hardware UART
No native Arduino support (ditto for all atTiny’s), but may be able to leverage work of LumiNet project?
Significantly larger footprint than the attiny44Aatmega168 — $2.71 (25); tqfp32; 23 IO; TOO B
IG
Overkill for this board, bigger and more expensive than desired, but has a UART and is natively supported by Arduino

IR Receiver

TSOP36238TR — $1.43 (1); 7.5 x 5.3 x 4 mm SMT; 950nm; 38kHz; 2.7-5.5V; top view though (side view wo
uld be preferable)
1.2mA @ 3.0V?

GP1UX311QS — $0.58 (10); 8.8 x 5.5 x 5.3 mm T/H; ???nm; 38kHz
; 2.7-5.5V; side view0.27mA @ 3.0V
— Does not work well with two hearing-aid batteries — supply requirement too high.  Actually worked best with emitters modulated at 1/2 frequency for some reason.

TSOP34338 — $1.085 (10); 6.95 x 6.0 x 5.6 mm T/H; 950nm; 38kHz; 2.5-5.5V; side view; 35mA @ 3.3V — Works well with two LR44 sized batteries.

IR Transmitter

NOTE: Dimensions below in the form of H x W x D, where H is the distance to the LED’s t
op from the top of the PCB.Power: Assume target of 1mA @ 2.7V.
LTE-302 — $0.20 (10); 5.72 x 4.4 x 2.25 mm T/H (2.54mm pitch); 940nm; 40deg; side view
t=”_blank”>GL4800E0000F
— $0.30 (10); 5.6 x 3.0 x 1.5 mm T/H (2.54mm pitch); 950nm; 60deg; side view
APECVA3010F3C — $0.216 (25); 1208 SMD (1 x 3 x 2); 940nm; 12
0deg; side view

Surface mount, so wouldn’t be able to adjust angle.

LEDs

Power: Target 1mA @ 2.7V

Pete has some surplus 0603 sized LEDs we can use

Battery

Single Li Coin cell? Many have pretty high internal resistance though.What’s our expected current draw? Looks like ~2-5mA.
LR44
> — $1.12/2 (50 pairs); 11.6 x 5.4 mm; 1.5V; 115mAh; 20 ohms;What the BrushBot uses. Would need two to get >2.7V for microcontroller and sensor.
357-303 — $0.98 (100);
11.6 x 5.4 mm; 1.55V; 175mAh; 2-8 ohms
Same size as LR44Would need two to get >2.7V for microcontroller and sensor.ZA675 — $5.62/6 (10 sets); 11.6 x 5.4 mm; 1.4V; 650mAh; ? ohms (
title=”Renata ZA675 zinc-air hearing aid battery data sheet” href=”http://www.renata.co
m/pdf/hearingaid/DBZA675maratone%20V03.pdf” target=”_blank”>data sheet
shows a cont
inuous draw of ~2mA, and pulses up to 24mA)Same size as LR44
Hearing aid battery — air activated, so limited life time once activated.
Would need two to get >2.7V for microcontroller and sensor, but that doesn’t give much margin.
AC675 — $4.14/4 (10 sets); 11.6 x 5.4 mm; 1.4V; 635mAh;
Same size as LR44
Appears to have a higher internal resistance than ZA675 (lower voltage under load shown in datasheet)
Hearing aid battery — air activated, so limited life time once activated.
Would need two to get >2.7V for microcontroller and sensor, but that doesn’t give mu
ch margin.
Smaller optionsAC13-4AP — $4.14/4 (10 sets); 7.9 x 5.4 mm; 1.4V; 280mAh; NO HOLDERSZA13DP6 — $4.90/6 (10 sets); 7.9 x 5.4 mm; 1.4V; 280mAh; NO HOLDERS

Battery holder

Keystone 2997 — $0.42 (1); for 11.6 x 5.4 mm batteries; through-hole; slide-in
Fits LR44 sized batteries
Requires ~0.675″ of board width to accommodate, which would exceed the desired 0.5″ wid
th, but would still fit the bot chassis.

??? — $???; for 7.9 x 5.4 mmNone??? grrr…

Power Switch

EG2632 — $0.53 (10); slide; side; SMT; 7.2 x 6.0 x 3.5 mm (footprint)
PCM12SMTR — $0.78
(25); slide; side; SMT; 7.7 x 3.5 x 1.4 mm (footprint)
Jim Larson has had bad experience with a similar C&K switch — knob breaks off too easily

CUS-12TB – $0.77 (10); slide; side; SMT; 7.7 x 3.5 x 1.4 mm (footprint)
SSSS811101 – $0.71 (10); slide; side; SMT 7.7 x 3.5 x 1.4 mm (footprint)

AYZ0102AGRLC — $0.86 (25); slide; side; SMT; 7.2 x 4.3 x 1.5 mm (footprint)

Transistor (optional)

SOT23 package, FET. Pinout is pretty standard, so many options here.
Logic level, 1A or more.

PMV56XN,215 — $0.101 (100); SOT-23; 3.76A; logic-level; 56mOhms

Catch diodes (only if install transistors)

SOD323 package, Schottky, fast recovery. Many options here.
1A or more.

NOTE: the original Comm C board has these wired up wrong — they need to go across the motor (so from the FET’s drain to V+), not across the FET to ground.

SDM100K30L-7 — $0.41 (10); 30V; 1A continuous

PMEG3010CEJ,115 — $0.12 (25); 30V; 1A continuous; 7A repetitive peak

PMEG3005EJ,115 — $0.20 (25); 30V; 0.5A continuous; 7A repetitive peak

Connectors

0.05″ pitch. Samtec.

11 thoughts on “BrushBot Comm Board design”

  1. I mentioned the cheap basic RF wireless solution I stumbled across once… Here are links to the TX/RX boards I found. Not too bad for less than $10 per TX/RX set:

    315 MHz – TX: http://www.sparkfun.com/commerce/product_info.php?products_id=8945
    315 MHz – RX: http://www.sparkfun.com/commerce/product_info.php?products_id=8947
    434 MHz – TX: http://www.sparkfun.com/commerce/product_info.php?products_id=8946
    434 MHz – RX: http://www.sparkfun.com/commerce/product_info.php?products_id=8950

  2. Good point. My main interest in Arduino compatibility was to make it easier for those new to the group w/o much microcontroller experience to get started, but, we got by pre-Arduino and we can help others get started with gcc, CodeVision, or something else. We can provide skeleton code that takes care of the hardware setup and transmitter modulation and directions on how to compile and download code.

  3. 1. Is there a pad for V+?

    2. Did you decide not to add motor drive capability? I suppose it could be hacked on using an NPN transistor, with its base connected to one of the unused AVR pins through a current limiting resistor. The emitter could go to ground, and the collector to the – terminal of the brushbot’s motor…. then wire the grounds of this board and the brushbot together.

  4. 1.) No pad for V+, at least not yet… I wanted to stick one at the bottom (there’s no room at the top, after all), but V+ isn’t routed down there yet. I might be able to route down under U1.

    2.) I really wanted to add a couple transistors, but I’d have to grow the board to do so. If I do so I’ll stick in protection diodes too, and preferably base resistors for noise protection.

    The ZipBot chassis is big enough to allow for growing the board, which I was avoiding to keep the cost down, but it may be worth doing for the motor control and a header for battery connection. Oh, the feature creep! 🙂

  5. The ATTiny44 comes in a QFN package as well, which could open up some room, and with the laser-cut solder paste stencils, they’re really no harder to solder..

  6. I was briefly tempted by the QFN package, but I worried that I might scare people off. Not that this current version with SOIC’s and 0603’s won’t. 🙂 I figured I’d keep this one hand-solderable, though the hot-plate/toaster oven method is definitely the plan.

Leave a Reply to Pete Skeggs Cancel reply

Your email address will not be published.