Rechargeable Blue LED SAD Light Book




About: Autistic person who's interests include utility cycling, recreational cycling, cycling safety, electronics, gardening, Arduino, and LEDs.

Blue light therapy can be used to improve mood, improve sleep, treat jet lag, adjust bedtimes and boost energy. It is done by viewing it with your upper peripheral vision. I think this light book would benefit students who start school early when it's still dark. This one can fit in your backpack, is dimmable, has an adjustable timer and it doesn't cost too much to build. Using it in the morning can turn you into an early bird and using it in the evening can turn you into a night owl. You can use this while riding a bus.

AC or Li-ion battery powered
Wide range of input voltage: 8.4-24V
200 LEDs
Wide viewing angle
Power consumption: 14W
Battery life at full brightness: 1h 30min (using two 18650 2.5Ah batteries)
Brightness range: 256 levels
Diffused screen

Step 1: Materials

1 - hollowed out book with 8 x 6-1/4 x 1/8 of storage space
1 - clear plastic sheet larger than 8 x 6-1/4 x 1/8 with invisible tape
1 - 4 x 8 copper cladded board
1 - 3 x 1-1/4 copper cladded board
2 - 100nF capacitors
1 - 12-20V zener diode
1 - 1N4001 diode
200 - 0805 wide angle 470nm blue LEDs (120-130 degrees)
1 - AO3400 MOSFET
2 - 10M resistors
1 - 33k resistor
1 - 1k resistor
1 - 10k resistor
20 - 100R resistors
1 - on-off switch
1 - LM7805 regulator
1 - ATtiny85
1 - 8-pin DIP chip holder
1 - arduino (you only need this to program the ATTiny85)
1 - LM2577 DC-DC converter boost module   
2 - 10k potentiometers
1 - DC power jack
1 - 9-24V power supply (18W or higher)
1 - 2 cell 18650 holder for protected cells (protected cells are slightly longer than unprotected ones)
2 - protected 18650 Li-ion batteries
1 - 3A slow blowing fuse (if using unprotected batteries)
4 - sets of stand-offs (1/8" think)
4 - sets of nuts and bolts (1/8" thick)

*all resistors and capacitors have 0805 packages

Step 2: Circuit

This circuit uses the ATTiny85 microcontroller as a timer and light dimmer. Q1 is the load switch for powering the entire circuit. . The IRFZ44N was used because powering on the circuit produces a brief surge current while charging the converter's capacitors. D1 keeps Q1's Vgs from exceeding the zener voltage which should be under 20V. Q2 was used to switch the LED array. R5 limits the Vds of Q2 below its Vds(max) of 30V while it is off by allowing the LEDs to continue conduct with a small current enough to drop 30V. They will be dimly lit at the lowest brightness setting. R1 and R3 are discharge resistors which make sure Q1 and Q2 are off when they should be.

The LM2577 step-up converter keeps the LED array at 30-35V and allows a wide range of supply voltages to be used which is below the output voltage. It can be adjusted to a lower voltage if the current is too high or you need less light. 2V across the 100 ohm resistors would equal 20mA per string. I had the output voltage set to 32.3V and the resistors were at 1.5V giving 15mA. The DC jack was wired to allow dual power by connecting its middle pin to the battery's ground, the outer pin to the power supply's ground, and the inner pin to the positive voltage of both power sources.

Step 3: Sketch for ATtiny85

The following sketch programs the ATtiny85 into both a PWM dimmer and a lamp timer. VR1 sets the brightness level of the LED array from 0 to 255 and VR2 sets the light timer between 0 to 60 minutes every hour which may be preferable if you work nights. Since the ATtiny reads the values of the potentiometers at the beginning of its loop, it needs to be reset by turning it off and on after adjusting them. If you want a different on/off period, change the value of periodMin.

You can learn how to program the ATtiny85 here:

int LEDPin = 0;                // PWM input connected to digital pin 0
int brightPin = 2;             // brightness potentiometer connected to analog pin 2
int timerPin = 3;              // timer potentiometer connected to analog pin 3
long periodMin = 60;           // sets the time period in minutes
long periodSec = periodMin*60; // calculates the time period in seconds
long period = 1000*periodSec;  // calculates the time period in milliseconds

void setup()
  pinMode(LEDPin, OUTPUT);     // sets the pin as output

void loop()
  int val1 = analogRead(brightPin);   // read the brightness setting potentiometer
  analogWrite(LEDPin, val1 / 4);      // sets brightness levels of LED array from 0 to 255
  int val2 = analogRead(timerPin);    // reads the timer setting potentiometer
  long on = (period*val2/1023);       // on time in milliseconds
  long off = (period-on);             // off time in milliseconds
  analogWrite(LEDPin, 0);             // sets brightness of LED array to 0

Step 4: ExpressPCB Files

I designed the circuit boards using ExpressPCB and included a file for full page printing. Please feel free to modify the design if you have a different component package. ExpressPCB can be downloaded here:

For Linux, you can install WINE to use the program.

Step 5: Etch-resist for the Circuit Boards

Step 6: Circuit Board Etching

I used ferric chloride to etch the boards.

Step 7: Etch-resist Removed

Remove the etch-resist with acetone.

Step 8: Soldered Components

I hand soldered the SMD components in this step. Flux should be used before lining up the components which is the most tedious part of this step. A tweezer is needed to move the LEDs and a thumb tack can be used to hold the LEDs to the solder pads while soldering.

Step 9: Removed Flux Residue

Remove the flux residue with acetone.

Step 10: Wires With Strain Relief

Use hot glue to strain relief the wires.

Step 11: Holes for Attaching Circuit Boards

Use a 1/8" drill bit for the stand-offs. You will need a larger bit for the DC power jack. To flatten the hole edges, use a dremel.

Step 12: Screws for Circuit Boards and Battery Holder

Step 13: Wires With Cable Ties

Step 14: Transparent Cover for LEDs

Hot glue the clear plastic sheet to the book. You will be using invisible tape as the diffuser so we will need the plastic sheet to support it.

Step 15: Invisible Tape As a Light Diffuser

Cover the clear plastic with invisible tape.

Step 16: Division Markings for Potentiometer

Measure the voltage at the centre tap of VR2 at increments of 500mV. This would equal to 10% or 6 minutes for 1 hour. Mark the divisions on the circuit board .

Step 17: Improvements

Use an external battery holder: Using an internal battery holder keeps the light book compact but the batteries may be sensitive to overheating if you keep it closed and running. To use it externally, solder a 2.1mm plug to the holder. This also allows you to use a larger battery pack if needed.

Use a 3- to 6-cell Li-ion battery holder: With a larger supply voltage, the light book becomes more efficient and run cooler because the converter would require less current and the load MOSFET is fully turned on.

Use through hole components for the LED array: Hand soldering the LED array with SMD LEDs was not a very easy step and required the use of etchant to develop it. It was a 4 or 5 hour long step. If you use 5mm LEDs, look for wide beam angles of around 130 degrees and use a perf board instead. You may need a thicker book for a more even lighting.

Microcontroller Contest

Second Prize in the
Microcontroller Contest



    • Arduino Contest 2019

      Arduino Contest 2019
    • Tape Contest

      Tape Contest
    • Trash to Treasure

      Trash to Treasure

    18 Discussions


    5 years ago on Introduction

    For those of us who are not so technically inclined, a desktop fluorescent fixture with a 6200 Kelvin tube ( purchased separately and installed by you) can achieve the same effects. I'm not sure if LED's will do the job. Albeit not portable ,I know of several people in office jobs who have noticed positive results.
    A very good Instructable indeed!

    1 reply

    Reply 5 years ago on Introduction

    I totally agree. I have many 6500k fluorescent bulbs (some are 6000k) and they are better for reading and working on projects than 4100k lamps any time.


    I have SAD (Seasonal Affective Disorder) and already own a SAD light, I researched into it and learned that light is measured in 'lux' and that for a SAD light to work it needs to emit at least 2,500 lux, although most light boxes are now 10,000 lux as the brighter the light the less time you need to sit looking at it.

    I'd be interested to know if this project emits enough lux, as a number of the top brand products in the shops don't actually emit enough. They are designed more to aid natural waking, by replicating dawn light - which may help some people, but doesn't really address the issue of SAD at all.

    1 reply

    Reply 5 years ago on Introduction

    Lux is lumens per square meter and takes into account how sensitive our cone cells are to the light but not the number of photons. To treat SAD, the light needs to stimulate the ipRGC cells in the retina which peak around 470nm. For blue light, it is better to use watts per square meter.


    5 years ago on Introduction

    Nice job, a bit overkill on some parts.
    My therapy for SAD was moving to Thailand. Perhaps I should post an instructable :)


    5 years ago on Step 2

    Using a computer is overkill for timing and light dimming. Use 555 for 1/2 hour timing. and I could probably design you a circuit for light dimming if needed.

    1 reply

    Reply 5 years ago on Introduction

    That would work too. You may need a frequency divider with a 555 timer because the 555 timer isn't accurate at such a low frequency.


    5 years ago on Introduction

    Hello there,

    As I suffer from S.A.D.ness over the dark winter I am very impressed with this idea.
    However, can I ask... Does the Leds actually produce the correct spectrum of light required to provide treatment for S.A.D. (Seasonal Adjusted Disorder)

    2 replies

    According to the Mayo clinic there isn't as much research supporting blue light therapy while there is much to support white light therapy. Blue light also my pose a greater risk for harming your eyes than white light. Blue has a shorter wavelength much closer to UV and likely contains a lot of UV light. Light boxes for SAD should have as little UV as possible, a UV filter could help with this. White light is probably the best way to go, but I imagine this project might be improved by using white LEDs, but keep in mind that the research done with light boxes is based on florescent and incandescent light. It also might be important to note that white LEDs emit both blue and yellow light, which sort of cancel each other out to give the appearance of white light (much like the white pixels on your computer screen created by mixing red and green with blue light.) This may not be enough for our brain to receive the full benefit of the light or to counter act the possible negatives of the blue light. More research needs to be done on the effectiveness of LED light boxes on SAD.


    5 years ago on Introduction

    When evaluating brightness, remember that your eyes scale brightness logarithmically i.e. the eyes don't perceive a change from 100 lux/lumens/unit-whatever to 1000 as being 10 times brighter but just roughly twice as bright. The speed of the change influences your perception of the change in brightness as well owing to both the motion of the pupil and some neurological controls.


    5 years ago on Step 2

    Using a computer is overkill for timing and light dimming. Use 555 for 1/2 hour timing. and I could probably design you a circuit for light dimming if needed.


    5 years ago on Introduction

    Your instructable looks excellent and your idea is good but I'm sorry to tell you it  will do little to help someone with true SAD, though it will likely help those who have to get up while it's still dark in adjusting their wake-sleep cycle.

    As ChuckMeIntoHell wrote, research on the effects of light on SAD strongly indicate its not so much the wavelength of light (the colour) as the intensity. The time and intensity of light needed to effect any change for the better would quite possibly damage a person's eyes.

    Speaking from personal experience of someone with SAD, I definitely need an intensity of 10,000 LUX for at least 45 minutes to feel better though many only need 20-30 minutes of bright light per day. 

    Though 10,000 LUX may seem brighter than needed, it's the equivalent of early morning light on a summer day. Perhaps knowing how bright the light is, it's not unreasonable to understand why 10,000 LUX is needed for about 30 minutes, and why your light wouldn't help someone with SAD.


    5 years ago on Introduction

    Interesting. I have a Phillips Go-Lite which is basically the expensive store bought version of this and seems to help keep me sane in the dark Canadian Winters . I was wondering if it could just be replaced with simple blue 5mm LEDs.

    1 reply

    5 years ago on Introduction

    haha..would absolutely love one of these, but sorry I lost you at "100nf capacitors"..:))


    5 years ago on Introduction

    Very interesting to make it inside a book for design and ambience purposes.