LCD Booster pack – first versions ready

I have made three LCD boosterpacks for the MSP430 Launchpad or other 3V microcontrollers. These are based on the Powertip PE9665WRF display with the ST7579 controller. The screen is small (28x19mm viewable area) and requires little power (0.2mA). It is SPI-based, has backlight and  has 96×65 dots. It’s a perfect display if you need a cheap, small and low-power display for your next project. If you want to make your own boosterpack, I can also sell the display itself. I have bought a bunch of 250 displays, so need to get rid of them. I won’t be making any money on these boosterpack. I’m doing it for fun and learning. A first batch will soon be available in the store.

The boosterpacks are currently in their first version, and may evolve and be improved from this description. The packs are:

  • LCD Touch Boosterpack – a classic boosterpack with the LCD and 4 capacitive touch button areas (the display isn’t touch-enabled, in case you were wondering, just the 4 areas below the screen).
  • LCD Button Boosterpack – can be a classic boosterpack to mount onto a Launchpad or it has a place to put a DIP MSP430 onto it, so you can use the Boosterpack without a Launchpad. Also has room to solder on a regulator in case you want to run it off a battery.
  • LCD Watch – not really a boosterpack, as it won’t fit onto the Launchpad. It’s smaller in size and is meant to be part of a wrist-watch kit.

There is more info about the boosterpacks on a permanent page here on my blog, including a link to a video.

Thermistor based thermometer for MSP430

I’ve made some MSP430 code for a high-temperature capable thermometer, by adapting the code from Reprap. The code uses the B57560G104F thermistor that can measure temperatures up to 300 Degrees C. As a display I suggest you buy the display I’m showing below (will soon be available to buy) or for example this character-display from Farnell.

The picture shows the temperature in a display and in front the Thermistor. These are really tiny glass beads that can handle high temperatures, but be careful with how you mount it.

The circuit is basically

Vcc — 10K resistor — P1.2 — Thermistor — 0V

It’s also good to place a 1uF capacitor across the thermistor to remove noise.

IAR MSP430 code is below. It can easily be adapted to CCS or MSPGCC.

Continue reading Thermistor based thermometer for MSP430

Remote controlled power sockets for home automation etc

I’ve had these remote controlled sockets lying around for a while. They can be controlled via a radio-based remote. They often use 434MHz and OOK modulation (on-off-shift keying, which basically is turning the radio signal on and off based on a digital signal). This is a very simple protocol and frequency to reverse-engineer. This one is called NEXA, but I think there are quite a few versions with different brand names using the same RF protocol.

First take a receiver module such as this one. Connect it to power and ground, place an 8 cm wire to the antenna and connect the signal to a digital signal oscilloscope. If you don’t have one, you should get one. There are some sub-100 USD ones that work very well. I use Open Logic Sniffer, which is a great tool. Below is a picture showing a sample collected data. This is not the one from my NEXA remote controlled power socket. I didn’t save that one.

Connect it to the PC and you can see digital waveforms, timing etc on the PC. Use the remote that came with the socket to send a signal and read it using the receiver-module and the logic-sniffer. Press a button, and record the waveform. Note the timings etc. Zoom in to see the details. Try to see the timings + recognize specific repeating wave-forms. If you don’t have a logic-sniffer, you can also write a program to capture the timings of the signal using a simple MSP430-program. Then you have a DSO priced at $4.30 🙂 . Here is a picture of the Receiver-module.

Then use a transmitter module such as this one to send the same signal. Here’s a picture:

Use an MSP430 Launchpad or an Arduino as your microcontroller-board. Connect GND to ground, VCC to your Launchpad 3.5V and ANT to an 8 mm cable. Connect DATA to P1.0 and write a program to replicate the signal you captured using the DSO. I have one example that works with the above NEXA remote controlled socket in Inventortown on this link. You can take it from Inventortown and use it in your ‘local’ compiler if you prefer. This code is just for MSP430 Launchpad.

You can probably use the same mechanism to replicate many garage door openers also. I’ve used this code and the mentioned devices from Farnell to remote control devices in my house. The good thing about doing this is that you don’t have to worry about playing with higher voltages. The external, certified power socket takes care of all the dangerous voltages, and you just control it remotely. Very safe and nice. Source code is also below the line here.

Continue reading Remote controlled power sockets for home automation etc

LCD MSP430 Launchpad Booster pack

‘ve changed display type to SPI, and I have now received the first batch of an order for 250 displays, that I really planned to make a boosterpack with. I’m planning to order a test-batch of booster pack PCBs that look like this:


an the schematic:


The display looks similar to the above pictures, but is slightly smaller and I think maybe slightly better quality. It has backlight, and a 9-bit 3-line SPI interface. It’s quite small, so I’ve made another post about the possibility to make a wrist-watch kit from this display.

New version of MSP430 LCD watch?

I’ve now got the first batch of the 250 SPI B/W small LCD displays that I ordered, but I’m not quite sure what to do with them. The obvious thought is a booster pack, but since this is quite a small display I’m thinking maybe I could make a watch kit with it. I might also make some booster packs eventually.

The display data sheet is here. It is SPI-based, but it uses a 9-bit SPI interface. The first bit is decides whether it’s a write to the display memory or a config-command. As far as I understand, the USCI-chips don’t support 9 bits, while the USI ones do. I’ve made a bitbanging driver for it so far, and it works ok. I guess with an HW-driver it’ll be updating faster. I’ll see if maybe it can be tweaked onto the USCI peripheral by sending 2 bytes.

The features are:

– small (34 x 30 mm physical size. Viewing area 28×19)
– 3-line SPI 9-bit (Driver Sitronix ST7579-G2)
– low power
– backlight
– black and white LCD
– approx 3 USD cost

I made a watch with the earlier LCD display (i2c-version) I was using. Here’s a picture. The SPI-display is slightly smaller, but the display quality is similar (slightly better on the SPI display). I will have 250 of these, so if anyone is interested in this display for projects, let me know. I’m planning on making some packs that are finished soldered and can be sold in the shop, but it’s relatively easy to solder these displays onto a board for your own projects also.


So I’m planning on making a watch-board for the new display. It’ll have the display soldered onto one side. The other side will have space for example for a MSP430G2452. The design will be open source. Any suggestions to peripherals and buttons? I could put an accelerometer there, for example to detect taps on the display. I guess I could also put a radio in it???

A very basic start is here (this one has places for a header in case one wants to use the display as a breakout instead). The board design is a bit strange since I’ve used it to make a single-side test board also. So the ‘breakout’-traces are on the top only.



Github support on inventortown

I’ve now added support for cloning a github project into your Inventortown project. Basically:

1. Create a new empty project on Inventortown.
2. Click the ‘git clone’ on the left
3. Enter the readonly address for the github project you want to clone. For example git://
4. If your project had multiple main-files, you have to delete the ones you don’t want (the example has several files with main in them).
5. If your project had a directory structure, you may have to change the relative include files. The above function copies ALL the .h and .c files into a single directory, so you have to change files because of this.
6. Click compile…

It’s a very untested function. Please report if it works or not for you, and give feedback to how you’d like the function improved.

Playing Super Mario Theme on MSP430

Adam at Inventortown came up with something quite cool. He copied Bob Somers’ code which can play music and compiled it using Inventortown’s online compiler.

UPDATE: I couldn’t get that project to compile properly after the compiler has been updated, as it was for the old MSPGCC.  Bob Somers has updated his code for the new compiler. So I got it from his Github again and made a new project which is here.

And a video of it playing. (After programming with the Inventortown uploader, you need to unplug the board and plug it in again for it to work).

Grove Boosterpack for Launchpad (robot extension)

I’ve made a layout for a Grove-based BoosterPack + servo connectors, thinking this might be an ok robot platform. (Info on Grove sensors at SeeedStudio) I might also make one based on RJ11 (narrow ethernet-like connectors). These are more foolproof and easier for kids to use.

Grove really have quite a lot of sensors, and I think some of them at least are 3.5 V compatible.

The board has the following:
– Grove connectors for all pins
– Servo connectors for some pins
– Battery connector
– Voltage regulator
– Protection against opposite voltage connection (will it work??? Are there better ways?)
– Some extra space. Not sure what to add. Maybe a proximity sensor circuit.
– Some extra space that can be broken off as another board. Can maybe add some sensor boards here, but not sure which are best.

I’m planning to get some of these made at SeeedStudio (once the final design is done).