BEP Application: Bare Bones PhotoVore

Solar botics
July 11, 2007
BEP04-Finished-DSCN3863.jpg We like to have some play time at Solarbotics, and the "Bare Bones Photovore" is the results of one of these play sessions. It's a very simple (amongst the simplest, we'll hazard to say) light-seeking solar-powered robot, and find it easy to build using the Bicore Experimenter's PCB.New Development: We've just discovered that we've reinvented the wheel! Original kudos to Math Vos, on his "LightHead 2" (here's the circuit) which he developed (when? No idea...) to make a very simple headbot. Andy Pang even did a tutorial on how to do it! Well, at least we were first to put it into a photovore...

So How do it Work?

The operation of this device is very simple, so simple in fact that it need not be explained!


...or maybe it'd be a good idea anyways...

Eyes: A voltage divider is created using two reverse biased photodiodes. Why reverse biased? If they are forward biased, they would short out the power supply and that usually ends up being a bad thing. Basically a reverse biased photodiode acts like a photoresistor, meaning that the resistance varies with light intensity. The voltage at the center of the voltage divider will vary with changes in light level.

Brains: The voltage divider output is fed into the input of an inverter, specifically a 74AC240 inverter. These inverters have the property of switching at close to 1/2 +Vcc (1/2 the power supply voltage). This combined with the tight tolerances of photodiodes usually make tuning unnecessary.

Brawn: This signal coming from the outputs of the 74AC240 gate is inverted so that either one or the other motor is moving, but not both at the same time. Depending on how the motors are arranged it can either be running towards or away from light. It can also spin on the spot if one motor is connected backwards, which is amusing, but ultimately useless, so why bother?


Solar Engine

Basically, what a solar engine does is store the power from a solar cell in a storage capacitor. When the charge voltage reaches a certain level it is dumped to the load, in this case being the motors. The solar engine would be unnecessary if the solar cell could power the robot directly but this would seriously limit the lighting conditions it could run in, not to mention the size of the solar cell needed.

We opted to go with the efficient and versatile Miller Solar Engine (MSE). The MSE works by switching the ground line of the load circuit through a transistor. When the transistor is off, the storage capacitor is separated from the rest of the circuit so the the capacitor can get charged by the solarcell.


Optional Tactile sensors

The tactile sensors are a bit of a kludge as they basically force the voltage divider high or low. The problem arises that if both sensors are triggered at the same time, they will cause a short circuit. This problem is avoided by putting a series resistor with one of the tactiles, a simple 1K resistor seems to do the job.

Circuit Diagram:


Wiring Diagram:


Here's a collection of the circuit diagrams in a nice, high-quality 31k PDF

Assembly procedure:


1. Collect all your parts:

Or click this link to add them to your cart.

Parts list:

1 - MD2 BEP board
1 - MSE1.0 BEP board
1 - 25c BB1
1 - 74AC240
2 - Photo diodes
2 - RM1 motors
2 - Paperclips

Solar Engine:

1 - 1N914 diodes
1 - 1381 "G" trigger
1 - C2 0.47µF capacitor
1 - Solar cell (SC3733)
1 - C1 3300µF capacitor

Tactile sensors:

1 - 1K resistor
2 - Pins
2 - Sensor springs


2. Soldering components on the BEP

Lets solder components into the BEPs. Start with the 74AC240, and mount it into the MD2 board. Please take care to solder it in the right way, as these are a pain to desolder.

With the MSE1.0, the 1381 value is "G". The transistor is a 2N2222 and the C2 value is 0.47µF. We'll deal with the C1 later.

Power is routed to the 25c BB1 board via two jumper wires, which also act as anchors to the MD2 PCB. Try to angle the 25c BB1 board at a 45 degree angle.


3. Solder bridges on the MD2

There are four solder bridges that need to be made on the MD2. Group the input pads into two sets, and the output pads by flowing solder over these sets of pads.

The purpose of this is to supply more drive current to the motors as well as keeping any free gates from floating.


4. Add the C1 3300µF cap to the Solarengine

Here the '+' side of the 3300µF cap is soldered into the '+' rail of the MSE PCB. For convenience, the '-' side of the capacitor is soldered to the diode's cathode (the side with the stripe).


5. Power jumper to Solarengine

As each of the BEP pcbs have a ground trace running around the edge of the board, it's an easy task to join the ground of each board together. Just flow some solder from the edge of one PCB to the other.

The Vcc (+) needs to be wired with a jumper to the MD2 board so they both share a common Vcc.


6. Front skid

To make a skid point for the nose of your robot, take a paperclip and snip off one of the elbowed lengths. Solder the round part of the paperclip to the angled 25c BB1.

This solution isn't very fancy, but it is cheap, light and should last a long time provided its not running on sandpaper. You did get rid of that sandpaper flooring in favour of hardwood, right?


6. Adding the motors

A couple short lengths of paperclip were soldered directly to the motor, then soldered to the MD2 board. The motors are angled downward at approximately 45 degrees.

The side profile of the photovore shows that it is quite "flat". Since the motors are angled downward, it helps reduce drag if the motors point in a parallel direction, which means they're not twisted inwards or outwards - just in line with the side edge of the PCB.

Once you are satisfied with the angle the motors are set at, solder in a cross brace to make the motor mount more rigid.


7. The eyes

Solder a pair of photodiodes into the front 25c BB1 board. It's not critical which pads you choose, just as long as they're facing frontward and outward.

Shown here are the eye connections. The white wire is the center connection between the eyes (from anode to cathode). The lower left connection is to the outside ground rail so this is the anode of the photodiode (long lead). To the bottom right is a connection from the cathode of the other photodiode to the +Vcc rail running down the center of the 25c BB1 board.


8. Output to input cross

The green wire here shows the connection between the output of a group of inverters to the input of the other inverters. What this does is ensures that the outputs will always be complementary to each other, when one output is high then the other output is low.


9. Voltage divider

The blue wire shown here connects the center of the voltage divider to the inverter input. This is the group of MD2 inputs that the green wire was not connected to.


10. Motor wires

The motor polarity shown here is correct and will move the photovore forward and towards the light.

The connections of the motor between the outputs of the MD2 to ground. If a motor is running backwards, correct it by simply reversing the motor connections.


11. Adding the solar cell

Sticky tape the solarcell. Or use glue. Chewing gum? Road tar! You decide.

This close-up of the solar cell connections shows the positive from the solar cell can go to any '+' on any board as this is a common connection.

The negative solar cell connection must connect to the '-' solar cell input, which connects the solar cell in parallel with the 3300µF storage capacitor.


12. Done!.. sort of...

Finishing this step means you have a solar powered bug that seeks light but is ill-equipped to avoid running into things. It needs some tactile sensors.

At this point, we've added some hobby-store silicone tubing to the motor output shafts for better traction and quieter operation.


13. Adding the tactile sensors

The pins shown here are soldered to the center of the voltage divider.

The spring to the left is soldered to a free pad and the spring to the right is soldered to the nearest ground rail.

Underneath a 1K resistor is soldered from the +Vcc rail to the free sensor spring.

The idea here is that one tactile will connect the voltage divider to ground, and the other tactile will tie the voltage divider to +Vcc. The resistor prevents a short when both sensors are triggered.


14. Finished!

Done and done.


  • Troubleshooting? What could possible go wrong with such a simple design? Tch, tch...

  • If the motors don't move at all the problem is most likely with the solarengine, so concentrate your search there. If the solar engine seems to work fine then check that you actually jumpered the MSE '+' connection to the MD2 board.

  • If the motors move but the light falling on the eyes doesn't seem to affect which motor fires then check the voltage divider. The connection from the voltage divider may be going to the wrong set of inputs.

  • Another problem may be the solder bridges, check for any shorts that aren't supposed to be there.


Other Musings and Hints:

  • This device has the ability to run under solar or battery power, all that's needed for battery power is a switch and a battery.

  • As with all devices using the 74XX240 don't try running it with a 9V battery, the chip can't handle the voltage and will most likely turn into magic smoke right before your eyes. Keep the voltage below 6 volts!

  • Hey! If you turf the other motor, and wire up a single motor between the outputs, you get the "Bare Bones Photo Head"! This one uses a VPM motor for seemingly-invisible motion:


  • An older Shok popper, similar in size and performance but with a few extra parts.BEP04-Old_shokvore-DSCN3898.jpg

Copyright © Solarbotics Ltd., 2003, all rights reserved.


May 27, 2019
Exciting New Product - Cyber:bot - Robot...

 The cyber:bot robot adds a tangible hardware dimension to Python-focused computer science, CTE and cybersecurity programs.  The cyber:bot robot puts the BBC micro:bit module on the Parallax small robot form factor that's a proven STEM success in classrooms from middle school into college, leveraging the add-ons available for this chassis. A user-transparent onboard Propeller Multicore […]

August 8, 2017
LED Earrings

The idea of adorning oneself with glowing bits has been around forever, but instead of smearing ourselves with phosphorescent jellyfish or placing fireflies in ears like some uncivilized cavemen we went for simple LED earrings. We made a build that involves a simple slow-scroll RGB LED and a few reflective bits to bounce that pretty […]

July 10, 2015
Friday New Product: Grove

Grove - 4-Digit Display $7.25 4 digit displays are usually a 12 pin module. In this Grove gadget, we used a TM1637 to scale down the controlling pins into 2 Grove pins. Wireless USB Adapter $16.50 USB WiFi (802.11b/g/n) Module: For Raspberry Pi and more. Grove - Screw Terminal $3.50 Grove - Screw Terminal with […]

June 27, 2011
Postal Services Resume

It looks like Canada Post employees are going back to work. This means that everyone who is waiting for their order should see it sooner than later, and our free-shipping is back in effect. We'll start sending out all the back orders right away (they should all hopefully go out within the next couple days), […]

1 2 3 253
Solarbotics Ltd Logo
Solarbotics has been operating for more than 25 years, bringing electronics know-how and supplies to both the electronics professional and hobbyist. We'll be happy to help you too!

Solarbotics, Ltd. is not responsible for misprints or errors on product prices or information. For more information, please see our Terms and Conditions.

Warning: This product contains chemicals known to the State of California to cause cancer and birth defects or other reproductive harm.
Please visit for more information. This item was manufactured prior to August 31, 2018.

Copyright © 2024 Solarbotics Ltd. All Rights Reserved