panStamp NRG is an advanced programmable wireless module for telemetry and control applications. It keeps the simplicity and quick programming capabilities of our classic AVR modules whilst providing lots of new functionalities.
Unlike panStamp AVR, that relies on the Arduino IDE as the programming environment, panStamp NRG uses Energia IDE, which shares the same syntax and programming techniques as Arduino.
panStamp NRG is an ultra-low-power device specifically designed to last for years from simple batteries whilst doing measurements and transmitting them over hundreds of meters. This combined with the availability of our open source libraries and tools makes panStam NRG one of the most interesting and quickest development platforms in the WSN panorama.
The following is the pin diagram of panStamp NRG:
One of the great things about the CC430 processor is that digital functions (green lines) can be moved to any P1 or P2 pin. Green text shows the default position of these functions.
CC430 processors do not include EEPROM space. Instead, they provide a special region in Flash to store configurations. This region is called info memory and is 512 bytes long in the CC430F5137 MCU. The panStamp library provides the necessary functions to use this info space as any other EEPROM-based region.
panStamp NRG can be programmed in two different ways. The first method is SBW (Serial bi-wire) JTAG interface. Any MSP430 programmer supporting SBW can be used to program panStamps, including MSP430 Launchpads and ez430 programmers, which are very low cost programming interfaces.
On the other hand, panStamp NRG can also be programmed serially from GDB, the popular open source debugging software. Any kind of USB-UART converter can be used for this task. Serial programming is the method used when loading firmware images from the Energia IDE.
The following is the necessary wiring diagram according of the programming method being used:
Figure 3 : Wiring diagram to program the NRG board
panStamp's serial firmware loader, developed by Rick Kimball, is a compact implementation of the GDB server for the CC430 familly. Although this server doesn't provide full debugging capabilities, it can be used to read and write memory sections without having to load any specific firmware into the target board. This GDB bootloader replaces the old BSL loader flashed by Texas Instruments in their chips. Unlike Atmega's, CC430 processors include a separate 2KB region in flash called "BSL memory" that can be used to store bootloaders. Thus, programmers can still keep the whole 32KB flash region for their programs.
In order to load a new firmware, the panStamp NRG board has to enter the bootloading mode. This is achieved by connecting P2.0 to ground before rebooting the board. Once the board has been programmed and in order to exit from bootloading mode, P2.0 has to be unconnected from ground and then a new reset or power-cycle has to be applied to the board.
Energia is a variation of Processing, the original IDE used by Arduino, for MSP430's and Stellaris processors. Energia now provides support for panStamp NRG as well so that users switching from panStamp AVR to panStamp NRG will notice very few differences on the programming side.
Like the AVR version of panStamp with the Arduino IDE, most of the critical aspects of the NRG board (radio, power management, RTC, ...) are covered by the panStamp library and only generic functions like UART, SPI, I2C and I/O management are delegated to Energia in order to guarantee compatibility with other libraries.