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”

Multitasking on the MSP430F5529 LaunchPad

MSP430 Scheduler

What exactly is multitasking, scheduling, and context switching? This is a great question for those interested in understanding how operating systems work, even small real-time operating systems (RTOS). [Jeffrey] had the same question, so he built a multitasking scheduler for the MSP430F5529 LaunchPad.

These topics are some of the most difficult to wrap your head around in the embedded world. Choosing a project that helps you understand tough topics is a great way to learn, plus it can be very rewarding. In his post, [Jeffrey] goes over the basics of how all of these things work, and how they can be implemented on the MSP430. Overall, it is a great read and very informative. For more information on RTOS, check out a few sections in the FreeRTOS book. Be sure to see his code in action after the break.

[Jeffery] was nice enough to release all of his code as open source, so be sure to check out his repository on GitHub. “Feel free to use it and learn more. I have made the code self explanatory. Enjoy!”

via [43oh.com]

Continue reading “Multitasking on the MSP430F5529 LaunchPad”

Android Based Wireless ECG

ECG

The title of [Nuclearrambo’s] post says it all, “Android based wireless ECG monitoring (Temperature sensor and glucometer included).” Wow! What a project!

The project is built around the HC-06 bluetooth module and the Stellaris LaunchPad from TI, an inexpensive ARM developer kit. Building an ECG is a great way to learn about instrumentation amplifiers, a type of differential amplifier used for its extremely high common mode rejection ratio (CMRR). Please be sure to keep in mind that there are a myriad of safety issues and regulation concerns for medical device, and there is no doubt that an ECG is considered a medical device. Sadly, [Nuclearrambo’s] post does not include all of the code and design files you need to build the system, which is understandable considering this is a medical device. That being said, he provides a lot of information about building high-quality ECG instrumentation and the web interface.

It would be great if [Nuclearrambo] could post the Android application code and Stellaris LaunchPad code. Even with these omissions, this post is still worth reading. Designing medical devices requires a lot of know-how, but who knows, maybe your next project can save your life!