Introducing BreadBeast!

Hello Everyone! We're pleased to formally introduce you to BreadBeast, the first BreadBro Accessory!

BreadBeast is a breakout board designed to turn any solderless breadboard into a robot. By using header pins as structural elements and connecting to the breakout with headers on the PCB, a breadboard can be suspended between two sets of wheels. Right now, BreadBeast is just an early prototype, but we're working fast.

Why BreadBeast?

Robotics is one of the larger application areas for open hardware tools and techniques. Many novices are introduced to the world of Arduino through one of many robot kits. The public fascination with robotics is a big driver in getting new people – especially students and kids – involved in the Open Hardware movement.

There's a downside to many robot kits, though. They can be a little confining. For example, if your robot kit doesn't include a breadboard mounting point, expansion slots, or header pins, it can be hard to expand. Even with some modular kits, you can be limited by the space available.

Solderless Breadboards, on the other hand, are one of the most versatile learning tools available in engineering. Not only can you learn how to build basic circuits, you can build complex projects without committing to a permanent assembly.

We set out to create a robotics kit that can take advantage of the complete expandability of the solderless breadboard – a breadboard on wheels, or tracks, or whatever. This way, the transition from learning basic electronics and programming concepts to learning about robotics can be as painless as possible.

BreadBeast Prototype

The current BreadBeast prototype is a breakout board that spans both sides of a breadboard. The breakout interfaces with the breadboard through twelve “Dead” header pins – they're only structural, not electrically active. The breakout spans the width of the breadboard and then some, overhanging by about an inch. Underneath each overhang, a DC Gearmotor is mounted using zipties and three beads of hot glue. On the underside of the PCB, there's circuitry for a TB6612FNG dual motor driver IC, but it's not implemented yet – right now, the prototype is being used as a structural test article. We're using a TB6612FNG, but right now it's on a Sparkfun Dual Motor Driver breakout.

Using the TB6612FNG requires seven control pins: three for each motor and a standby pin. Since our prototype uses four motors and two drivers, that's fourteen pins – waaay to many. Users need to have pins left over for sensors, controllers, and all sorts of stuff. We decided to use an ATTiny Microcontroller to provide a software serial interface. A development board with software serial support uses two wires to communicate with an ATTiny. The ATTiny uses custom firmware to interpret the serial message and control the TB6612. Using this method, two motors can be independently controlled with only two pins, and a breadboard can become a robot with only four pins from a microcontroller.

Our current prototype uses an ATTiny85 to control a single motor channel. This is due to parts on hand and the desire for our next iteration to be on its own, new PCB. Since an ATTiny85 only has 5 GPIO pins, we're limited to controlling one motor while using software serial (3 for motor control and 2 for serial). In the very near future we'll be switching to an ATTiny84, which has sufficient GPIO pins to control both channels of the TB6612.

The current prototype has shown that it can support a breadboard and move. It's a bit slow, but it has a ton of torque. We've also tested the communications system in a limited way – as much as possible with a Tiny85 instead of a Tiny84.

Future Development

We're developing BreadBeast for sale as a kit to turn any breadboard into a robot. To that end, we're making several changes to the current prototype.

First, we're building two designs: One version that has two motors and can use treads or Mecanum wheels, and one version that has one motor and a ball caster. The primary motivation is price – gearmotors are expensive, and we want to get robots onto breadboards everywhere. By making this change, we start to approach a price point of around $40 USD for a set of two BreadBeasts.

Next, we're integrating power supply. In our tests, we've found that both the TB6612 motor driver and the gearmotors are quite happy at 2.8 – 4.2 volts – the typical range of a LiPo battery. Our intention is to integrate the motor power supply onto the breakout with USB charging. For example, You would charge both BreadBeasts in a kit, then install them on your breadboard. That way, a user doesn't have to worry about an external power supply for their robot – just charge, wire and program!

Finally, we're developing a library to abstract software serial usage. Our hope is that you can use code that looks a bit like this to control the robot:

breadBeast Beast(3, 4, 5, 6) // RX Left, TX Left, RX Right, TX Right

void setup() {
Beast.begin();
}

void loop {
//move forward for one second
Beast.forward();
delay(1000);
//stop
Beast.stop();
}

Community Input

We're asking for your input on this project, because we're building it for you. Your input helped us beyond description when we built BreadBro; we'd love your input on BreadBeast!

  1. Any thoughts on the communication system? We could use multiplexing to lower the pin count, but the TB6612FNG needs two PWM and five digital inputs.

  2. Any thoughts on the power system? Our goal is to minimize external components, ideally, just the two breakouts, four data wires, and four power wires. 3.7V isn't much, but it definitely works.

  3. How would you want to control this device with an Arduino? Library or Software Serial or both?

Stay Tuned! Production Updates for BreadBro and Development Updates for BreadBeast are coming soon!

Regards,

Mark & Steven