Simple BSL memory programmer circuit for the MSP430 microcontroller

Simple MSP430 microcontroller BSL programmer.

This is a circuit that was quickly built using an existing MAX232 based board. If you already got one, then you can take advantage of it to quickly start programming and using your MSP430 microcontroller.

Click the link for the schematic and description...

Some time ago I built a MAX232 board with a 7805 regulator on a pre-perforated board that made experimenting with different circuits and serial port a quicker task. Given its 5V and RS232 port it was getting buried and forgotten, but as I checked TI's documentation for a serial port BSL (Bootstrap Loader) memory programmer circuit for the MSP430 microcontroller I thought that it was a bit too complicated and that it required lots of parts, so after checking what was already available it made sense to use the almost forgotten circuit to simplify and speedup the time to my first MSP430 running program.

The ready made MAX232 circuit

A 5V MAX232 board.

This MAX232 circuit is the basic circuit described in its datasheet and allows access to its four level converters so that two null modem serial ports can be used at once or to convert the levels of other of the signals in the RS232 port. The blue block contains the inputs and outputs for the 5V level signals and the headers are the connections to the RS232 standard voltage level inputs and outputs.

The gray header is the regulated 5V output. The jumpers allow to disconnect the 5V regulator output to the MAX232 and the LEDs indicate power from the 5V regulator and that the MAX232 is receiving the 5V.

The schematic is shown in the image right below. Click the image for a larger view.

Handheld POV clock, schematics.

Description of the pins in CONN_7

5V: 5V from the power source.
V0: To 0V from the power source.
DTR: Directly to Pin 4 of the RS232 DE9 connector.
R1: RX1 (5V) from the MAX232, this signal is converted from the Pin 2 of the RS232 DE9 connector.
T1: TX1 (5V) connected to the MAX232, and its output is connected to the Pin 3 of the RS232 DE9 connector.
T2: TX2 (5V) connected to the MAX232 and its output is connected to the Pin 7 of the RS232 DE9 connector.

Circuit description

This circuit is composed of a basic MAX232 IC and a few additional level converters built with a few discrete components. Of course, you could modify this circuit to completely eliminate the MAX232.

The BSL programmer requires 4 lines from the serial port, 3 from PC to MSP430 and 1 from MSP430 to PC. In detail:

DE9 (PC) ↔ TI BSL connector (for the MSP430 microcontroller)

RXD(2) ← TXD(1) Inverting.
TXD(3) → RXD(3) Inverting.
DTR(4) → RST(4) Non inverting.
RTS(7) → TST(7) Inverting.
RTS(7) → TCK(2) Non inverting.

For further detail, refer to the “MSP430 Programming Via the Bootstrap Loader” guide from Texas Instruments.

As you can see, besides the voltage mismatch, the MAX232 has one RS232 to 5V level converter less than required, so simple circuits are used with few basic components for level conversion. Two 1N5819 Schottky rectifiers are used (D1 and D5) to help complying with the specified absolute maximum for any pin to not be higher than Vcc+0.3V or ever lower than -0.3V. As the current for the logical signals is very low these diodes allow the circuit to work within specifications, not so the 1N4148. As I did, you will have to measure the inputs and outputs on the MSP430 microcontroller side before connecting this circuit to the microcontroller to ensure that the maximum values are never exceeded for the particular device that you are using.

Both boards connected and ready to work:

A 5V MAX232 board.


Any standard BSL software for the serial port can be used with this circuit. I downloaded a freeware program named MSPFET that works pretty well in Windows and is fast and simple. I tried it in Ubuntu with WINE, it looked alright, detected and opened the serial port linked at COM1 and I could reset the microcontroller, but when trying to do anything else I got a “Synchronization error”, no matter what the settings.

I hope that this can make your introduction to the 16 bit MSP430 microcontrollers easier and faster and I invite you to post your opinions and share your experience in the comments section below.

Bookmark and Share