The National Semiconductor LMX9838 Bluetooth Serial Port module is a fully integrated Bluetooth 2.0 baseband controller, 2.4 GHz radio, crystal, antenna, LDO and discreets; combined to form a complete small form factor Bluetooth (BT) node . I made a board (not my best soldering job) to connect an LMX9838 to a Launchpad and test it out. The circuit is really simple, the module needs a couple of resistor to set the baud rate (9600) and 3.3 volt, that it’s!
The basic circuit (just sending data) use three wires; VCC, GND and the TX->RX connection.
I programed the Launchpad (LP) using Energia but I wasn´t receiving the right data using the BT module. The circuit seemed to be fine so I tried with a simpler program that just send “hello world” every time I press the S2 switch. This is what I got:
D is an MSP430G2452 using the LP serial interface to send the message, C is the same MCU with the BT module. The data was there but for some reason the BT module wasn’t sending the whole message. Then I changed the MCU and used an MSP430G2553 instead and A shows the LP serial interface and B shows the data received through the BT module. It seemed like the BT module doesn’t like the software UART implemented in the MSP430G2452 but works fine with the hardware UART in the MSP430G2553. I connected the Open Bench Logic Sniffer to see what’s going on and the signals seemed to be the same with both microcontrollers. I analyzed the data stream with the software and there was a little difference between the signals.
The first image shows that the baud rate using the MSP430G2553 with hardware UART is 9523, pretty close to 9600. The other one is the software UART and the baud rate there is 9090, a 5.31% difference that the BT module seems to not be able to handle.