If you’re looking to connect things to the internet, with the goal of building some sort of “Internet of Things,” the new CC3200 chip from TI is an interesting option. Now you can get started quickly with the Energia development environment for the CC3200.
We discussed the CC3200 previously on Hackaday. The chip gives you an ARM Cortex M4 processor with a built-in WiFi stack and radio. It supports things like web servers and SSL out of the box.
Energia is an Arduino-like development environment for TI chips. It makes writing firmware for these devices easier, since a lot of the work is already done. The collection of libraries aids in getting prototypes running quickly. You can even debug Energia sketches using TI’s fully featured IDE.
With this new release of Energia, the existing Energia WiFi library supports the built-in WiFi radio on the CC3200. This should make prototyping of WiFi devices easier, and cheaper since the CC3200 Launchpad retails for $30.
This version of Energia also includes the Temboo library, which enables sketches generated in the temboo website to compile on the cc3200 LaunchPad. Temboo can generate Energia sketches for enabling the LaunchPad to interface with many REST APIs/web services. You can learn more here: https://www.temboo.com/hardware/ti
One of the premises of IoT is power management. Arduino style code, with it’s loop() paradigm reduces your battery life from months to hours. So kids, you’ll probably want to keep this one plugged into USB until you learn what processor low power modes are.
At least TI added a debugger.
Energia have actually added various low power functions not present in arduino. They are fully functional on MSP430 chips (taking full advantage of the incredibly low power usage the MSP430 is capable of) and being worked on for the ARM chips – they do function on ARM for full sketch compatibility but don’t put the CPU into the lowest power states quite yet. From there, well you just have to use them properly. Even before they added these features I managed to have a tiny MSP430 datalogger running with sleep currents untraceably low for my cheapy multimeter.
You would have a hard time using the debugger if the board going in and out of those really low power deep sleep modes in which the SWD is powered down. It is one of those situations where you would need/want to have a “production” and a “debugging” version of the code. Even when they hand you down a library, you would need to do extra coding to drop power consumptions and get rid of the leakage path for external I/O. Also can’t tell if TI make jumper(s) for the power connections for the debugger from that picture.
(I am not playing with the TI chip) I had to dig up my 20+ years old multimeter to measure the power consumption (5-6uA). I could drop another uA or so if I was willing to lose the RAM contents while the Cortex M4 core is playing possum in my project.
Also not using any Arduino code in case you are wondering.
Not usually an issue. You put the chip to sleep in a lower mode and wake on external signal or a perididc low power (32 khz) clock interrupt. There isn’t much to debug while chip is in low power sleep mode. Ti has had this feature in the 430’s for many years and they are some of the lowest power sleep chips. The 430’s wake up in ~6 uS. You put your break point in the code after the wake up .. works just fine.
I was playing with Freescale’s chip based on Cortex M4 at VLLS (Very Low Leakage Stop). I would expect the CC3200 that has ARM Cortex M4 would implement their lowest power Stop mode in a similar way. SWD are standard ARM IP and I would expect them to work or not work the same way.
MSP430 is not an ARM chip nor it uses SWD interface, so not sure why you think would apply to CC3200.
I haven’t tested in the last year (though I think it was fixed) but when the Stellaris Launchpad was launched debugging while hibernate was being used broke the debugger. Not sure hibernate which sleep mode it is.
On the MSP430 though debugging through sleep mode works fine, just tested a few days ago.
Indeed, MSP430 and ARM are not the same thing but since we’re talking arduino here they should be pretty transparent/agnostic. And in my experience they very much are if you just blink a led, sleep or send stuff via serial.
Watch out Electric Imp I guess :)
I wonder why Energia gets so little coverage. Coupled with CCS it’s eons ahead of the arduino IDE, supports a pretty big range of chips, has debug and other useful tracing stuff (like graphs).
I start out with an Energia sketch to quickly verify an idea then convert all the code to normal C embedded programming (get rid of digital in and out). Out of the box you can have serial debug which later you can just comment out. Iterative design is really great if you come from a high-level language.
Also the the loop function can have some sleep commands in it which get translated to LPM0. With two lines of code you can drop to LPM3 on the MSP430 which is ~7 micro amps.
Plus the MSP430 chips are pretty cheap (compared to atmega328) and they have always worked ok for me.
Got the launchpad 430 for 4.30$ and the and a few stellaris ones for ~7$ each, shipped to Germany. I don’t know of anything that comes close price-wise with integrated debugging and PSU.
Mmmmm, ESP8266….
I would caution anyone that Energia is not suitable for code using multiple interrupts, we had lots of timing issues until moving to code composer. The libraries for these MCUs are also full of bugs and their complicated! however when they work they are very cheap and powerful. I don’t think they are particularly interesting to hobiests though as we found them so frustrating that if we were not been paid we would have quit.
I want to interface TMP1075 with cc3200-launchxl using energia. But there are no libraries of that sensor available in energia.Even in google also i am not finding those libraries.Can anyone help with this?