Introduction: Build a Sunburn Alarm

Ever get a sunburn?  Prefer to avoid them in the future?  Mr. Burns combines information about your skin type and any sunscreen you're wearing with a realtime UV light measurement to let you know before the burn sets it! 

Here's a little demo;
Continue to the next page and I'll answer a few questions and show you how to make it

Step 1: FAQ

How does it work?

Sun exposure time is a factor of 3 things;
  1. Skin type.  Lighter complexions burn more quickly
  2. Sunscreen. Suncreen extends exposure time
  3. Ultraviolet Radiation.  UVA (315-400nm) is the main culprit, and it can vary widely throughout the day, geography, time of year, etc.
Skin type and sunscreen are easy - Mr. Burns just asks you to provide that information.  Measuring Ultraviolet radiation is complex;

Initially, I went to the usual sources to get a UV sensor, but I found out they were very expensive ($20 - $30).  If you take a regular LED and invert it (so the anode is connected to ground), it will generate a very weak voltage in response to light, but you need an op-amp circuit to amplify the voltage & I wanted something simpler. 

Finally, I came across this whitepaper from Mitsubishi - they had the problem of sensing when to turn on the light in your remote control; a capacitive sensor would turn it on when it's not needed and waste power.  They figured out a way to sense light using the backlight LED itself - and that's what Mr. Burns is based on.

When you use an LED as a photodiode, it's sensitive to wavelengths equal to it's output color and shorter.  By using a blue LED that generates light at 415nm, it's a perfect fit for sensing UVA, and it's cheap (<$1)

Once Mr. Burns has skin tone, UV level, and sunscreen info, it uses WHO data (pdf) to determine how long until you get a sunburn.

Here's a walkthrough of how it works.  Note that I'm using a Propeller Platform SD and LCD UI module, but this instructable will also show you how to do it on a breadboard.


How Accurate is it?

The sensor picks up the UVA and measures it correctly.  Exposure calculations are based on WHO research, too.  It's pretty accurate, the most likely cause of error is sunscreen;

Most people don't put on enough sunscreen - you're supposed to put on 1mg/cm2, which means about an ounce to cover an adult male.  You're also supposed to re-apply every 2 hours.  If you do this correctly, you're fine, but otherwise, you should under-estimate the SPF of your sunscreen.

Also, Mr. Burns measures incident UVA at the beginning of the exposure, but it doesn't re-adjust if UV changes.  The literature isn't clear as to whether your skin is equally sensitive throughout the exposure.  It's easy to implement, though - and if I find evidence that it is, I'll update the code.

What are the Technical Details?

It's a Parallax Propeller running at 80Mhz connected to an HD44780 8x2 character LCD (4-bit interface).  The Propeller stores the exposure table in RAM and measures incident UV through an R/C decay circuit. 

Step 2: Materials

I built mine with a Propeller Platform SD and an LCD UI module.  If you've got those, then the only thing you'll need is blue LED and 22pF Cap. Download the file on step 9 to your SD card, attach the LED & Cap, and you're ready to go.

But I'll also show you how to build Mr. Burns on a breadboard - and here's what you'll need for that;

Code
Here's the sourcecode.  Everything is available under the MIT license.

8x2 Character LCD
Displays the time.  Sparkfun has a 16x2 LCD that will work, too

3xAA battery box
Mouser Part#12BH331/CS-GR

Parallax Propeller
Available at Parallax

5Mhz Crystal
Available at Parallax

32.768 KHz Crystal
Mouser Part #73-XT262

32kb EEPROM
Mouser Part #579-24LC256-I/P

22pf Ceramic Cap

Blue LED
Mouser Part 859-LTL42UB6N

5x Tactile Switches
Mouser Part #653-B3F-1000 

3.3v Voltage Regulator
Mouser Part #511-LD1117V33

Around 10 10k ohm Resistors

4x 4.7k ohm Resistors

3 or 4 .1uF Ceramic Caps

3 47uF Electrolytic Caps

A Prop Plug

Breadboard and a bunch of hookup wire.

Step 3: Make It: Schematic

First, review the schematic below to understand how everything is connected. The box on the left is the SD card slot, and the box on top is the Prop Plug. I'll walk through breadboarding it, but the schematic is your best guide. Here's a hi-res version, the lo-res version is below.

Step 4: Make It: Power and Propeller

Add the voltage regulator and bypass caps as shown on the image below.  Also, add the battery box, connecting the black wire to the negative rail, and the red wire to the input on the regulator.

I've also added pull up resistors in the picture, that's for the EEPROM I'll add in the next step.

Step 5: Make It: Testing

Add the EEPROM, connecting Vdd and Vss.  Also add a 4pin header as shown in the photo. 

Your basic Propeller setup is now complete. Plug your Prop Plug into the headers, connect the usb cable and fire up the Propeller Tool. Hit F7 and make sure you can communicate with the Prop

Step 6: Make It: Display and Crystal

Connect the display - it's quite a few wires, so follow the schematic.  Note that I'm using a protoboard to make the display hookup a bit easier.  I suggest you do the same.

The crystal goes on the pins marked Xo and Xi.  No need for caps on the crystal.

Step 7: Make It: UI and Sensor


Add the buttons, as shown on the schematic.  You'll need 4 buttons;
  1. Left
  2. Right
  3. Enter
  4. Begin Exposure
If you edit the code, you can get away with less, although it's nice to have the additional inputs.  I've breadboarded 2 buttons below.

Also add the LED and cap.  This is your UV sensor portion of the circuit.  The longer lead on the LED goes to the negative rail, the shorter lead connects to P7.

Step 8: Make It: Programming

Once you've got everything wired up, download the sourcecode (here), connect your Prop Plug and program the Propeller.

Step 9: Make It: Using the Propeller Platform SD and LCD UI

If you're using the Propeller Platform SD and LCD UI, setup is a little different;

1 - The Propeller Platform SD is pre-assembled.

2 - Follow this instructable to put together the LCD UI.

3 - You don't need a Prop Plug.  The Propeller Platform SD has a bootloader, so you just unzip this file and copy to the root of your SD Card.

4 - You'll need to add a blue LED and a 22pf Cap. You can get the Blue LED right here, the battery pack is here.   The long lead from the LED goes to ground, the short lead goes through the hole marked P7.  Connect the cap on the other side of the board to the same holes - doesn't matter which lead goes to which hole. 

That's it!  Stay out of the sun!