Wake up to the soothing glow of Organic LEDs

Similar projects worth following
Like many of my fellow obsessive enthusiasts with day jobs, I have a hard time waking up after a long night of designing. Trying to get as little sleep as possible without being absolutely miserable when the morning alarm bells go off is the goal of my SunRise project. My theory ( like that of many other sunrise simulators ) is that a slow, gentle lightening of the sleeping quarters is a more natural and relaxing way of waking up, and should lead to a more energized and productive day. My job puts some pretty neat hardware into my hands, and recently I managed to salvage an early OLED panel. Applying 20V at 300mA produces an incredibly bright glow that could rouse even the dead, so I figured it's good enough for me.

After making clocks for years I realized that my favorite way of getting and setting the time for a clock project is throwing an NTP code snippet onto an esp8266 board and calling it a day. My SunRise project therefore uses an ESP12E module with the necessary power management and jellybeans to allow easy ftdi cable program uploading. The OLED is powered directly from the 20V input, and the current is limited by a beefy lm317 that I've had knocking about for ages.

The ESP12E pokes NIST for the current time, and checks it against the preprogrammed time. If it's pretty close, the ESP12E begins the sunrise routine. Using PWM, it toggles a transistor that shorts the ADJ pin of the lm317 to ground, which in practice blanks out the OLED panel. Do this quickly enough and you get a very nice gradient of brightness. The length of the sunrise is set to 15 minutes by default, so over the next 15 minutes the OLED panel will be steadily brightening to its maximum brightness, and it will hold that brightness for another 15 minutes, or however long you specify. This routine can be ended at any time by hitting the button tied to GPIO0.

ino - 5.12 kB - 10/31/2016 at 23:49


sch - 143.13 kB - 10/31/2016 at 23:49


brd - 64.10 kB - 10/31/2016 at 23:49


  • 1 × Philips OLED Panel Not in production yet... find a sample somewhere ;)
  • 1 × ESP12E Gets time and sets brightness
  • 1 × LM317 Controls current to OLED

  • 1
    Step 1

    I based my design on what I had on hand at the time. This is definitely not the easiest or most efficient way of doing this!

View all instructions

Enjoy this project?



Chris Price wrote 05/07/2017 at 10:51 point

Nice project :). Been thinking making an artificial sunrise led system (approximating the right spectrum, and possibly adding light birdsong) for a while, just to lower stress. Though, I was considering a series of smaller modules that communicate wirelessly, rather than one big one, to aid in recreating the ambience. Need to come up with a convenient way to power the modules though, don't really fancy wires all about the place!

  Are you sure? yes | no

Seungjin Kim wrote 11/11/2016 at 21:07 point

Do you have the schematics to drive LM317? Do you not need any other components? I'm confused because current is being controlled by LM317, which is a voltage regulator... or is it by trying to maintain constant voltage you can control the current by manipulating the resistance? ^^;; confused here

  Are you sure? yes | no

jareklupinski wrote 11/11/2016 at 21:21 point

I'm using the LM317 in constant current mode, and using a bit of a hack to PWM it... again, not the best way, but I had a cheap little mosfet on hand, and I used it to short the ADJ pin on the LM317 to ground, disabling the 317. When the mosfet is not conducting, current flows through the resitor to VOUT, making it a normal constant current source :)

  Are you sure? yes | no

davedarko wrote 11/01/2016 at 07:00 point

I have to check your code later today...  one of my #fixietube clock projects has an Esp12 in there and needs to know the time to turn of the blue Leds at night.

  Are you sure? yes | no

jareklupinski wrote 11/01/2016 at 16:41 point

That code is only useful for fuzzyalarm-clock-like stuff. Here is some much more polished and clock-ready code :)

I really like the idea of stuffing modern components into tubes; have you thought about expanding it behind just the nixies and 'tubifying' the ESP or power regulator, like some tube radio enthusiasts do for power rectifier tubes?

  Are you sure? yes | no

davedarko wrote 11/01/2016 at 17:49 point

Yay the cute nixies :) nice project, the weather add-on looks nice.

I would use it for the smaller 2-digit display that I currently use for showing the temperature pulled from an online weather API, so fuzzy is fine ;) The clock itself has one of the fancier I2C RTC modules and an Arduino Mini running on 5V - I'm almost happy with that, if there wasn't the daylight saving time. 

Do you mean stacking up more boards and put them further into the jars? Hmm. I wanted to do something like this with a LED cube in a jar, put all the electronics and battery in the lid. 

  Are you sure? yes | no

jareklupinski wrote 11/01/2016 at 19:02 point

I can't find the project again, but I remember seeing something where someone was renovating a vacuum tube radio, and they replaced a few components in the power supply path with solid state equivalents by gutting the original vacuum tubes making up the rectifier etc and stuffing modern parts into the now-empty tubes, keeping the old timey look until you got close and saw semiconductor diodes inside the glass envelope

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates