One of the challenges when designing a Fleaweight (150 g) robot is finding lightweight components that allow you to squeeze the most out of the limited weight allowance. The electronic components do not necessarily shrink from the Antweight (1 lb) to Fleaweight classes. The typical radio receiver and electronic speed control options for an Antweight are often also used for Fleaweights.
Since this can take up a large portion of the weight allowance compared to an Antweight, I went searching for a lighter option. I found that one option for a speed controller is the B-328 Baby Orangutan microcontroller from Pololu. The B-328 consists of an ATmega328P AVR microcontroller, a dual H-bridge capable of controlling two DC motors at about 1A continuous (3A peak) per channel with 5V-13.5V input, and it weighs in at a paltry 1.5 g without header pins. However, the B-328 requires a little more effort than a purpose-made ESC (Electronic Speed Controller) to implement in your robot.
First, the B-328 needs to be programmed for control of the motors from an RC input using a programming board to connect the board to a PC through USB (you can get the Pololu USB AVR programmer for $20 at www. pololu.com/catalog/product/ 1300). Fortunately, Pololu’s 3pi robot uses the same microcontroller, so the example code posted by Pololu for the RC 3pi can be used to program the B-328 for our purposes, as well (www.pololu.com/docs/pdf/ 0J37/rc_3pi.pdf).
After flashing the program to the controller, I removed the programming pins to save additional weight. Next, to connect the B-328 to an RC receiver, two servo lead signal wires must be connected to the proper inputs on the controller. To avoid modifying the provided code, one servo signal wire should be connected to pin PD0 and the other to pin PC5.
One servo lead’s ground wire should be connected to the ground on the pin on the B-328 so that the receiver is connected to the common ground. If a weapon ESC’s BEC (Battery Eliminator Circuit) is not providing power to the receiver, then one servo lead’s power wire should be connected to the Vcc pin on the B-328 pin to tap into the 5V regulated line.
Since I used a 2S LiPo battery, I didn’t have any issues, but for a 3S battery the B-328’s 5V line could be close to maxed out, depending on how much current your receiver requires; it is definitely not recommended for powering a servo directly from the receiver.
The motor leads need to be connected to the M1 and M2 A/B pins. Ensure each motor’s positive and negative terminals are kept consistent with A and B to avoid having to resolder or requiring additional radio programming. Finally, the battery leads should be connected to the Vin and ground pins. You now have a simple, lightweight dual motor controller for $20 (plus the cost of the USB programmer).
I used the B-328 to control two Pololu 10:1 micro metal gear motors per side on a 2S battery on my Fleaweight wedgebot Chairman Meow over multiple competitions before it failed due to a locked up motor.
With the battery and servo leads (including battery and motor plugs), the completed controller weighs just 7.5 g. I could have likely reduced that further. If you want to have a spare on hand, remember to program it and attach the necessary servo, motor, and battery leads prior to a competition to minimize swap time. The B-328 would be an excellent option for Fleaweights with active weapons whose motors aren’t expected to be highly stressed.