This compact PCB interfaces a low power MSP430G2553 microcontroller with a Nordic NRF24L01+ 2.4 GHz radio frequency transceiver module. It's well adapted to serve as a wireless sensor node, but has enough I/O options to be put to use wherever a small microcontroller is required. PCBs now available from Tindie!
I set out to design a wireless sensor PCB that could be inexpensively prototyped in quantities of 10. NRF24L01+ modules are exceedingly cheap (~$10 for 10), use very little power, and have sufficient range for most indoor projects. Low power MSP430 microcontrollers make an ideal partner for battery powered applications. I settled on the MSP430G2553, but the MSP430G2452 can be substituted whenever hardware UART is not required. Firmware for either chip can easily be prototyped using a Launchpad.
The layout of this board is derived from the Spirillis boosterpack for easy compatibility with the Spirillis msprf24 library. I/O options include a 3.5 mm jack socket or 3-pin header, a 4-pin header with an analogue input, and a 6-pin programming/serial header. The dimensions of the board are suitable for panelizing (2 per 5x5 cm prototype).
Members of the 43oh forum came forward with design tips. J.P. Norair suggested LED indicators for the TX and RX processes controlled by firmware. I originally designed the board to be powered by a Lithium coin cell, but Spirillis showed the way forward so I added pin holes for a 2xAA battery holder. Power can also be supplied to any of the pin headers. I also figured out how to measure the battery voltage without using a voltage divider and broke out the pin I had earmarked for that as an analogue input with RC low pass filter. Finally, I put 220 Ω resistors on the power and data wires to the jack socket to ameliorate momentary shorts when plugging in.
Overall I am happy with the design but there are a few more revisions that could be made. The TXD and RXD labels are permuted on the 6-pin header. The watch crystal is useful for use in real time clocks as well as for certain low power modes, but C4 and C5 are surplus to requirements as the capacitance can be set in firmware. Finally, the radio module bends back over the board for a compact layout. It might be preferable to orient the header the other way for improved range and better access to the tactile switch. As things stand, one option is to mount the switch on the reverse of the PCB. Another is to use a right angle header to attach the RF module perpendicular to the board.
Here is version 02 of the Magic Mote PCB. The tactile switch is more accessible at the side of the board, the programming/serial header is now IDC6 compatible, and there is improved isolation of the ground plane under the watch crystal.