Public Lab Research note


TTL Serial JPEG Cameras + microcontrollers

by donblair | March 23, 2016 17:50 23 Mar 17:50 | #12880 | #12880

Just seeing @tonyc 's recent note on using a Mobius camera for field time lapse -- great stuff!

I've been trying out a TTL serial JPEG camera -- a weatherproof version, from Adafruit-- with an Arduino-compatible device (a Riffle.

It's quite easy to follow Adafruit's tutorial and get the camera up and running. I took a few quick snaps of the alley outside my apartment:

test_image.JPG

test_image_2.JPG

Not sure yet how great the colors in these snaps will be ... and the resolution on this device maxes out at 640x480. But it's nice to have control over turning the camera on and telling it when to capture an image, in a simple microcontroller-based context.

The code I'm using to test things out (based on the tutorial linked above) is here.

The setup is simple -- the only caveat is that the camera comm pins want 3.3V, but the camera itself requires 5V. Since the Riffle runs at 3.3V, the signal connections are easy -- for powering the camera, I simply used another 5V microcontroller as a power source. Like @tonyc mentioned, I'm going to look into a 'boost' board to generate 5V for the device. A special camera-connection board with 5V boost might be something to consider in the future.

Here's a snap of the current setup:

IMG_20160323_103253944.jpg

  • Camera
  • Riffle
  • Arduino Micro 5V

6 Comments

That could very useful. I wonder how long the camera could operate remotely. Will the camera gobble up a lot of power? Does the camera just power down between shots or does it sleep? Can you disable the IR LEDs? Can a $10 webcam do the same thing (except for the IR LEDs)?

Is this a question? Click here to post it to the Questions page.

Reply to this comment...


Wow, don, I love this! Is it possible to get pixel-level data, or raw data? I kind of assume not, but thought I'd ask.

Is this a question? Click here to post it to the Questions page.

Reply to this comment...


Also, if that man in the alley turned around, i bet he'd be really creeped out. Were you hiding under the windowsill? :-)

Is this a question? Click here to post it to the Questions page.

Reply to this comment...


@cfastie:

Power estimates are next on my list :) Looks like I should be able to switch off power to the camera completely using the microcontroller, so it will be in 'dead' mode, rather than 'sleep' mode, between usages. My (shot-in-the-dark) guess is that the TTL camera will be less power-hungry than a point-and-shoot -- just because it seems like a simpler device. The lens extend / retract mechanism on a PowerShot must take some significant battery juice (though maybe it's possible to disable that).

Not yet sure if I can disable the IR LEDs -- don't see any related code in the Adafruit library. Might try and see if I can pry apart the camera and disable the LEDs more directly. Can you forsee any use for them?

@ warren:

Re: pixel-level data -- not sure. The microcontroller is communicating with the camera on a byte-by-byte level, and assembling these bytes straightforwardly into a JPEG file that is stored on the SD card -- so, I think we could access pixels, if we knew how the encoding worked? The relevant microcontroller code is here:

https://github.com/adafruit/Adafruit-VC0706-Serial-Camera-Library/blob/master/Adafruit_VC0706.cpp

For what it's worth, there's a python script that can also communicate with the camera, which might be fairly legible to folks:

https://github.com/adafruit/Adafruit-VC0706-Serial-Camera-Library/blob/master/getimage0706.py

-- and I am indeed worried that I seem utterly creepy as I perform these tests on the camera pointing it outside my bedroom window. On the other hand, construction workers on the house next door start working very, very loudly at 6AM, and I'm sort of hoping they get very, very creeped out.

Is this a question? Click here to post it to the Questions page.

Reply to this comment...


check ov7670 with fifo buffer camera. Only use 3.3v no led and enough code to use with a arduino. You cna find them for 10 euro on aliexpress. You have full control of the camera.

Reply to this comment...


Andy-plant-cam.JPG

Our neighbor has the plant camera above, which he uses to take time lapse photos throughout the growing season. This camera is outdoors year-round in Wisconsin. Perhaps people, like me, without good coding skills will be interested in this type of camera.

Entering "plant cam" into Amazon had some hits, ranging from $90 used to several hundred dollars.

Reply to this comment...


Login to comment.