Fork me on GitHub

Project Notes

#676 LED-LDR Ring Oscillator

Building a simple ring oscillator using a light dependent resistor to couple the LED stages. From a circuit published in Elektor 2012/07.


Here’s a quick demo..



The LEAP#164 Watson LED Ring demonstrated the typical LED ring oscillator with BJTs to couple stages.

This circuit from Elektor 2012/07 is even simpler, using LDRs to couple the stages:

  • the LDR triggers the capacitor discharge (turning off the LED)
  • and the feed resistor on the anode determines the charge time to turn on the LED in combination with the capacitor

The LDR is pointed at the previous LED in the ring:

  • the circuit is enabled when ambient light is low (when too bright, all LEDs are effectively bypassed by the LDRs).
  • as an LED turns on, the light will strike the LDR of the neighboring LED, turning it off
  • when the next LED turns off, it allows the subsequent LED to turn on

So the net effect is:

  • in bright light, all LEDs off
  • in low light, all LEDs want to be on, but an “off LED” will chase around the ring

Circuit Design

I’m using LDR 5528 which is specified as dark: 1MΩ, light: 8-20kΩ.



Breadboard Test


Freeform Build

Why not?

Just a quick bit of freeform wire sculpting…



Credits and References

About LEAP#676 OscillatorsLEDLDR
Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.