Tuesday, February 12, 2013

Serial Time Lapse Camera - Project Schematic and BOM

For anyone who wants to follow along and make this project themselves, here is some stuff to get you started. First, my Sparkfun Wishlist. Next, some parts you will also need:

  • 1K and 10K resistors for pullup and transistor level-shifter
  • NPN transistor (2N2222 or similar)
  • Arduino (I am using Duemilanove)
  • Pair of XBee radios
I'm sure I've forgotten some stuff, but hopefully nothing major. Might be worth a double check on the schematic.

A system block diagram (Fig.  1) is shown to give an overall idea of the project. The wireless unit is battery powered, using a USB LiPo charger. The charger also boosts the voltage to 5V. This is used by the camera directly, and the XBee through the regulator, which also takes care of level shifting the Tx and Rx pins to communicate with the camera. While the camera datasheet says 3.3V operation is feasible, blog posts said otherwise, so I opted for 5V operation. 

In the base unit, an Arduino Duemilenove is the brains. XBee shield is stacked on a microSD shield (I believe these come together as one unit now, but my XBee shield is older). An LCD display is used as output to provide feedback to the user (eg. displaying the time between shots in the time lapse mode). DIP switches are used to set the mode time-lapse vs. high speed, what sensor to use, etc. and to save pins a shift register is used here. A push button and potentiometer will also be part of the UI (cycling through menus, or selecting time between shots).

Fig 1.  System block diagram of the serial cam project.
A lot of the parts are boards directly from Sparkfun, however some wiring will need to be done around the Arduino. I don't plan on making a PCB, instead I probably will put it onto some protoboard, but below is a schematic (Fig.  2) and link to eagle file for your perusal. It would be trivial to make a PCB I believe. Parts used are from the Sparkfun eagle libraries whenever possible. Most of the difficulty was in Arduino pin allocation, the connections themselves did not require much engineering.

Fig.  2. Schematic of the Base unit (Arduino etc.). 
Up next, mechanical design. I'll do up some drawings for my boxes, find a slick way to make the outdoor unit waterproof, and make sure all the parts will somehow fit nicely. Then there might be a short pause in the project, as buying parts before I finish my thesis sounds like a very bad idea...

Monday, February 11, 2013

Serial time lapse camera - Introduction and concept

Introduction:
This project started as a justification for owning XBee modules (which I have owned for 2 years but never properly used). But I think its a good stepping stone to an even bigger project: my future quadcopter. So here goes: the initial design of my time lapse camera that sends images serially.

The concept:
A small waterproof box outside my apartment holds a tiny camera, battery and radio. Inside my apartment, a radio attached to an Arduino gets the images and writes them to an SD card. The Arduino also contains an LCD, set of dip switches (to set the mode), multiple sensors (IR and PIR) for detecting motion and a potentiometer for controlling settings (likely the time between shots). Once my budget and skill-set expands, this same camera can be mounted onto a flying quadcopter, take photos from the sky, and send them back to Earth!

Whats next?
I'll be working on a BOM, schematic and mechanical design over the next couple weeks, and upload them as I complete them. So far I have managed to sort out how to use allocate of my Arduino pins (yes, a shift register was necessary). Got my schematics drawn on my lab notebook, so I'll do them in Eagle shortly. I do have some concerns about processing time of the Arduino and whether the MCU can handle interfacing to this many devices. I guess prioritizing may be necessary.

Stay tuned! Lots of fun to follow.