Sunset and Sunrise camera controller.

Ultra low power "LCDuino" gadget to wake up a CHD controlled canon P&S camera at sunrise/sunset everyday (or any computable time interval).

Similar projects worth following
CHDK Sunset timer. Let the camera do all the sitting around in cold places for you.

The project sunset picure was taken at the Lake of Menteith in Stirlingshire, Scotland.

CHDK will allow you to do pretty much anything on a Canon P&S camera, but if you plan on shooting over very long time intervals, you need a large battery or mains power, since Canon P&S cameras  don't have a sleep function (actually I am not aware of *any* of the shelf low end camera that does). The idea here is to eliminate the need to lug around a heavy lead acid battery or large LiPo... or perhaps a large solar panel.

This little project builds on the weatherproof box idea above, and will allow you to use very little power (uA) during the big sleeps, and thus should allow you to take an SD card full of sunsets using just the camera's own battery (or whatever small lipo battery pack you have). 

The basic work flow is as follows... Program our timings on the 'duino. Set the camera up in its weatherproof box. Point it West (or East for sunrise). Let it time-lapse the sunsets/sunrises for the next week/month.. Come back when it is done, and hope someone hasn't spotted it and run off with the results. 

The uController wakes up the camera at the required intervals, (it knows where you are 'cos you programmed that in before hand, no GPS involved here, we are trying to use as little power as possible after all). 

It knows what time it is (with its build in battery backed up RTC board). It knows how to work out when locall sunset/sunrise time from a simple algorithm.... CHDK on the camera does all the time-llapse stuff, and switches off the camera after a suitable day.. rinse repeat...

With a little extra effort, I could include a compass module and a servo, and the rig would be able to do some panning, or film both the sunrise & sunset (or track the moon or whatever)... but that's a project for another day.

Youtube demo... 

Arduino pro mini clone, nokia 5110 diaplay, 18650 lipo, 8205A dual mosfet, RTC module and a big mess 'o wires.

Note the yellow tape, holding down the power button on the camera, just visible in the video, this ensures the camera powers on the moment we feed it from the LiPo. Not pretty, but it works.

The Pro Mini clone is running some code to power the mosfets on and off, display the time, sunrise and sunset times, battery voltage and cycle through various contrast and brightness settings on the Nokia display. Its very much work in progress and proof of concept.

The whole mess in the video, including the camera is powered from the single 18650 lipo on the breadboard. While sleeping, it currently consumes 240uA or so, but this can theoretically be improved to 20uA or less. If we assume 240uA this puts the sleep time power consumption for the nominally 760mAh NB4L battery supplied with the camera, around the 130 day marker. 

Alternatively, if I use a relatively compact battery pack (the dodgy looking thing in the picture above, which would no doubt give airport security a heart attack),  with a notional capacity of around 7200mAh (four 18650 recycled laptop cells), we are talking a snooze time of ... several years, well in excess of the self discharge curve of the battery pack.

  • 1 × 5110 Nokia LCD Perhas the least cost LCD available on the internet these days,
  • 1 × Arduino Pro Mini compatible. So cheap they might as well give them away.
  • 1 × LiPo Battery Whatever you have to hand.
  • 1 × LiPo Charger board. Less than a dollar.. did I mention this was a cheap build...
  • 1 × A CHDK enabled camera Up to you what to use... mine was a "fixer-upper" from ebay - not quite free, but the P&P was more than the camera.

View all 7 components

  • Updated to ARM

    andyhull06/28/2015 at 20:54 0 comments

    I have started a complete re-write for the STM32F103C8XX series using the Arduino IDE at

    Code is on github

  • Breadboard Demo

    andyhull07/26/2014 at 23:03 0 comments

    Prototype running a demo, switching the camera on and off with a mosfet, diming the display, displaying Sun up and Down times and the battery voltage and ambient temp from the RTC module.

  • Some design notes.

    andyhull07/25/2014 at 22:15 0 comments

    One of the basic goals of this project (apart from the obvious... actually find enough time to complete it and more importantly... use it)... is to make the device out of jellybean devices, at the lowest price point possible.. 

    There is no point in spending a fortune developing this, unless someone out there is daft enough to offer to  pump real money in to it, so with that in mind I decided to use a 5V Arduino Pro Mini clone, a Nokia 5110 LCD, and some recycled laptop batteries for the initial power source. 

    I'm running the ProMini from the stock 16Mhz on-board crystal, and powering it from the raw input pin directly from the LiPo battery. Using a regulator makes no sense, as that would waste power.

    This is slightly risk in the sense that the Atmel chip will be operating out of spec. when the Lipo battery drops to its minimum voltage, but my experiments on the breadboard (and other results from the internet) suggest that this is unlikely to cause problems. 

    I'm also using a particular variant of the 5110 LCD board that has build in resistors which allow me to  safely run the LCD back light LED at 5V, but I will use software PWM to dim the LED, it makes the display more readable and uses less power.

    Why software PWM rather than the Atmel hardware PWM... all will become apparent when I post a few pictures, but the simplified connection layout is the main reason.

    The only modification to any of the boards, so far, is to remove the resistor for the power LED on the Arduino to save a few mA... this requires a steady hand, fine pointed soldering iron and a magnifier. Not rocket surgery, but it might be a little tricky for some. 

    I'm soldering the 'duino clone directly on to the back of the LCD, using the supplied header pins from the 'duino, as this lets me control all of the pins to the display, and even switch it off completely, from software. It also greatly simplifies the build, and makes for a very compact device. 

    The footprint of the prototype is the same size as the display. A few pictures will clarify this, and I'll post these soon. The RTC fits on the other side of the 'duino, and the whole thing is programmed with an external programmer, in my case a $2 USBASP USBISP AVR Programmer, in keeping with the low cost BOM.

  • A rough draft of the 'duino sketch uploaded to bitbucket.

    andyhull07/25/2014 at 21:54 0 comments

    Get it while its hot folks.. some functionality.. some wild speculation... lots of new and interesting bugs...  Try it here...

View all 4 project logs

  • 1
    Step 1

    Grab all of the necessary bits from your usual favourite ebay supplier (other more reputable companies are available)... 

    Stick the sketch on the 'duino clone.

    Scratch head 'cos the sketch is still a work in progress and doesn't work yet.. 

    Marvel at whichever bits do work.

    Post a suitable (or perhaps unsuitable) comment to encourage further development.

    Full gory details to follow.

View all instructions

Enjoy this project?



andyhull wrote 07/28/2014 at 09:48 point
Fixed public access to the bitbucket repo.

  Are you sure? yes | no

Neon22 wrote 07/28/2014 at 02:12 point
For a python script that calculates the sun's azimuth and elevation for a given long/lat. datetime. (Only imports some math trig functions)
Look here:

  Are you sure? yes | no wrote 07/27/2014 at 13:04 point

  Are you sure? yes | no

andyhull wrote 07/25/2014 at 16:13 point
For a long and detailed discussion on putting cameras in boxes, and all things CHDK and battery related, take a look at

  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