Playing with GDB on the new panStamp NRG

posted Mar 14, 2014, 12:16 PM by Daniel Berenguer   [ updated Mar 20, 2014, 2:33 PM ]

The new NRG board is finally being beta-tested. This means that we should be able to launch a commercial version in less than three months. In the meantime, we have created a special forum section where to discuss about our beta tests and the ongoing developments related to panStamp NRG.

This article shows an introspective view about GDB_bootloader, the compact bootloader included in our modules. This reduced version of GDB server lets us program the boards serially from msp430-gdb by means of a standard USB-UART (3.3V) gateway connected to the target board. On the other hand, NRG boards can also be programmed and debugged via JTAG SBW as well, in the same way we program launchpads. In summary, we provide two different programming methods depending on your needs and personal preferences.

Besides the firm-loading capability, the serial bootloader also implements a set of GDB instructions so that we can navigate into the internal memory of the CC430F5137 MCU and read/write values from it. This guide shows how to exploit this feature.

First of all, we need to put the board in programming mode, according to this guide. Once your serial converted is connected to the target board and Pin 12 tied to ground, restart the board. At this moment panStamp NRG will enter in programming mode. We can then open a terminal and run msp430-gdb. If you didn't install msp430-gdb previosly in your computer you can run it from Energia/hardware/tools/msp430/bin/.

msp430-gdb -b 38400 -ex 'set debug remote 0' -ex 'target remote your_serial_port'

Once GDB starts you will see something like this:

GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=msp430".
For bug reporting instructions, please see:
Remote debugging using /dev/ttyUSB0
0x00008000 in ?? ()

OK you are now "into" the MCU so you can query the value contained at any address with "x":

(gdb) x 0x1800
0x1800:    0xffffffff

Here we queried about the contents of address 0x1800, which is the start of the Info D region, one of four "pseudo EEPROM" spaces provided by the CC430 MCU. This page shows how the memory of the CC430F5137 MCU is organized.

On the other hand, we can also list the contents of a group of addresses. Below /10h means that we want 10 values, starting from 0x1800 to be displayed in 16-bit format:

(gdb) x /10h 0x1800
0x1800:    0xffff    0xffff    0xffff    0xffff    0xffff    0xffff    0xffff    0xffff
0x1810:    0xffff    0xffff

All the above 0xffff's mean that those memory locations remain erased. since we are working with Flash and not with EEPROM, before writing a single byte we need to erase the whole section. Don't worry too much about this since the panStamp library already does this for you.

OK now let's say that we want to write 0x1234 into a specific location with address 0x1885 (Info C memory space) which has previously been erased so that the current value is 0xFFFF:

(gdb) set {short}0x1885 = 0x1234

In summary, Rick Kimball did a great job and maybe in the future his compact GDB server might support new commands. Why not dreaming about debugging code on the CC430 with GDB some day?

Domodesk's Sensatel now compatible with panStamp

posted Jan 23, 2014, 6:21 AM by Daniel Berenguer   [ updated Jan 23, 2014, 6:25 AM ]

Our friends from Domodesk have just released a new version of Sensatel, their popular software for telemetry and control, which adds support for panStamp and SWAP: link to Domodesk's announcement.

Figure 1: Configuration of analog input

Sensatel focuses all kind of control projects, especially those related to Data Center Environmental Monitoring and Building Automation - Domodesk has a long experience in Spain and South America providing products and services in these areas -. Moreover, Sensatel is already compatible with other popular automation technologies such as Modbus, Zigbee, IEEE802.15.4 and proprietary IP.

Figure 2: Custom graphs generated from Sensatel

Domodesk is also an experienced integrator of panStamp. Having done some nice automation projects in Spain, this experience has been critical at the moment of developing the new version of Sensatel and OcuoX, Domodesk's next generation of Home Automation software.

panStamp NRG is coming...

posted Nov 11, 2013, 3:51 PM by Daniel Berenguer   [ updated Nov 12, 2013, 4:26 AM ]

panStamp NRG, the new version of our flexible wireless modules, is almost ready for beta-test. We have been contacted by lots of developers wanting to help us test the new platform and this is the kind of thing that makes us really proud. We are in fact preparing a special batch of beta units for this community of kamikazes, containing all the necessary to start developing for the new panStamps.

panStamp NRG
Figure 1 : New panStamp NRG

As you may see in the picture above, specifications have changed a bit since the first announcement was posted. We have omitted an on-board EEPROM since the CC430 already includes a specific region in flash (info memory) to save data into. On the other hand, future versions of the board will probably include a footprint on the bottom side for SPI RAM or EEPROM IC's.

One of the strengths of the new panStamp is that each board will be uniquely identifiable in the world thanks to the wafer ID and X-Y position of the MCU in the wafer. Thus, we will be able to use this unique ID as a MAC for our projects or even develop a DHCP mechanism to dynamically assign addresses to our wireless nodes.

And not less important, the onboard LED, thermistor and (optional) accelerometer will make our tiny modules more autonomous than ever. As an example, only a panStamp connected to a 3V battery will make a cheap wireless temperature sensor without the need of a carrier board or an external sensor.

Cheap wireless temperature sensor with panStamp

Figure 2 : Wireless temperature sensor powered by a CR2032 coin cell

The CC430F5137 is a surprising MCU. Hidden behind the modesty of a MSP430, it inherits all the low-power features of Texas Instrument's popular 16-bit cores. Besides the integrated radio, it also provides lots of interesting things like addressable digital pins, unique ID, 12-bit ADC's, hardware RTC, etc. This SOC works in fact perfect with out SWAP protocol, it is very reliable, efficient and, very important, it works with Energia. This great MCU, combined with our stack and all the onboard sensors and carrier boards will make the new NRG modules a serious alternative for any kind of low-power wireless project.

panStamp NRG will be proudly showcased at Smart City Expo (Barcelona) between 19-21 November so if you are in Barcelona around those dates please come to visit us at Hall 2, booth F 648 (Innovation Zone).

Smart City projects

posted Oct 10, 2013, 3:14 PM by Daniel Berenguer   [ updated Oct 11, 2013, 12:36 AM ]

panStamp started as a solution mainly for personal and home networks. We then realized that the Smart City concept is more than a simple commercial noise. Thus, after being invited to participate in some challenging projects we had to reconsider panStamp's initial communication schemes. As result, we recently added the extended address schema which opens the door for projects where handling hundreds or even thousands of nodes is a real need. Doing so panStamp had the opportunity to become the "wireless sensing gear" behind these projects.

panStamp in Smart City projects

These projects, among others, will be showcased at SIMO Network between 17th and 19th October in Madrid, where we will have the opportunity to talk to the attendance about panStamp and its natural adaptability. OK... we will also talk about how inexpensive is deploying wireless networks with panStamp...

For anyone who is not attending SIMO Network and still wants to know about our recent projects, we will release some white papers in the next weeks, before Smart City Expo, one of the most important trade shows and word congresses around Smart Cities and wireless sensors.

Fhem, German-engineered open automation

posted Sep 23, 2013, 9:27 AM by Daniel Berenguer   [ updated Sep 24, 2013, 2:26 PM ]

Fhem is an open source Home Automation software developed by a motivated community of German enthusiasts. The entire software is written in Perl so this is a real multiplatform application.This is in fact the kind of software that everyone wants to have at home as the central domotic server. Web interface, online charting and Perl scripting are some of fhem's main features but what really impacts the first time you read about this powerful application is the long list of supported devices and technologies.

Figure 1 : Fhem's standard web control interface - default style

Fhem also has some GUI front-ends for Android and iPhones, a bit like OpenRemote but fully focused on Fhem's centralized system. Here you may want to visit Fhem's website to see what the current offer of graphic front-ends is.

figure 2 : Fhem web GUI - Black style

Having worked in the Home Automation industry for years, Apart from Mr. House, which is now a bit "outfashioned" in my opinion, fhem is maybe the strongest competitor against the commercial army (HomeSeer, HAL, ...). Well, I have to mention other promising platforms like OpenDomo and FreeDomotic - let's keep an eye on them - but when you follow the creative activity around Fhem you can immediately feel how the community is pushing the project from behind, a real envy for anyone trying to maintain his own open source initiative, believe me.

Figure 3 : Fhem's charting front-end - ios7 style

But you know what? Now panStamp is proudly counting on some brilliant contributors from the fhem community. This brings us a lot of satisfaction since the fhem members are known to demand the best from their home systems and panStamp is again proving its extreme flexibility and adaptability to almost any environment. As result, only a few weeks took Andre to develop a fantastic panStamp plugin for Fhem. And I'm by no way exaggerating. Andre's work is probably the most sophisticated piece of software compatible with panStamp. Even more complete than lagarto in some areas and of course supporting much more technologies, fhem is probably called to become the first option in terms of software control around panStamp along the next months.

Figure 4 : panStamp RGB-driver board being controlled from Fhem

A good amount of Fhem's documentation is written in German but you'll easily find some English tutorials about how to install fhem and make it work for your preferred technologies. Otherwise, there is an active forum where you can post your questions in English ( In my case I only regret the lack of time because Fhem is the perfect excuse to take my German lessons out from the drawer. Exchanging with this community has become a highly enriching experience. Thanks guys!!

Imminent future...

posted Jul 12, 2013, 5:08 PM by Daniel Berenguer   [ updated Jul 13, 2013, 3:07 PM ]

panStamp was one year old in June but we forgot to prepare a decent celebration... To be honest, we were thoroughly working on our new line of wireless modules so we preferred to postpone the party. OK but, what do we have up our sleeves? It's not a secret, we were creating a new panStamp with all the benefits of the current line plus a set of new features which will make our modules and boards even more competitive and suitable for the professional market. The following is a picture of one of our new prototypes:

CC430-based panStamp compatible with Energia
Figure 1 : CC430-based panStamp compatible with Energia

The new modules are entirely based on a CC430F5137 SOC (made by Texas Instruments). This means that microcontroller and radio front-end are now integrated into a single IC capable to provide a nice list of characteristics:
  • 16-bit Microcontroller with 32 KB of Flash and 4 KB of SRAM.
  • On-board 2 KB EEPROM (I2C).
  • CC11XX compatible 868/915 MHz radio.
  • Clock speed from 12 MHz up to 24 MHz, depending on configuration and targeted consumption.
  • Six 12-bit Analog-to-Digital converters.
  • Digital functions (PWM, UART, I2C, SPI) can be connected to any physical I/O pin.
  • Low-power mode with RTC under 2 uA.
  • Low-power mode with internal VLO oscillator under 1 uA.
  • Voltage supply range starting from 2V.
  • 128-bit AES Security Encryption and Decryption Coprocessor.

As you may have noticed from the pictures, new modules will not include the pin headers  Moreover, they will incorporate a set of SMD footprints on the bottom layer for optional components such as an additional SRAM memory, accelerometer and other sensors. This will make new panStamps simpler to work with even in the absence of a carrier board.

Figure 2 :  panStamp prototypes with ez430 programmer

The above picture shows a prototype connected to an ez430 programmer. We have not developed a serial or wireless bootloader yet so we have to rely on external programmers during our developments. You can forget about that horizontal pin socket, it will not appear in the final version.

OK but what about the programming environment? How can we work with a pure Texas Instruments solution and still keep compatibility with the Arduino fashion? The response is Energia, an open source initiative created to port Wiring (the IDE used by Arduino) for the MSP430 family of MCU's and LaunchPad boards and also port most libraries already created for Arduino.

panStamp sketch loaded and compiled from Energia

Figure 3 : panStamp sketch loaded and compiled from Energia

Unfortunately the CC430 SOC's are not currently in the list of supported microcontrollers by Energia. The good news is that CC430's have a MSP430 "inside" so porting the existing core functions is not so complex. And we are doing so, thanks to Zac Manchester, from KickSat, who provided us with an initial port of Energia for the CC430 IC and a very valuable support (thanks again Zac). For anyone interested, we are maintaining our own fork of Energia here but the guys from Energia have already told us about their interest to merge our work back to the official version soon.

Commercial release of this new line of panStamps is planned for September-October. In the meantime, "classic" panStamps based on the Atmega328p are still available from our web store and we will make both versions coexist for some months.

Protocol evolution

posted Jun 29, 2013, 1:12 AM by Daniel Berenguer   [ updated Jun 29, 2013, 1:13 AM ]

SWAP was created some time ago with the primary goal to provide M2M interoperability between simple wireless devices. In order to simplify its adoption and usability in MCU's with little flash and memory, SWAP was unprovided with some functionality included in some other protocols (dhcp, mesh, ...). Instead, SWAP relies on the natural long-distance capability of CC11XX radios and also on an initial manual configuration at the moment of deploying wireless networks. All this makes SWAP implementable in just a few kilobytes of flash (the current panStamp stack takes around 7 KB).

The above said, SWAP needs to progress in some way. Even if we give the possibility to keep the bare minimum implementation and basic functionality, users need a way to optionally enable new features on the protocol and stack. The following is a list of features that are being taken as a reference for future developments:

1. Formal adoption of swapstream as our "official" way to transmit non-fixed length streams of data between nodes. We shouldl be able to implement some other subprotocols on top of it

2. Self-discovery and resource identification of devices. With this feature, nodes wouldn't need to rely on an external XML repository to know about the features and resources provided by any node in a SWAP network.

3. Dynamic address allocation. Some kind of DHCP for SWAP, instead of having to set addresses manually. One of the challenges around this implementation will be how to uniquely identify each unallocated node since proprietary MAC numbers are usually used by this kind of functionality.

4. Over the air (OTA) programming, most probably on top of swapstream.

5. Standard recommendation of start-up sequence for all nodes and sample applications (time in reception mode before going to sleep, sequence of messages, etc).

6. Standard recommendation to periodically enter SYSTATE_SYNC to be able to reconfigure panstamps that are physically inaccessible.

7. Optional 2-byte addresses instead of 1-byte. This will let us deploy "smart-city" capable networks.

Indeed, we have a huge challenge in front of us. We will try to work on the above list of features, step by step, along with the development of our new family of panStamps and carrier boards.

What a great weekend!

posted May 22, 2013, 1:58 AM by Daniel Berenguer   [ updated May 22, 2013, 2:09 AM ]

Confirmed, Maker Faire Bay Area is the greatest maker show in the Earth. What an unforgettable weekend! We can only recommend participating in this big festivity at least once in your lives. Big thanks to all makers and enthusiasts having taken the time to visit us and thanks Californians for having made us feel like at home.

panStamp at Maker Faire Bay Area 2013

Countdown to the Bay Area Maker Faire!

posted May 15, 2013, 2:49 AM by Daniel Berenguer

I'm writing this announcement whilst preparing our baggages for the trip. More than 9000 Km to cover in a single day so please don't blame me if I take some time to respond your e-mails and posts in the forum.

This is by no doubt one of the most exciting events we will ever attend and we want to be ready for the challenge. Besides showcasing a full demo we want to show some of our ideas and prototypes for the next months. We have also created a new product bundle called panStamp minikit, consisting of three panStamps and a panStick for the show. These minikits will be offered to attendees and participants at $60 so don't miss this opportunity if you are attending Maker Faire on 18th-19th May. Remember, panStmap will be at booth 408 in the Expo Hall (Startup Area).
panStamp minikit. Promotional offer for Maker Faire

Meter gateway. A new approach for energy monitoring

posted May 14, 2013, 2:48 AM by Daniel Berenguer   [ updated May 14, 2013, 5:04 AM ]

We have gotten a good experience from the meter-board project. We have learned about the potential of measuring energy consumptions from a DIY perspective and how each application may differ from the other. Meter-board is called to become one of our most popular reference designs, a very cheap way to read up to seven power circuits from a single panStamp. And we are not talking about simply reading RMS current values but complete readings about active and apparent power, power factor and RMS currents and voltage. However we have finally decided to not to produce these boards in a regular basis. Our reasons may be summarized here:

  • Atmel AVR's ADC's are probably not the most suitable converters for this kind of applications.
  • Meter-boards needs to be calibrated for each new voltage or current transformer.
  • Meter-board can only read single-phase circuits. Users interested in reading 3-phase lines had to search elsewhere.
  • Selling this board implies maintaining a stock of current transformers at different currents. Then we had to source voltage transformers for different voltages and frequencies too.
  • Again, we hit against the usual certification issues. Even if we were using voltage and current transformers, the risk of electric hazard is always there, specially when these devices have to be mounted into an electric box.
  • And finally, we don't want to become a supplier of sub-metering products. We believe that doing this would require us to allocate an important part of our time and resources.
As result, we have a nice reference design but we need to take a very different approach. The question is: why re-inventing the wheel? There are tons of power meter devices in the market, each one for its own specific use. We have single-phase meters for sub-metering applications, we have all those utility meters, three-phase devices, bi-directional managers, expensive professional devices, cheap DIN-rail meters, certified products for each market, etc, etc. And you know what?, a good amount of these products already provide a serial interface. This is the case of all the families of Modbus meters, RS485 proprietary devices and other serial solutions based on RS232 or opto-isolated TTL.. Thus, why not taking the readings from existing power meters?

After concluding the above, we put our tired minds to work. Some hours after that got a new design, our new RS485 gateway:

RS485 gateway for panStamp
Figure 1 : RS485 gateway for panStamp

The potential for this device is huge: a cheap wireless gateway capable to read energy meters from many companies, metering or submetering, single-phase or 3-phase, The available enclosure would let us mount the gateway on a DIN-rail or on the wall, close to the power meter.

RS485 gateway with cover

Figure 2 : RS485 gateway with cover

As a starting point, we will develop a SWAP-enabled application for Modbus-compatible meters. We have even ordered some of these cheap (Modbus) power meters from aliexpress (take a look at those prices!).

Maker Faire will be a good place where to validate the concept. We expect to get comments and fresh ideas from visitors and makers before diving into a new promising development adventure. Remember, we will be at booth 408, Startup area in the Expo Hall next weekend in the greatest Maker Faire event in the world. Can't wait!!


1-10 of 61