Camera harvests energy through its sensing elements

There is long known fact that diode can be used in reverse mode to generate small current when placed on a light. Computer scientists at Columbia University thought that this phenomenon could be used for dual purpose – harvest energy and take images. They constructed 30×40 array of diode pixels on a PCB. When this array is placed in environment with more than 300 lux brightness it is capable to collect enough energy to power microcontroller and take a picture every second.


It seems pretty attractive perpetual photographing machine which would take images and power itself whenever there is a light. Collected power is stored in capacitor between image shoots. It is hard to tell what microcontroller is used here but it is definitely a low power (MSP430 could do the trick). They also calculated that 210×200 sensor grid could rise frame rate up to 30 images per second alternatively it could be equipped with low power wireless communication that could constantly send data to remote host.

Implementing precise single shots with AVR timer

Microcontroller timers are meant to count clock cycles in hardware and there are many ways and configurations where timers are handy. First of all timers are meant to work purely in hardware without utilizing CPU, secondly timers help generate waveforms like PWM, trigger events, count time between events and so on. But there is one use that in most cases is missed and not documented – precise single shots that allow to generate only single pulse shot with precise length. And this method doesn’t require CPU to be involved – just set and forget.


The idea of this method lies in using fast PWM (refer to datasheet for more info) mode a bit differently. Normally in this mode timer works by counting to TOP value, somewhere in between there is a MATCH value where timer outputs HIG and drops to LOW when TOP is counted. This way there is a PWM signal generated. Josh came up with idea that in this case we can generate only single pulse by setting MATCH value above the TOP and set initial timer counter value above TOP. This way timer counts and when finds MATCH value it triggers pulse to HIGH level and keeps it until counter reaches MAX value and pulse drops to LOW. Next time when timer counts from zero to TOP it never reaches MATCH value and so no more pulses are generated. This way you get total control of your single shots that length can vary depending on initial settings. Pulse length can be as short as 63ns and there is no CPU involved. There is a C demo for that if you would like to experiment.

Running watch with GPS guidance

If running is part of your activity probably you would like to know daily statistics. These features are available in many devices like smart phones or watches. But sometimes you simply need a guide that would tell if you are on a right direction. One way would be to use GPS navigator with planned route, but who would want to look at screen all the time when you would enjoy re view. So students Joel and Kyle from Cornell ECE4760 class brainstormed the idea of building GPS running watch which would give mechanical feedback about the waypoint. They used small motors to vibrate weather you are running along planned route or you turned right or left.

Prototype is equipped with GPS module, Atmega1284 board, LCD display, SD card to store waypoints. Before you can use the device, first you need to create path in Google Earth, then save this path as KMZ file which then needs to be uploaded to GPS visualizer website where you can get output text file which has to be stored to SD card. Runner watch ensures that you follow planned route and of course gets you home if you get lost. With GPS there comes other functionality including current time, coordinates, accumulated distance.

Infrared sensor based Theremin

Theremin is a device that allows playing music without touching the instrument. Basically Theremin is based on capacitance sensors where hands play ground plane role. By adjusting distance to the sensor you can change sound pitch and other parameters. Students Scott McKenzie and Alex Rablau from Cornell ECE4760 class build a bit different Theremin device where they used infrared distance sensors instead of capacitance. They used tow sensors – one for volume and another for pitch control.

Atmega1284 reads both sensors and according to sound wave selection generates PWM modulated signal. They experimented with several waves including Classic theremin which is combined of two sine waves, then pure sine, sawtooth, and FM modulation. Each sound is great in its own way when played with “straight” hands.