Energia Multitasking Uses RTOS On MSP432

We keep wondering where the Arduino world is headed with the hardware getting more and more powerful. If the IDE doesn’t keep up what’s the point? Now we have at least one answer to that problem. Energia is the Arduino-like-framework for Texas Instruments based boards. They just came out with a multitasking system built into Energia targeted at the ARM Cortex-M4F based MSP432 Launchpad which we covered a few weeks back.

The announcement post gives a couple of examples of uses for multitasking. The simplest is blinking LEDs at different rates. If you wanted to do this closer to the metal you’re talking about multiple timers, or multiple compares on a single timer, perhaps a interrupt-driven-system-tick that has a high enough resolution for a wide range of your blinking needs. But these are not always easy to set up unless you are intimately comfortable with this particular architecture. The Energia multitasking will handle this for you. It’s upon the TI Real Time Operating System (TI-RTOS) but wraped in the familiar IDE.

The UI divorces you from thinking about the hardware at all. You simply launch a new tab and start coding as if you’re using a completely separate piece of hardware. The announcement post linked above mentions that these Sketches are running “in parallel”. Well… we know it’s not a multi-core system like the Propeller but we’ll let it slide. It is certainly easier than building your own scheduler for this type of hardware.

[Thanks MycoWx]

Sonar Built From Piezo And Microphone

[Jason] has continued to plug along with his sonar build and recently showed up a monostatic active sonar using a piezo element and microphone. Regular readers will remember [Jason’s] experiments from a Fail of the Week post which focused on his water-proofing woes from a much earlier prototype.

We find this offering far more engaging. He has ditched the ultrasonic module seen in those experiments. The new rig drives the piezo element using a 27V source. After each ping is sent out, the microphone input is immediately captured to detect the return of the audible sound. [Jason] mentions that the TI Launchpad he’s using for the project is fast enough for these experiments but he may switch to a Teensy 3.1 in order to double the RAM and thereby increase the sample size he is able to record.

Of course this is intended for underwater ROVs so his next iteration will involve a DIY hydrophone. We can’t wait to see that one as the process of converting this test rig into one that works underwater evades us. If you have some tips on that topic please let us know in the comments.

Continue reading “Sonar Built From Piezo And Microphone”

MicroDMA And LEDs

[Jordan] has been playing around with WS2812b RGB LED strips with TI’s Tiva and Stellaris Launchpads. He’s been using the SPI lines to drive data to the LED strip, but this method means the processor is spending a lot of time grabbing data from a memory location and shuffling it out the SPI output register. It’s a great opportunity to learn about the μDMA available on these chips, and to write a library that uses DMA to control larger numbers of LEDs than a SPI peripheral could handle with a naive bit of code.

DMA is a powerful tool – instead of wasting processor cycles on moving bits back and forth between memory and a peripheral, the DMA controller does the same thing all by its lonesome, freeing up the CPU to do real work. TI’s Tiva C series and Stellaris LaunchPads have a μDMA controller with 32 channels, each of which has four unique hardware peripherals it can interact with or used for DMA transfer.

[Jordan] wrote a simple library that can be used to control a chain of WS2812b LEDs using the SPI peripheral. It’s much faster than transferring bits to the SPI peripheral with the CPU, and updating the frames for the LED strip are easier; new frames of a LED animation can be called from the main loop, or the DMA can just start again, without wasting precious CPU cycles updating some LEDs.

Turkey Sous Vide

It’s time once again for Americans to gorge themselves on hormone-laced meats covered in several sauces and gravies, all of which inexplicably contain corn syrup. It’s also Thanksgiving this Thursday, so there’s that, too. If you have a turkey defrosting somewhere, you’ve probably gone over all your cooking options – the oven, a giant propane-heated pot of peanut oil, and yes, even sous vide. [Trey] over at TI came up with a great sous vide controller using a few LaunchPad Booster packs, and surprisingly, he can even cook a turkey.

The basic idea of sous vide is to vacuum pack your protein, put it in a closely-controlled water bath, and cook it so the inside is always the same temperature as the outside. It’s delicious, and it takes a long time. We can automate that, though.

[Trey] is using a USB LaunchPad and a thermocouple BoosterPack to monitor the temperature of a water bath. A custom SSR board is wired right into the heater, and a CC3100 provides a network connection to monitor the bird. While the network may seem a bit superfluous, it’s actually a great idea; sous vide takes hours, and you really don’t dote on your warm tub of water. Being able to receive SMS alerts from a sous vide controller is actually a great idea.

With everything wired up, [Trey] tried out his recipe for deep-fried turkey porchetta. From the pictures, it looks great and according to [Trey] it was the juiciest turkey he’s ever had.

43oh.com Wasn’t Next To The Texas Instruments Booth

In addition to all the cool boards and booster packs found at Texas Instruments’ booth at Maker Faire, the folks from 43oh.com made a showing, but not next to the TI booth. In fairness, the TI booth was right across from NASA. 43oh is cool, but not NASA cool.

[Eric], known on the 43oh forums as [spirilis] showed off a few of the neat bits and bobs developed on the forums including a lightning detector, a VFD clock, a robot, and a whole lot of blinky things. There was an astonishing array of projects and boards at the booth, covering everything from OLEDs to motor drivers.

43oh is an interesting community centered around TI’s microcontrollers, like the AVRfreaks forum built around Atmel’s offerings. 43oh has a very active forum, IRC, and a store featuring projects made by members. It was great to see these guys at the faire, and we wish more of the homespun unofficial communities would make more of a showing at cons in the future.

Sorry about the mic cutting out in the video above. There was a sea of spewing RF near the booth. If anyone has advice for a *digital* wireless mic setup, we’re all ears. This is the current rig.

Freescale And Texas Instruments Goodies And World Maker Faire

Freescale was very kind to Hackaday at Maker Faire this weekend, showing off a few boards and answering a few questions about why old Motorola application notes aren’t available on the Internet.

The Hummingboard from SolidRun comes in an oddly familiar form factor to anyone who has ever handled a Raspberry Pi. It also has an interesting feature: the CPU is on a small module, allowing anyone to upgrade the chipset to something significantly more powerful. In the top of the line configuration, it has a two core iMX6 CPU with a Gig of RAM, LVDS output, and Gigabit Ethernet. All the complex bits for this board are on a single module, allowing anyone to take the module and put it in another project, a la the Intel Edison.

Also in the Freescale booth was the pcDuino, a dual core ARM Cortex A7 with Ethernet, WiFi, and a SATA, with Arduino form factor pinouts. It’s a somewhat niche product, but being able to stack shields on something comparable to a Raspi or BeagleBone is a nice feature.

[Trey German] from Texas Instruments showed off some very cool stuff, including a quadcopter board for a Launchpad microcontroller. This isn’t a board with an IMU and a few servo outputs; this is the whole shebang with a frame, motors, and props. The frame was cut from some odd composite that’s usually used for road signs, and even though it wasn’t flying at the Faire (nothing was flying, by the way), it’s pretty light for a quad made at a board house.

Also from TI was their CC3200 dev board. This is a single chip with an ARM Cortex M4 and a WiFi radio that we’ve seen before. The CC3200 runs TI’s Wiring/Arduino inspired development environment Energia, and at about $30 for the CC3200 Launchpad board, it’s an easy and cheap way to build an Internet of Things thing.

Proper Debugging For Energia Sketches

Moving a sketch from Energia to Code Composer Studio

Energia is a tool that brings the Arduino and Wiring framework to Texas Instruments’ MSP430 microcontrollers and the MSP430 Launchpad development board. This allows for easy development in an Arduino-like environment while targeting a different microcontroller family.

One problem with Energia and Arduino is the difficulty of debugging. Usually, we’re stuck putting a Serial.println(); and watching the serial port to trace what our program is doing. Other options include blinking LEDs, or using external displays.

Code Composer Studio, TI’s official development tool, allows for line-by-line debugging of applications. You can set breakpoints, watch the value of variables, and step through an application one instruction at a time.

The good news is that the latest version of Code Composer Studio supports importing Energia sketches. Once imported, you can step through the code and easily debug your application. This is a huge help to people developing more complex software using Energia, such as libraries.

TI gives us an overview of the new feature in a video after the break.

[Thanks to Adrian for the tip!]

Continue reading “Proper Debugging For Energia Sketches”