Msp430lamp

From Texas Instruments Wiki
Jump to: navigation, search
Msp430lamp anim.gif
  1. MSP430lamp is an alarm clock with exciting additional features
  2. It wants to be a valuable product everybody needs every single day
  3. It will successfully replace all alarm clocks known so far

MSP430lamp

Authors

  • Dennis Gnad
  • Patrick Forster

Features (some still to be implemented)

General

Overall we want to create a color changeable remote-controllable lamp, which is supposed to be used for a bunch of applications - all controlled by the Chronos. For example as a "Wake-Up Light" or a "temperature sensitive" light. Having a nice end-user friendly overall design was also important for us. For example we have 7 segment LEDs shining through veneer wood, being invisible when turned off.

Wake-Up Light

We want to merge the idea of having a wake-up light with the Chronos being an all around tool to control things wireless. The idea is simple - when you set an alarm on your Chronos watch, the lamp will synchronize with the alarm of the Chronos. Then some minutes before the set-up alarm, the light will begin to become brighter and brighter, until the audible alarm of the Chronos will set off - when you are hopefully already awake by the brightness of the lamp! (Technical detail: Just in case the light is not in reach of the Chronos when the alarm is set up, it is supposed to also send another synchronize package just before the visible alarm will start.)

Another useful option you have, is controlling your bedside lamp with your watch. So you won't have to tumble over things in your room, or run back and forth to the rooms main light switch, before you go to bed!

Temperature dependent ambient light control

The MSP430lamp will implement a demonstration of temperature dependent ambient light control.

It adjusts the colour temperature of the lightsource depending on the room temperature, or depending on the body temperature of the person(s) wearing a Chronos watch in the same room.

Studies show, felt temperature depends on the colour temperature of the wall paint which surrounds the person. Similar, it depends on the colour temperature of the light sources in a room. Felt temperature is lower with cooler lighting, and vice versa.

In this way, temperature dependent lighting always chooses the right colour temperature for maximum comfort. At the same time it helps you to save energy by raising felt temperature in winter, and lowering in summer, which results in less energy spent for heating and air conditioning.

Low Cost

Since our product is completely custom engineered, without using much pre-made parts, it is either easy and affordable for everyone to reproduce, or able to be produced in larger quantities for an estimated cost of less than 35 EUR.

Fully customizable

You can customize the features of MSP430lamp by reprogramming the integrated MSP430F5435A microcontroller.

All you need is to plug in the usb programmer which comes with your Chronos watch into the pin-header of the Controller-Board of MSP430lamp, and you get a fully featured programming-/debugging interface.

In the end you could drill a hole in the bottom of the lamp housing, so it will be reprogrammable in a fully assembled state.

We have chosen an MSP430F5435A, because it is a powerful starting point for your very own custom application!

Pictures & Videos

Usage Instructions

Technical Background

Color models

Using the HSV or HSL color model makes it possible to change the colour of a RGB LED-Lamp in a more natural way, keeping contrast and saturation at a constant level when only changing the color value. H, S and V represent Hue(representing a color tint), Saturation and a greylevel-Brightness.

For a constant bright light, you will keep S and V at constant values while rotation the H value in a circle between 0 and 360 degrees.

If you want to be able to make saturation decrease and get the most possible brightness with an increasing "V"(=Value) you would then rather use the HSL colourspace, which is an enhanced HSV colorspace that starts to reduce saturation and raising other colors when over 1/2 of the maximal "L"-Value is reached.

HSL and HSV Colour Space

So in the end the HSV or HSL model can be used for a more natural setting of the wanted color, and implementing smooth color changes.

Hardware Design

Mechanical Dimensions

Exact definitions for the 3 PCBs and the housing:

File:Msp430lamp mechanical dimensions.pdf

PCB Schematics and Layout

Schematics and Board Layouts - Eagle Design Files: File:Msp430lamp.zip

Schematics and Board Layouts in PDF Format: File:Msp430lamp schematic and board.pdf

BOM

Controller/Radio PCB:

Part Device Package Name Value Price (EUR)
C1 C-EUC0805 C0805 Capacitor 0.47uF 0.15
C2 C-EUC1206 C1206 Cap 100nF 0.05
C3 C-EUC0603 C0603 Cap 4.7u 0.12
C4 C-EUC1206 C1206 Cap 100nF 0.05
C13 C-EUC0805 C0805 Cap 100n 0.05
C14 C-EUC0805 C0805 Cap 220p 0.05
C15 C-EUC0805 C0805 Cap 3.9p 0.05
C16 C-EUC0805 C0805 Cap 3.9p 0.05
C17 C-EUC0805 C0805 Cap 220p 0.05
C18 C-EUC0805 C0805 Cap 8.2p 0.05
C19 C-EUC0805 C0805 Cap 5.6p 0.05
C20 C-EUC0805 C0805 Cap 220p 0.05
C21 C-EUC0805 C0805 Cap 33p 0.05
C22 C-EUC0805 C0805 Cap 33p 0.05
CONTROL F54XX[A]---PN80 PN80 MSP430F5435A 5435A 3.90
D1 ZENER-DIODESOD80C SOD80C Zener-Diode 3.3V 0.035
EZ430 PINHEAD_PINHD-1X10S PINHEAD_1X10S PinHeader 1x10 0.10
IC4 CC1100 QFN50P400X400X90-21N CC1101 CC1101 1.65
J1 JACK-PLUG0 SPC4077 Power-Jack 2.5mm 0.18
JP1 PINHD-1X4 1X04 PinHeader 1x4 0.10
JP2 PINHD-1X1 1X01 PinHeader 1x1 0.01
JP3 PINHD-1X2 1X02 PinHeader 1x2 0.10
JP4 PINHD-1X2/90 1X02/90 PinHeader 1x2 0.10
JP5 PINHD-1X4/90 1X04/90 PinHeader 1x4 0.10
JP6 PINHD-1X1 1X01 PinHeader 1x1 0.01
JP7 PINHD-1X1 1X01 PinHeader 1x1 0.01
JP8 PINHD-1X1 1X01 PinHeader 1x1 0.01
JP9 PINHD-1X1 1X01 PinHeader 1x1 0.01
JP10 PINHD-1X1 1X01 PinHeader 1x1 0.01
L4 L-EUL2012C L2012C Inductor 27nH 0.16
L5 L-EUL2012C L2012C Inductor 27nH 0.16
L6 L-EUL2012C L2012C Inductor 27nH 0.16
L7 L-EUL2012C L2012C Inductor 27nH 0.16
Q1 CRYSTALTC26V TC26V Crystal 32768Hz 0.15
Q2 CRYSTALHC49S HC49/S Crystal 27MHz 0.18
R1 R-EU_R0805 R0805 Resistor 330 0.10
R9 R-EU_M1206 M1206 Resistor 0 0.10
R11 R-EU_V234/12 V234/12 Resistor 56k 0.10
Sum 8.465


LED PCB:

Part Device Package Name Value Price (EUR)
BLUE_11LM SEOULSMD SEOUL Seoul Semiconductor LED RGB 4.95
C4 C-EUC0805 C0805 Cap 22u 0.07
C5 C-EUC0603 C0603 Cap 4.7u 0.12
C6 C-EUC0603 C0603 Cap 4.7u 0.12
C7 C-EUC0805 C0805 Cap 22u 0.07
C8 C-EUC0603 C0603 Cap 4.7u 0.12
C9 C-EUC0603 C0603 Cap 4.7u 0.12
C10 C-EUC0805 C0805 Cap 22u 0.07
C11 C-EUC0603 C0603 Cap 4.7u 0.12
C12 C-EUC0603 C0603 Cap 4.7u 0.12
D2 DIODE-SOD80C SOD80C Diode 1N4148 0.015
D3 DIODE-SOD80C SOD80C Diode 1N4148 0.015
D4 DIODE-SOD80C SOD80C Diode 1N4148 0.015
GREEN_48LM SEOULSMD SEOUL Seoul Semiconductor LED RGB 5.95
IC1 TPS77001 SOT23-DBV TPS62260 600mA 1.00
IC2 TPS77001 SOT23-DBV TPS62260 600mA 1.00
IC3 TPS77001 SOT23-DBV TPS62260 600mA 1.00
JP1 PINHD-1X2 1X02 PinHeader 1x2 0.05
JP2 PINHD-1X4 1X04 PinHeader 1x4 0.05
L1 L-EUL1210 L1210 Inductor 2.2uH 0.26
L2 L-EUL1210 L1210 Inductor 2.2uH 0.26
L3 L-EUL1210 L1210 Inductor 2.2uH 0.26
R2 R-EU_R1206 R1206 Resistor 10k 0.10
R3 R-EU_R1206 R1206 Resistor 10k 0.10
R4 R-EU_R1206 R1206 Resistor 1.8 0.10
R5 R-EU_R1206 R1206 Resistor 10k 0.10
R6 R-EU_R1206 R1206 Resistor 10k 0.10
R7 R-EU_R1206 R1206 Resistor 1.8 0.10
R8 R-EU_R1206 R1206 Resistor 10k 0.10
R9 R-EU_R1206 R1206 Resistor 10k 0.10
R10 R-EU_R1206 R1206 Resistor 1.8 0.10
RED_30LM SEOULSMD SEOUL Seoul Semiconductor LED RGB 3.95
Sum 20.605


7-Segment Board:

Part Device Package Name Value Price (EUR)
JP1 PINHD-1X2 1X02 PinHeader 1x2 0.05
JP2 PINHD-1X4 1X04 PinHeader 1x4 0.05
LED1 7-SEG_SA56-11 SA56-11 SA56-11 GWA SA56-11 0.43
LED2 7-SEG_SA56-11 SA56-11 SA56-11 GWA SA56-11 0.43
LED3 7-SEG_SA56-11 SA56-11 SA56-11 GWA SA56-11 0.43
LED4 7-SEG_SA56-11 SA56-11 SA56-11 GWA SA56-11 0.43
R1 R-EU_R1206 R1206 Resistor 1.8+- 0.10
R2 R-EU_R1206 R1206 Resistor 10k 0.10
R3 R-EU_R1206 R1206 Resistor 10k 0.10
R4 R-EU_R1206 R1206 Resistor 10k 0.10
R5 R-EU_R1206 R1206 Resistor 10k 0.10
R6 R-EU_R1206 R1206 Resistor 1.8+- 0.10
TLC592X1 TLC5925 SSOP24 TLC5925 45mA 0.50
TLC592X2 TLC5925 SSOP24 TLC5925 45mA 0.50
Sum 3.42

Still TODO

Hardware

The CC1101 <-> F5435A communication on the bottom PCB has still to be completely tested and soldered.

Source Code

So far only test source code was created. The full application still has to be programmed - but we already did investigations about, for example colorspaces, like mentioned above in "technical background".

Appendix: How-to etch PCB's at home

We needed a custom PCB to be able to do our own board design, but it wasn't in the budget of non-ti parts of < 50EUR - so we needed to learn how to etch PCBs at home by ourselves!

We tried the well-known "direct-toner" method, ironing the toner of a laser-printer on a raw copper coated PCB (without photo-resist!) - with success!

This is a good method for doing custom prototype PCBs at home, as it is cheap and effective (QFP is quite possible if you have the skills to solder it).

Here is how we do it:

Prerequisites

You can either get an etching kit, which has all the required materials (even raw PCBs) for 9,00 EUR - or you can get the materials separately:

  • Sodium persulfate (Na2SO8) ~100g dissolved in ~450ml water - this can even be reused later for a lot of further etchings :-)
  • Raw copper board - we got raw material to be cut by ourselves later (1kg for 3,50 EUR from pollin.de)
  • Thin wire to contact through two-sided PCBs (~0,6mm)
  • (Cheap) Paper from any catalogue (e.g. reichelt) - they don't have to be white, the print on it does not influence the results

and some tools we already had:

  • Flat iron
  • Laser printer
  • Cotton cloth
  • Miniature drill with 0,6 0,8 and 1,0mm drills
  • Cutter OR saw OR miniature power drill with blade (to cut the copper boards)
  • Plastic container or small pan(from the etching kit) - sodium persulfate does not dissolve plastic
  • some sort of clamp(s) for drilling help
  • Plastic tweezers (also included in the etching kit) - or some other helper for moving the board in the etching solvent later

Tools/materials that might make your life easier, but could be omitted:

  • Safety gloves and safety goggles (recommended)
  • Needles for easier aligning of two layers
  • Water resistent permanent marker
  • Flux SK10 "Kontakt Chemie Lötlack SK10" (this is corrosion protection resin and flux in one, to be sprayed on the etched PCBs)
  • Acetone / Nail Polish Remover based on Acetone (Easier removal of the toner from the etched PCBs - otherwise you would need to use sandpaper)
  • Sandpaper >400 grade to "polish" the PCBs before soldering or spraying corrosion protection on them

Getting the print layer on the raw copper board

First layer

  • Print the circuit with a high toner setting on cheap catalogue paper (it doesn't matter what is already on the catalogue paper, this won't get transfered to the board at all) - watch out to have it mirrored or not, depending on if it is the top or bottom layer
  • Saw a raw copper board to the required size
  • Use the flat iron to iron the printed circuit on the copper, approximately do this:
    • Flat iron on lowest setting, and no steam!
    • Use the cotton cloth between flat iron, paper and board
    • First iron only for some seconds to get the paper aligned at the right position, then iron for around 3-4min continuously, wait a moment to let it cool down hand hot or lower, and again for around 2-3min
  • Remove the paper in water and see if it was successful, if not remove the toner with acetone and try again



Second layer

  • Either just try to align it by looking at the edges, or:
    • Use a drill to drill 2-3 holes
    • align the other layer with needles or anything else to the holes
  • Now do the same ironing as above, but protecting the other side with another piece of cheap catalogue paper

After finishing both layers, you can correct any smaller errors on any of the sides with a water resistent marker.

If all looks fine, you are good to go for the next step

Etching the PCB

After all the etching itself is one of the easiest steps:

  • Put up the plastic pan with the sodium persulfate and wait until it has dissolved in water - you can use distilled or tap water, but distilled water might be better - if the water is heated up to around 50°C it will also etch faster, but it is not needed
  • Put the board inside the pan and wait - if you have tweezers you could move it around now and then, which is also supposed to make it etch faster
  • After all visible copper is removed on both sides, remove it from the pan and put it into some container with tap water inside

Now just clean everything up. Keep the sodium sulfate by just putting it in a plastic bottle - but for safety, make visible that it is nothing to drink! If you want to dispose it, also watch out your countries restrictions where to dispose potential hazardous waste!


Postprocessing the PCB to make it ready for soldering

Now there are multiple possibilities to post-process the PCB. But you have to at least do these:

  • Drill all holes
  • Do either of:
    1. either sandpaper away the toner from all or all relevant parts (you could also just sandpaper away parts that need to be soldered)
    2. or use acetone/nail polish remover to remove the toner in a cleaner and faster way
  • Connect all vias by soldering thin wire through the via-holes

Optional things are::

  • Sandpaper the PCB with >400 sandpaper,
  • Add corrosion protection / soldering help resin.

References

Power-LED Board: TPS62260 Step-Down DC/DC Converter TPS62260EVM-229 TPS62260 Evaluation Module

F5435A and CC1101 Board: MSP430F5435A Ultra-Low Power Microcontroller CC1101 Low-Power Sub-1GHz Radio

7-Segment Board: TLC5925 Led-Sink Driver