This blog is another entry exploring interesting bits of electronics hidden in everyday items much like the previous blogs on solar garden stake lights and flickering LED candles. Solar powered novelty items such as this dancing hula girl have become very inexpensive and common place. Looking from the outside, it consists of a small solar panel to harvest power from ambient light and some sort of electro-mechanical “motor” or pusher that makes her wiggle back and forth. A typical example, as shown in figure 1, costs $1.00 each at the local dollar store.

Figure 1, Typical solar dancing hula girl

Inside the toy are mechanical levers connecting the upper and middle body parts to a small permanent magnet hanging just above a coil of very fine copper wire. The coil is offset slightly such that the magnet hangs directly over one side of the coil.

The complete circuit is shown in figure 2. There are a total of four electrical components. A small solar panel, a 470 uF 10 V electrolytic capacitor, an air core 18 mH (with 300 ohm internal series resistance) inductor / pulse coil and a small circuit board with a black blob on it.

Figure 2. Solar powered motion toy circuit

Under this blob is the integrated circuit chip. It provides the correctly timed pulses to the coil and magnet combination. The integrated circuit is more or less just a low frequency oscillator which runs at approximately 1 Hz most likely driving an open drain NMOS switch ( output on pin 3 ) which periodically connects the coil to the - terminal. The circuit pulses the 18 mH coil causing the small magnet to swing. When everything is in sync the hula girl dances. I assume the 470 uF capacitor serves to store up the current from the solar panel and provide a slug a current when the coil is pulsed.

The small solar panel is made by Putian Weite Electronics Co. ,Ltd. From their web site the device used is a low light, amorphous silicon type solar cell, shown in figure 3. VIMUN SC-3012-2A, 29.44mm×11.6mm×1.1mm, 4 cells. The following specifications were listed, 2.0 Vos, 9.0 UAsc, 1.5 Vop, at 200Lux.

Figure 3 Small Solar panel.

To better test the components I deconstructed the toy. Using cut up pin jumper wires soldered to the solar panel and circuit board as shown in figure 4 makes connecting them to a solder-less breadboard easier. The very fine wires from the coil of course are very difficult to solder to, so I glued a small scrap of circuit board edge connector to the plastic base and soldered the fine wires to that before adding the pin jumpers. The coil is glued to the plastic base and would not be easily removed without damaging it, so it was left as is. You could of course carefully cut away parts of the base to make it smaller.

Figure 4. Deconstructed parts.

So that’s all there is to this dancing hula girl, but what else can we do with these parts to learn about electronics? The first thing to do is take some measurements of the overall circuit under different conditions. Below is a table of the results powering the circuit in figure 2 from a 1.2 V AAA NiCd cell, a 1.5V AAA cell, a 3V coin cell battery and the solar panel illuminated by a 60 W incandescent bulb.

Table 1.

It seems that the magnitude of the power supply voltage has a minimal effect on the oscillator frequency and pulse width. When using the solar panel the voltage across the capacitor sags to about 1 V when the coil is pulsed and then slowly re-charges to 1.4 V from the solar panel.

The little circuit board makes a pretty good LED flasher as well. Just connect the LED and a series current limit resistor in place of the coil, figure 5.

Figure 5 Use as LED flasher

You would think that the oscillator would operate at the same frequency independent of the load but using the circuit in figure 5 with a 3 V coin cell and a red LED with a 100 Ω series resistor the frequency was 5.46 Hz with a pulse width of 17.5 mSec. With the LED load the voltage swing seen at pin 3 is from nearly 0 V ( WRT pin 2 ) when the LED is on and about 1.2 V when off. This happens because the LED stops conducting when the voltage from pin 1 to pin 3 is less than the turn on voltage of the LED (about 1.8 V). Whereas for the coil load the voltage swings the full amount from 0 V to the battery voltage ( about 3 V ). This difference obviously has an effect on the oscillator frequency.

Further testing using a just a 1 KΩ resistor as the load and a variable power supply for the top of the resistor showed that the oscillator ran at this faster frequency until the variable supply ( and thus the peak swing ) was just a few 10s of mV less than the battery voltage. The frequency and wave shape quickly transitions to the slower mode as the voltage reaches the battery value and beyond. Clearly the internal circuitry is sensing the output swing on pin 3 and does not fully reset unless the voltage reaches the supply.

To further investigate the oscillator, I reassembled the mechanical parts with the permanent magnet suspended over the coil but with the electronics outside the case so I could observe the switching waveform across the coil. Below in figure 6 is a screen capture of the Analog Discovery scope channel 1 orange trace capturing the voltage at pin 3 ( figure 2 ) and channel 2 blue trace the supply voltage at pin 1 ( figure 2 ).

Figure 6 coil waveform with magnet

We first notice that the frequency now in more like 2.2 Hz. So clearly the swinging magnet is changing how the circuit functions. If you stop the magnet from swinging the frequency slows to the 0.8 Hz we measured before. The next thing about the waveform in figure 6 we notice is that the coil voltage goes above the supply voltage for a little while and then swings below the supply voltage. This extra voltage is induced in the coil by the swinging magnet. This induced voltage and the circuits sensitivity to the voltage with respect to the supply is acting as a feedback signal locking the oscillator to the natural frequency of the mechanical system and the swinging magnet.

In figure 7 we have a long persistence screen shot. Now we can see that the on period of the oscillator remains constant but the off period changes over time to stay in sync with the magnet as it swings.

Figure 8 Oscillator persistence screen shot.

To further test this external frequency locking, the setup was reconfigured as shown in figure 9 to allow the injection of an external sinewave. The test was done with the magnet and mechanical parts removed. The injected signal was a 1.8 V p-p sine wave at 2.5 Hz.

Figure 9 Injecting an external signal

Figure 10 is a screen shot of the output waveform ( orange trace ) frequency and phase locked to the external injected 2.5 Hz sinewave (blue trace).

Figure 10 Oscillator locked to 2.5 Hz external signal

Getting back to alternate uses, another resistor can be added to the LED flasher to make the voltage swing all the way up to the battery voltage as shown in figure 11. This will make the circuit flash at the slower 0.8 Hz rate. The added 10KΩ resistor across the LED insures that the voltage at pin 3 goes to the battery voltage when off. Using a high value resistor will not add any significant extra current when on.

Figure 11 Slow LED flasher

Also as in the Lab activity on the Characteristics of Photovoltaic Solar Cells, we have one here we can test. The one from my example generated 1.72 volts open circuit in full sunlight with a short circuit current of 5.6 mA. The hula girl will still dance under rather low light conditions. Using the removed solar panel to test the light level, I found that another copy of the toy works with as little as 400 uA of average current from the panel ( at approx. 1.4V or less than 1 mW). Just a single one of these small solar cells does not produce much power but multiple copies could be connected in series / parallel to produce more power.

Since these cells are not much use for providing power but are sensitive to low light conditions, they might be better used as ambient light sensors or as the tracking sensor as part of a control system for example a larger moveable solar array.

In addition we can learn more about inductors by building various configurations around the coil. Its high internal series resistance will make it difficult to use as part of a high Q resonator, filter or oscillator but given sufficient gain it probably can be made to work.

One idea I came across online was to hold a magnetic compass next to the coil while it is being pulsed to detect the magnetic field. The compass needle should swing back and forth in time with the pulses. You can also drive the coil from a function generator such as Analog Discovery or ALM1000. Hover the magnet over the coil and you will feel the pulses of force from the magnetic field push on the magnet.

You can also investigate transformer action by driving a 1 mH inductor, like the one included in the Analog Parts Kit, with a function generator, such as channel A of the ALM1000, and holding the 1 mH inductor close to the 18 mH coil, connected to channel B of the ALM1000 in High-Z mode. 

I’m sure there are other possible uses for these parts, so as always I welcome comments and suggestions from the user community out there.


  • Here is a link to a YouTube video of a more in depth tear-down of the IC die inside one of these solar motion toys:

  • Can anyone tell me how the solar toy can swing without the solar panel connected? The solar panel on one of our toys was  removed but the thing still swings indefinitely without a power source. 

  • Hello Doug ! 

    " I’m sure there are other possible uses for these parts, so as always I welcome comments and suggestions from the user community out there" 

    This is 100 % correct

    Using Vimun Sc 3012 Solar panel, exposed in the artificial light ( 1,25 V, 0.054 ma )  the mentioned chip + 10 V capacitor + an air coil from an old ring bell 230 V + neo sphere 19 mm, 27 g , I have managed to build an electric motor with an extremly low consumption 

    I am looking forward to create an office toy ( personal use ) which can make a led glow constant. 

    Why ? There is no converter, step up booster, joule thief which can run with that tiny input. Solution : mechanical converter.

    First I obtained Ac current - the led is flashing ( from a scanner lamp )

    Then Dc current : 

    I am looking forward to improve the office toy

    Best regards