XS Boost - Chef’s Salad Solar Robot

Like most robot builders, I tend to accumulate interesting parts and experimental concepts that never end up being necessary in an ordinary robot design. So, every once in a while, I build a robot without a purpose just to try out a bunch of new pieces and reduce the pile.

XS Boost is a chef’s salad robot -- a hearty combination of things that were lying around.

XS Boost compared to an ordinary soft drink can The license plate on the turbo Supra of my good friend, Trung

Left: XS Boost compared to an ordinary soft drink can. Right: The license plate on the turbo Supra of my good friend, Trung

The robot is actually more difficult to photograph than it might seem. Being solar powered, the robot kept driving away.

Vital Statistics

Base Dimensions: 9 cm width x 9 cm length x 7 cm height (excluding sensors and solar cell)
Total Mass: 181 grams
Power Source (solar): 5.5 V (open circuit) 30 mA (short circuit) 37 mm x 66 mm solar panel
Power Source (battery): 2 x 1.2 V N-cell NiMH rechargeable
Speed (solar): 1.5 cm/s (swapped gears, in summer, sunny), 0.24 cm/s (as pictured, in sunny winter)
Speed (battery): 6.30 cm/s

XS Boost overhead / head on Tiny solar cell for light sensors

Left: XS Boost overhead / head on. Right: Tiny solar cell for light sensors

Solar Cell Sensors

Part: Siemens BPW-34 1/8in. square solar cell. Solarbotics #SCPD $1.35.

XS Boost is a photovore (light eater); a light seeking robot.

The robot uses tiny solar cells on the ends of two, long, #22 AWG solid wires to determine which direction is more brightly lit. As such, the robot drives around looking for the brightest spot in the room. The bright light encourages the robot’s movements with greater power generation on the solar panel.

Although ordinary photoresistors would work equally well for determining brightness, every little drop of electricity matters for a solar robot. Whereas photoresistors require a current to be passed through them by the power source, tiny solar cells actually generate power!

Solar sensors don’t provide enough current to be worth routing to the motors, but at least the sensors pay their own way.

National Semiconductor LMC6772 comparator DIP

National Semiconductor LMC6772 comparator DIP

Comparator Brains

Part: National Semiconductor LMC6772 Dual Micro-Power Rail-to-Rail Comparator. DigiKey #LMC6772BIN $2.60.

A comparator chip compares the voltage generated by the left solar-cell sensor to the right solar-cell sensor to determine which motor to engage. This is a popular technique for controlling an autonomous robot without a microcontroller. A complete description of this mechanism appears in the book Robot Building for Beginners.

The robot described in the book is a line follower. But, by simply bending the sensors forward and up (rather than down at the floor), the line follower is turned into a light seeker.

The LMC6772 comparator was chosen for its very low power usage. (A standard LM393 would be adequate, but its power usage is not as desirable on a solar robot.) The LMC6772 also features rail-to-rail inputs, which is nice to have for other experiments, although unnecessary for sensors generating a maximum of approximately 0.5 V.

Panasonic BP-37663 solar panel

Panasonic BP-37663 solar panel

Solar Panel

Part: Panasonic Sunceram II BP-37663. Solarbotics #SC3766 $8.50 (no longer available)

The primary power for XS Boost is a solar panel. It is attached to the robot with a Molex KK connector and #22 AWG solid wire for support and positioning. To prevent stress on the panel’s solder joints, two blobs of silicone adhesive hold the wires against the middle of the back of the panel.

Because the robot is larger than most BEAM solar robots, the solar panel can also afford to be a lot larger (37 mm x 66 mm) and heavier (glass cover).

And yet, the solar panel only covers a third or so of the top of the robot’s surface, and the glass is awfully heavy (around 10 grams). Switching to a pair of thin, lightweight (less than 1 gram), plastic, 100 mm x 35 mm solar panels would likely improve performance.

Miller Solar Engine

Most solar panels do not provide enough power to allow loaded motors to run continuously. As such, most solar robots operate in bursts; storing solar power for a while, running for a while, storing for a while, running for a while, and so on. There are many possible circuits to perform this function.

XS Boost uses the classic Miller Solar Engine circuit - popular in many BEAM robots. Basically, the solar panel directly charges a capacitor (3 x 4700 µF in this case). When the Panasonic 1381 voltage detector determines that the voltage has risen high enough in the capacitors, the capacitors are discharged across the motors under the direction of the brain portion of the circuit.

The key to the Miller circuit is to attach a tiny capacitor to the 1381, along with a diode, to ensure the tiny capacitor is only used to feed the 1381. As such, the 1381 will stay turned on even after the main capacitors discharge below the voltage trip point, because the 1381 is actually reading the tiny capacitor’s voltage. Thus, the motors are turned on at a certain voltage (determined by the 1381’s trip point), and left on for a certain period of time (determined by the capacity of the tiny capacitor attached).

Panasonic 1381 voltage detector in a socket

Panasonic 1381 voltage detector in a socket

Part: Panasonic CMOS 1381 Voltage Detector / Trigger. Solarbotics #1381E (2.2 V) $1.75

The 1381 voltage detector is available in a variety of voltage detection values, indicated by a letter on the plastic case ('E' in the above photograph). The 1381’s trip point makes a big difference in the activity of a solar robot. If the value is too low, the robot will trip often, but not move very far. If the value is too high, the robot may not move often, if at all, because the solar panel may not be able to raise the voltage high enough.

For XS Boost, the 1381 is placed in a female 0.1″-spaced connector, acting like a socket. That way, different 1381 values can be swapped in and out until an optimal balance is found experimentally for present lighting conditions.

Cook’s Twist

Since this robot’s circuit has a lot more parts than a common BEAM robot, some enhancements and rearrangements were needed beyond the Miller solar engine.

First, only one 1381 voltage detector is used. No other portions of the circuit (except the capacitor and 1381) receive any power until the single 1381 trips. In other words, the rest of the robot is asleep and not using any measurable power at all. Think of the 1381 as a power switch.

Maxim MAX660 voltage doubler and International Rectifier IRLU024 HEXFET

Maxim MAX660 voltage doubler and International Rectifier IRLU024 HEXFET

Part: Maxim MAX660 CMOS Charge Pump Monolithic Voltage Converter. Available from Maxim #MAX660CPA as a free sample or for $5.95 each. Also from Mouser #MAX660CPA for $7.03 each.

Secondly, when the 1381 trips, its output feeds into a Maxim MAX660 voltage-doubler chip. The MAX660 only requires a couple of capacitors and provides double the voltage supplied by the solar panel. In this case, the 1381E trips at 2.2 V and then the MAX660 outputs 4.4 V. (Actually, both voltages are slightly higher due to the diode connected below the 1381.)

Maxim deserves credit for their equally terrific free samples program. More than a few of my robots are chocked full of their wonderful products.

The higher voltage produced by the MAX660 comes at a cost of about 2.5 times the current usage. But, it ends up being less than 1 mA, so who cares.

In exchange, the higher voltage allows...
hold on a minute, the cat is attacking XS Boost on the other side of the room...
okay, sorry about that.
Where was I?
In exchange, the higher voltage allows the robot to use higher voltage parts, such as field-effect transistors (FETs, MOSFETs, HEXFETs).

XS Boost uses an International Rectifier field-effect transistor for powering the motors. In contrast, a 2N3904, 2N2222, 2N3906, or 2N2907 bipolar transistor is commonly used on BEAM robots.

Bipolar transistors require a lot more current to turn on a motor. A logic-level HEXFET requires almost no current and consumes slightly less of the voltage supplied to the motors. But, field-effect transistors need a higher voltage to operate more efficiently, thus the inclusion of the MAX660.

Of course, HEXFETs are more expensive than bipolar transistors (less than $0.20 each). But I think HEXFETs are well worth the investment considering how much time and care is put into a robot.

Part: International Rectifier IRLU024 HEXFET Power MOSFET. (No longer available).


At this point, the robot uses very little power while charging due to the 1381 power switch. When engaged, the rest of the circuit also uses very little power due to high quality, modern chips and power-efficient HEXFETs driven by a voltage doubler.

Although this circuit results in a real-world perceptible improvement in performance over older solar engines, all the work is overshadowed by “gas guzzling” pager motors commonly used in BEAM robots. An engine circuit that consumes 20% of the robot’s power is certainly going to be noticed if the efficiency is doubled or quadrupled, down to 5% of the robot’s power. But, beyond that, the 80%-95% of the power consumed by the motors is the best place to look for future gains.

Maxon RE 16 mm gearmotors balanced on both sides of the centered wheels. Does the robot’s frame look askew to you? Must be the camera, because the joints are square in reality.

Maxon RE 16 mm gearmotors balanced on both sides of the centered wheels. Does the robot’s frame look askew to you? Must be the camera, because the joints are square in reality.

Maxon Motors

Arguably one of the best motor manufacturers in robotics, a pair of Maxon gearmotors drives XS Boost. (Portescap is another popular high-end miniature motor manufacturer.) The difference in activity over pager motors is dramatic.

The dimensions of a small motor have a substantially negative effect on many elements of a motor itself. In particular, the thin wires are more resistive and the tiny magnets provide less magnetic force to push against. Expensive materials (rare earth magnets) and fancy winding technology is required to make up for these inherently negative factors. Cheap pager motors lack these expensive positive offsets, and are thus incredibly inefficient.

A 7 mm pager motor without load (not turning anything but the motor shaft) consumes between 30 mA and 70 mA at 3 V. Compare that to a 10 mm Maxon gearmotor that uses only 7 mA. Under load, the pager motor’s current goes through the roof, while the Maxon gearmotor only approaches the teens.

Even worse, pager motors without gearing (the norm) have extremely low torque. Not only does this prevent even small wheels from being attached to the robot, but results in the motor stalling or using up most of the power just to get moving. A stalled pager motor can easily consume 200 mA to 300 mA. It’s hard to generate enough power from a solar source, so it’s really a shame to waste the majority of it in the first tenth-of-a-second of discharge.

A geared motor has much higher torque. Not only can wheels be attached (to get over cracks and small debris), but also much less power is consumed in beginning movement. A stalled gear motor still consumes as much current as a stalled pager motor, but stalling is much less likely.

Gearmotor attached by tiny metric screw

Gearmotor attached by tiny metric screw

For XS Boost, the 16 mm gearmotors are attached to a thin bracket made of aluminum roof flashing. Unfortunately for me, I didn’t have the correct size screw for the gearhead. When I tried to substitute a too-long, too-skinny, non-metric screw, I made a fatal error. The screw slid beyond the gearhead screw threads and into the gears themselves. What I thought was the screw finally catching and holding onto screw threads was actually the screw grinding into the gear teeth.

I learned a valuable lesson about consulting the manufacturer’s datasheets to be sure the screws are not only the correct diameter, but also the correct length. How valuable of a lesson? $32.40 for a replacement gearhead.

That brings up the obvious reason why most tiny robots use surplus pager motors and not Maxon precision gearhead motors. $100 vs. $5 per motor.

One last comment on Maxon. Unlike previously mentioned suppliers, I don’t care much for Maxon as a supplier. Other than third-party surplus sales, Maxon motors are only available from them directly. When I called Maxon, I got the sense from the salesman that I was wasting his time with my small order. Additionally, he said they didn’t have overstock or special sales, nor discounts for authors, students, or reasons other than volume.

Yes, they have great motors. But, if most robot enthusiasts can’t get them, or can’t afford them, it’s difficult to be supportive of the company. I’m not expecting free samples, but it would be nice if they purposely overran a line of motors requested by a high-volume client, and then made a limited selection available to hobbyists, schools, or clubs.

N-size NiMH rechargeable cells

N-size NiMH rechargeable cells

N-Size NiMH Rechargeable Cells

XS Boost is fitted with a pair of N-size NiMH rechargeable cells for debugging purposes and indoor fun. The cells are compact and lightweight, and provide more than enough current for continuous motor operation. More information and part numbers can be found at NCell.

With the motors disconnected, the robot can recharge the battery pack via the solar cell. I haven’t bothered with a current-limiting circuit, since the solar cell provides less than the peak maximum recharging current (1/10 C or about 36 mA) in full sun. However, a Schottky diode is switched in series with the solar panel under such usage, to prevent reverse discharge through the solar cell during shadowed or less brightly-lit conditions.

Finger-friendly SPDT dipswitch

Finger-friendly SPDT dipswitch

Finger-Friendly Dipswitch

Part: Greyhill 4 Switch 16-Pin SPDT DIP. Electronix Express #17DIP4SDGRE $3.50.

XS Boost features four, finger-friendly, SPDT dipswitches (no screwdriver or fingernail required). I highly recommend trying these out on your robot, as they are a lot of fun to toggle!

Here’s how each of the switches are used on this robot:

  1. Connects the diode in series with the solar panel for battery recharging (wastes 0.4 V to 0.6 V in diode drop, so not appropriate for everyday driving of motors).
  2. Connects the battery to the circuit (otherwise only the solar panel is used).
  3. Turns on a second MAX660 to double the voltage to the capacitors (and thus the motors), increasing speed and torque. Takes longer between bursts, less energy-efficient in bright light, potential danger of overvoltage in bright light, but does allow slightly lame operation in dimmer lighting.
  4. Connects the solar cell sensors together so the robot drives straight instead of seeking light.

These dipswitches are neat in that they are double throw, not just single throw like most dipswitches. For example, this means you could connect one pin to +V and one pin to GND to represent logic values without a pullup resistor.

Tilt switches wired in OR configuration

Tilt switches wired in OR configuration

Upside-Down Detector

Although not likely to roll over due to a high-speed crash, XS Boost has a pair of tilt sensors that disconnect power if the robot is turned over. There’s a little metal ball inside of a metal tube that makes contact between the tube and a wire when the ball is at one end of the tube. Another wire connects to the tube itself. So, the wires are connected when the ball is resting (in this case) at the bottom of the tube.

I was concerned that power might get accidentally disconnected as the ball rattled around inside the tilt sensor during the robot’s bumpy travels. To compensate for this, two tilt sensors were used, each on the opposite side of the robot. The tilt sensors are wired such that power is enabled by either or both tilt sensors. That is, both tilt sensors must be off for power to get disconnected.

In addition, the tilt sensors only disconnect the battery and solar panel from the capacitors. Thus, the remaining power in the capacitors is free to continue flowing to the circuit and the motors undisturbed. This smooths out brief bounces.

Just in case, a jumper (red rectangle located at the far right of the above photograph) allows the tilt sensors to be bypassed if the sensors become a nuisance. At this point, they’re functioning well and without incident.

A Blast

What started as an interesting pile of pieces ended becoming a fun robot and a great learning experience. The MAX660 boost for the HEXFETs ended being a very successful solar engine circuit. I wish I had a schematic to post, but I pretty much point-to-point wired the robot as I went along.

My favorite activity for this robot is to flip on the NiMH battery pack and have the robot chase a flashlight around the room or a table. As far as the tilt sensors, they’ve tricked me on more than one occasion into thinking I had a loose connection. “"Hmm, every time I turn this robot over it stops working. Oh, right, it’s supposed to do that.”


Larger-image movie of XS Boost on a picnic table Narrated movie of XS Boost driving on an asphalt driveway

Left: Larger-image movie of XS Boost on a picnic table. Right: Narrated movie of XS Boost driving on an asphalt driveway

Click each of the above pictures to see movies of XS Boost in action.