-
Notifications
You must be signed in to change notification settings - Fork 29
panStamp NRG3. Technical details
- Introduction
- Specifications
- Pin mapping
- Footprint
- Memory Organization
- Info memory
- Programming methods
- SBW programming
- Serial programming
- Wireless programming
- Links
NRG3 is panStamp's most powerful wireless module. Based on the popular CC430F5137 SoC and the CC1190 RF amplifier, this module provides precise 12-bit analog inputs, digital ports, real-time clock, USB, on-board sensors and many other useful tools for the most challenging wireless IoT projects. NRG3 is also programmable from the Arduino IDE and fully compatible NRG1 and NRG2. Most of the critical aspects of the NRG board (radio, power management, RTC, ...) are covered by the panStamp core functions and only generic functions like UART, SPI, I2C and I/O management are delegated to Arduino in order to guarantee compatibility with other libraries and save power.
NRG3 includes a power amplifier capable to provide over 20 dBm of transmission power and a low noise amplifier featuring an improved (+6dB) reception sensitivity. This makes NRG3 the perfect board for any IoT project, outdoors and indoors.
NRG3 is also prepared to host a list of on-board sensors and a dual AA battery pack. As result, NRG3 can be used stand-alone in many battery-powered applications requiring transmission of IoT data.
Another nice feature of NRG3 is that it includes a couple of USB connectors. The first connector is used for USB communications (programming from the Arduino IDE and as a serial modem) whilst the second connector can be used simply to power the board from 5VDC whilst leaving the on-board UART for other purposes.
- Dimensions: 1.30 x 2.55 in (33 x 65 mm)
- MCU: CC430F5137 (MSP430 core + CC11XX radio SOC)
- PA+LNA: CC1190
- Speed: Programmable speed between 8MHz and 24MHz
- Flash: 32KB
- RAM: 4KB
- Info memory: 512 bytes
- Six 12-bit ADC inputs
- Unique MAC address
- Voltage range: from 2VDC to 3.6VDC
- Rx current: 18 mA max (high gain mode disabled)
- Tx current: 36 mA max (high gain mode disabled)
- Sleep current: 2.5 uA (powered from BAT pin)
- Maximum Tx power: over +20 dBm
- RF bands: 868/905/915/918 MHz ISM bands
- Communication distance: Over 1Km at 4800 bps with high gain mode disabled and over 5Km wigh HGM enabled (Under good LoS conditions)
- 128-bit AES Security Encryption
- Support for FHSS (Frequency-Hopping Spread Spectrum)
- On-board USB communication
- On-board 3.3V LDO
- On-board LED's
- Programmable via SBW, serial BSL and wirelessly (SWAP)
- On-board sockets for multiple sensors
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.
Digital pins 16 to 22 (port 3) can not be interrupted by pin level changes during sleep mode. The rest of pins can be used with attachInterrupt and can wake-up the module from deep sleep mode. Also, if you use any kind of external interruption (like the counter of a sensor), you have to use a different pin. In fact, if you use a pin of the previous mentioned, the interruption will not work properly after sleep.
All GND pins are internally connected to ground (0 V).
The following table shows how the memory of the CC430F5137 MCU is distributed:
Another interesting point about the MSP430 architecture is that Flash and RAM share a common addressing schema so that we can access address locations in the same way, regardless of the nature of the memory. This is really appreciated for example when a given constant variable needs to be permanently located in flash since this variable will never be copied into RAM by the stack.
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 three 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.
panStamp NRG can also be programmed serially via Texas Instrument's BSL. Any kind of USB-UART converter can be used for this task, including our panSticks of course. Serial programming is the method used when loading firmware images from the Arduino 1.6 IDE.
Finally, panStamp NRG can be flashed (following one of the above methods) with SWAP firmware loader. With this bootloader in place, NRG modules can be wirelessly programmed from SWAPdmt (command-line version).