
Msp430lamp
From Texas Instruments Wiki
- MSP430lamp is an alarm clock with exciting additional features
- It wants to be a valuable product everybody needs every single day
- It will successfully replace all alarm clocks known so far
MSP430lamp
Contents |
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.
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:
- either sandpaper away the toner from all or all relevant parts (you could also just sandpaper away parts that need to be soldered)
- 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
Leave a Comment
