B E A M - R o b o t i c s - T e k
Biology - Electronics - Aesthetics - Mechanics

Main | Electonics | FAQ's | Definitions | Solar engine | Nervous Networks | Advanced Nervous Networks | Motor drivers | Miscellaneous | Links

The Solar Engine


A solar engine is a kind of control circuit that takes micropower and converts that micropower into more powerful pulses. These more powerful pulses are usually used to power motors, but can be used to power other motion-creating devices, such as, Nitinol wire. The first solar engine was built by Mark W. Tilden in late 1989[1]. Let's attempt to understand the need for such a circuit with an analogy that will illustrate the need and show the solution.

An Analogy

The Mechanical Water Engine Let us suppose that we have a source of water and we want to use that water source to perform some work. For grins, let's say to grind coffee. Now our water source is not the most plentiful, but it does have a constant stream. So how can we devise a way to utilize this small, yet constant stream? The figure to the right depicts my solution, called a WaterEngine.

Now, let's go through the system briefly to describe the components and then we can look at the operation of the system as a whole. First we have (a) which is our source of energy, water droplets. Next, our collection device, (b) which funnels most of the water into the tank, (c) with a little spillage (loss of energy). Now once our tank gets full, we have a series of mechanical controls (d,e,f and g) that are activated when the tank is nearing the rim. This control mechanism controls the flow of water to the outlet, (h) and over the water wheel, (i), whereby the water's energy (potential) is converted into the mechanical energy required to spin a wheel via a belt.

So how does this control mechanism work? Well, when the tank's water level is nearing full, some water begins to leave the tank via the pipe, (d). The purpose of this "level detection" or "trigger" is to initiate the emptying of the tank, (c). So once the water reaches the triggering level, water flows through (d) and into the box (e) (with some minor spillage into (g). The device in (e) is essentially a spring valve that activates a larger valve in (f) to allow the water to flow from (c) through (f) and out (h). Now of course, once the water begins to flow, the tank's water level will lower and essentially cease the flow of water out (d), which triggers (e). However, our valve (e) will be activated by the flow of water coming out of (c) and through (f) up through (g). This mechanism will stay active until the flow of water stops activating (e) through (g).

The Circuit

Theory of Operation

Essentially the SE is a modified SCR (Silicon Controlled Rectifier) with supercritical feedback. I would like to point out that we are interested in the electron current, as opposed to conventional current (that is, the movement of positive charges, opposite to electron current), unless otherwise stated as so.

The following timeline are the events and circuit characteristics while charging and discharging:

So how do these diodes and transistors work?

A diode is normal built by touching two different pieces of semiconductor together to form what is called a "p-n junction." Semiconductors are materials that are in between good conductors and good insulators. A pure semiconductor is a very poor conductor of electricity. With careful chemical processing, a semiconductor can be made into n-type semiconductor--a semiconductor that contains a small number of mobile electrons that permit it to carry electric current. With different processing, a semiconductor can also be made into p-type semiconductor--a semiconductor that contains a small number of mobile holes for electrons that permit it to carry electric current. It may seem strange that a hole for an electron can allow electricity to flow, but imagine a highway packed with cars (electrons) bumper to bumper. If there are a couple of empty places (holes) in the bumper to bumper traffic, then cars (electrons) can rearrange enough that the traffic can flow. Both mobile electrons and mobile holes allow these two chemically-treated semiconductors to carry current.

When an n-type semiconductor touches a p-type semiconductor, a diode is formed. The mobile electrons at the edge of the n-type semiconductor flow over the boundary (a p-n junction) and fill the mobile holes at the edge of the p-type semiconductor. This rearrangement creates a depletion region--a region near the p-n junction in which there are neither mobile electrons nor mobile holes. This depletion region normally won't carry electricity at all. But if you push electrons onto the n-type semiconductor, they will flow toward the p-n junction and replenish the missing mobile electrons. As these mobile electrons approach the p-n junction, they will repel the electrons that are filling the mobile holes on the p-type side of the junction and reopen the mobile holes. Electrons will begin to cross the p-n junction and current will flow through the diode. However, if you push electrons onto the p-type semiconductor, they will fill even more of the mobile holes there and the depletion region near the p-n junction will grow larger and more uncrossable. No current will flow through the diode. Thus a diode (a p-n junction) only carries current in one direction--electrons can only flow from the n-type semiconductor side to the p-type semiconductor side.

There are many types of transistors, so I will only describe an n-channel Metal-Oxide-Semiconductor Field Effect Transistor, or n-channel MOSFET. In this device, three layers of semiconductors are sandwiched together: an n-type piece (the source), a long, thin p-type piece (the channel), and another n-type piece (the drain). Two p-n junctions form between these three components and, since the junctions are arranged in opposite directions, they completely block current flow from the source through the channel to the drain. But a metal surface (the gate) that's separated from the channel by an extremely thin layer of oxide insulator can control the number of electrons on the channel material. If you put even a tiny bit of positive charge on the gate, it will attract electrons onto the channel and turn it from p-type semiconductor to n-type semiconductor. When that happens, both p-n junctions vanish and current can flow from the source to the drain. The MOSFET goes from being an insulating device when there is no charge on the gate to a conductor when there is charge on the gate! This property allows MOSFETs to amplify signals and control the movements of electric charge, which is why MOSFETs are so useful in electronic devices such as stereos, televisions, and computers.

-Source unknown.

The embryonic circuit of the BEAM robotics philosphy is an energy storage circuit known as a Solar Engine(tm) (abbreviated SE) - a simple relaxation oscillator. This particular design (called a Type-1 SE) stores energy from a small power source (e.g., a solar cell) in a large capacitor until a preset voltage threshold is reached, whereby the energy is released into a motor. This is the basic device, however many variations have stemmed from this design, incorporating various motor devices, triggering circuits and mechanical layout.

Following Tilden's philosophy, the circuits that I have constructed are made of recycled parts, calculator solar cells, transistors from radios (sometimes), motors from various sources (old volt-meters, pagers, toys, etc.) with efficiency, simplicity and mechanical beauty being my primary goals. It is like bringing life back into unwanted tech-junk.

A Note from the Author

There seems to be a lot of questions and problems in replicating the device on this page. Steven Bolt of the Netherlands has come up with a potential solution called SunEater. The best advice, from my experience, is to first create the circuit described following the author's specifications and design parameter. Experiment with the circuit once you have completed a functioning circuit. If you still have problems, E-mail the list or the author. A good course of study to those just beginning in BEAM robotics would be to start out with a solar engine based device, before moving on towards more complicated circuits, such as nervous networks, like the microcore.

Relevance to Nervous Networks

The Solarengine(tm) is just a transistor implementation of a Nv "Monocore" that can drive a motor directly without the need for additional buffering (as in the more complicated Nv Networks).

In fact a SE behaves very much like a nervous network. The SE has an upper threshold (trigger voltage) and a lower threshold (shut off), and the duration of the state change (pulse) is directly affected by the motor load. In addition the "off" state (really the time held below threshold) is affected by what's feeding it (in this case the solar cell/trigger, in a nervous network - the previous Nv). So, in essence you have a quasi-chaotic phase/state-based oscillator threshold device that is self-attenuating with respect to environment in a dynamic fashion. See the FAQ for details on Nv Networks (NvNets).

Required Parts

Please when first building a SE, use the parts that I recommend. Experiment with part substitution once you have a working circuit.

M - a motor, I used anything I could find with an armature and a coil of wire. Motors with small power requirements usually work great (i.e., 3 volts at a low current rating). Coils (very fine wire with lots of turns), Nitinol wire (aka, "Muscle Wire") or diodes can also be used - however, a ten MegaOhm load is not a replacement for the motor. (A word of warning: some small recorder motors have a built-in capacitor of about 20 nanofarad. The 2-transistor FLED SE won't work with such a motor - it will start to oscillate, sometimes audibly. Without a scope, the typical symptom is `hangup' in reset. The SE fires once, then stops, the voltage over the storage cap remaining at less than 1.0V. Both SunEaters are immune to this problem, and will run such motors.)

C1 can be anywhere from 2,200F to 47,000F (or as high as 10 Farad). Depends on your application and timing requirements.

R1 can be anywhere from 1.8k Ohms to 15k Ohms. The smaller the resistance the better the starting power of M, but more energy is lost in the transistors.

Q1 - a NPN transistor, general-purpose like the 2N2222, 2N3904, etc. Cheap and easy to find.

Q2 - a PNP transistor, general-purpose like the 2N2907, 2N3906, etc. Also cheap and easy to find.

D1 - a theshold device, such as a small signal switching diode, e.g., 1N4728 to 1N4731. Since a single diode would trigger at [0.6 - 0.7] volts, we need to use multiple diodes in series. Arranging the diodes in series would give you an increased increased "trigger" voltage, thus for example, two diodes would trigger at [1.2 - 1.4] volts and three diodes in series would trigger at [1.8 - 2.1] volts. Variants:

Either variant can simply be replaced one-for-one.

Solar Cell - like a 24x33mm Sunceram Solar cell or a few solar cells swipped from calculators. I have also used several small photodiodes, which generate 0.4 volts each, in series they generate higher voltage (e.g., 2 in series generates ~0.8 volts, and 3 in series generates ~1.2 volts, etc.).


Well for those that are good at soldering, the circuit is best put together in a free-form kind of structure, that is, without any circuit board. See this alternative set of plans and picture below depict the physical layout of the solar engine-the layout is right above the circuit diagram. I believe it is the best layout, and does not require a printed circuit board (PCB). As for the mechanical layout, the best advice I can give is to start building, because your first will not be your best. When you have completed your mechanism, don't cabbage it for parts, move on to the next so that you can have a living history of mechanisms.

A solar engine using the free-form
layout without a PCB (without motor)

Debugging Information and Questions

Basic Debugging

Q: Is there a way to debug one of the 2-transistor/1 FLED Solar Engines?

A: (contributed by Richard Weait and Dave Hrynkiw)

Just a few places to start.

Solar Engine Cycling

Q: My Solar engine takes forever to cycle (power up, discharge, power up,...)?

A: Sounds like a current-generating problem to me. Solarcells from calculators are notorious for good voltage but produce low-current. Try wiring up the cells so they generate about 4 volts, which should triple the current.

Large Capacitance, Low Current Generating Source

Q: I substituted a huge 2F capacitor for C and my solar engine doesn't work now?

A: You might have to wait days if you have a poor current (say, two 18 uA at 1.3V cells in series) generating solar cell (and supposing you have a blocking diode-to prevent the discharging of the capacitor through the solar cell). A solution might be to larger solar cells (say, 3.5V at 6mA) or gang them in solar cells in parallel for more current.

Testing Transistors

Q: How do I test Transistors?

A: Although transistors are very sturdy, they can make debugging a circuit quite painful if they are defective. For those of you with multimeters that don't have a "diode check" function, put your meter on its highest resistance scale. Testing an NPN, such as the 2N3904, with your positive probe on the base (middle lead), and the negative probe on the one of the remaining leads. If it shows infinite resistance, it is defective. Then switch the negative probe to other outside pin and check it too. If should show some resistance, about 28-34 ohms. In summary, an NPN transistor is checked with the leads arranged Negative, Positive, Negative. For a PNP transistor, do the same, except put the negative probe on the base (middle lead) and use the positive probe to check the outside leads. The same resistance values should show up.

In summary, a good resistor will have the following characteristics in terms of the resistances between the leads: emitter(e), base(b) and collector(c)

Transistor Type Rbe Reb Rbc Rcb Rce Rec
high low high low high high
low high low high high high

Note: Rbe means the base positive with respect to the emitter, Reb the emitter positive with respect to the base; and the other junctions have similar designations.

Why Not an SCR?

Q: Why do all the solar engine schematics I've seen use a PNP & NPN transistor to make a modified SCR? Why not just use a real SCR? Wouldn't it be a lot smaller?

A: An SCR is a single package designed to stay on when turned on. With the 2 transistor package, you can tune it for optimal performance (the bias resistor) depending on the application or motor. Also, you can substitute for larger power transistors (2N2222 NPN) and keep the smaller signal transistor (2N3906). And I'm not sure if there are any SCRs as easily available as the npn/pnp combo that run at such low power.

Solar Engine Not Firing

Q: (Using a battery) The circuit charges great to about 1.7 volts, then the FLED starts flashing. The circuit continues to charge to the max voltage, and the FLED is flashing happily, but the transistor never fires. I know the circuit works otherwise because when I short across the FLED the motor spins and everything starts over. I just can't get the FLED to fire it. I have tried replacing the 2.2k Ohm resistor with a 5.6k Ohm - same results, then with a 1.0k Ohm resistor - same results. I then replaced the 5.6k Ohm I was using to limit current from the batteries with a 1.0k Ohm- same results, the circuit just charges faster.

A: First, two comments:

Now, since the voltage accross the resistor connected to the battery is about 3.0 - 1.7 = 1.3 Vdc, the circuit is providing only 1.3/5.6K = 0.23mA, and the circuit cannot trigger. Reduce the 5.6K to 680 to 1000 Ohms and you should have no further problems.

Electro-Magnet Solar Engine

Q: Some questions on a Magbot-style solar engine, which generates a magnetic field with a large inductance coil every time the SE fires.


Wire type for the coil?
As fine a wire as you can get. Not heavy wire, probably too heavy and not enough inductance.

Core for coil?
Air core, smallest hole possible.

Size of the coil?
Largest diameter possible. Look for something about the size of nickel to a quarter.

Strength of magnet?
Strong as possible. Try a rare-earth magnet.

Does the SE need a different resistor value, which also determines its efficiency and starting power?
Depends on the inductance of the coil you use. Start low (i.e., 47 Ohms) and up the value until it starts working flakey. Then come down down about 25% in value.

Capacitor Internal Resistance

Q: Can anyone here tell me how to go about measuring the internal resistance of a capacitor?

A: There is a difference between self-discharge and internal resistance. The latter can be determined from the time it takes for the voltage the drop a certain part of the original value when the capacitor is shorted. (To find out the first, you also time the voltage drop, but you leave the terminals isolated.)

A couple of calculations that may be useful:

T = C * R

After time T, the capacitor is discharged to 0.37 * U (where U is the original value)

uC = U * e^(-t/T)

uC is the voltage after t seconds of discharge

It may be better to short the cap using an external resistor, and calculate what *extra* resistance the cap offers.

Debugging Tip

Double check the orientation of your FLED - cathode (side with chamfer) goes negative. Solarengines will work with the FLED in backwards too, but at reduced efficiency.

Ideas and Hints

  • A circuit that charges a large (many Farad) capacitor during the day and at night (at least for a few hours) flashes an LED. The trick is getting the circuit to activate at sunset.

  • A circuit that uses a coil of wire and a magnet to produce some sort of motion (use your imagination to produce something useful). Like Tilden's Magbot.

  • Aim for a more efficient motor and a low trigger voltage, this will keep you in the linear part of the charge curve.

  • Several medium to long bursts of energy are better than a whole lot of small ones.

  • In solar engines utilizing flashing LEDs (FLED), shielding the FLED from intense light makes it much more reliable. A light-emitting PN junction is also influenced by external light. This didn't used to be a problem, but lately there seems to be quite a few FLEDS that are sensitive to light, causing them to lock up. Try using some black electrician's tape or black heat-shrink to cover up the FLED.

  • Notes and references

    [1] The first BEAM bot was "Solaroller 1.0". It was invented Nov 10, 1989 in Waterloo, Ontario at the University of Waterloo MFCF Hardware Lab (after hours) by Mark W. Tilden. It was made from two dead calculators, two dead Phillips cassette mechanisms, and several parts from Laser-printer cartridges. It has o-ring drive of the back motors, with a twist-castor as the front wheel. It would sit around for as long as 20 minutes before making a six-inch sprint, using a Happy-Birthday module as a push-pull trigger for the two 2N2222 style solarengines (very leaky, but all Tilden had at the time). Two weeks later, the first solaroller was born. Yes, backwards, but Tilden is not one for following instructions.

    Copyleft 1996-1998 Brian O. Bush

    Brian O. Bush / bushbo@mediaone.net
    Updated: Dec 2nd, 1998