STM32CubeMX Makes Makefiles

When hardware manufacturers make GUI code-generation tools, the resulting files often look like a canned-spaghetti truck overturned on the highway — there’s metaphorical overcooked noodles and red sauce all over the place. Sometimes we think they’re doing this willfully to tie you into their IDE. Not so the newest version of ST’s graphical STM32CubeMX, which guides you through a pleasant pin-allocation procedure and then dumps out, as of the latest version, a clean Makefile.

Yes, that’s right. This is a manufacturer software suite that outputs something you can actually use with whatever editor, GUI, compiler, or environment that you wish — even the command line. Before this release, you had to go through a hacky but functional script to get a Makefile out of the CubeMX. Now there’s official support for real hackers. Thanks, ST!

If you’re compiling on your own, you’ll need to update the BINPATH variable to point to your compiler. (We use the excellent GNU ARM Embedded Toolchain ourselves, which is super-easy to install on almost any Linux.) If you want to use STM32CubeMX with the Eclipse IDE, [kali prasad yadav] sent us PDF instructions — it’s not hard.

If you doubt that the availability of a free, open, and non-constraining toolchain can matter for a silicon vendor, we’d point to AVR and the Arduino platform that spun off of their support of GCC. Sure, Atmel still pushes their all-in-one wonder, Atmel Studio, which is better than the Arduino IDE by most any metric. But Studio is closed, and Arduino is open. We’d love to see the number of Studio users compared with Arduino users.

Congratulations to ST for taking a big step in the right, open-toolchain, direction.

Badge From Diamond Age Comes To DEF CON

We’re huge fans of [Neal Stephenson’s] work and are usually looking to assign some of his vision to the gear that pops up in the real world. But there’s no stretching or squinting necessary with this one. [Kerry Scharfglass] has built a functioning Drummer’s Badge from the foundational Sci-Fi novel The Diamond Age.

The badge is called Sympetrum, which is a genus of dragonfly. In explaining what the badge is and does, [Kerry] instructs you to go and read the book first and we couldn’t agree more. This isn’t recommended reading; if you’re a geek you need to read this book.

The dragonfly badges are from a portion of the book that gets pretty weird, but the gist is that rod-logic (machines build from microscopic carbon nanotubes) is so pervasive that at all times you’re covered in mites that are actually machines. At a party, one of the characters notices everyone is wearing dragonfly pins that begin to pulse with the music and synchronize with each other. They’re actually indicators of what the mites within the wearers’ bodies are doing — synchronizing people with other people.

This badge is a working recreation of that, presumably without the billions of mites controlling people (but who knows, it is DEF CON). At the center of the badge is an STM32 driving ten APA102 modules. Interactivity is based on IR signaling. The badge will cycle random color animations when alone. But each badge also projects clock sync and metadata over infrared, so put some of them in the same room and they’ll tend to synchronize.

Simple, beautiful, and a great geeky backstory. This example of Badgelife proves that hardware badges don’t need to be packed with features, or have a huge BOM cost. If done well, you can do an awful lot with just a little hardware and strong dose of inspiration. It also makes hand-assembly a lot more approachable, which is what you can see in the images above. Thanks [Kerry] for giving us an early look at this badge, can’t wait to see them at the CON.


We’ll be looking for this and all other #Badgelife offerings at DEF CON 25. Join us for a Hackaday meetup on Sunday morning as we once again do Breakfast at DEF CON

Hackaday Prize Entry: Oscilloscope For The Masses

If you head down to your local electronics supply shop (the Internet), you can pick up a quality true-RMS multimeter for about $100 that will do almost everything you will ever need. It won’t be able to view waveforms, though; this is the realm of the oscilloscope. Unlike the multimeter’s realistic price point, however, a decent oscilloscope is easily many hundreds, and often thousands, of dollars. While this is prohibitively expensive for most, the next entry into the Hackaday Prize seeks to bring an inexpensive oscilloscope to the masses.

The multiScope is built by [Vítor] and is based on the STM32-O-Scope which is built around a STM32F103C8T6 microcontroller. This particular chip was chosen because of its high clock speed and impressive analog-to-digital resolution, which are two critical specifications for any oscilloscope. This particular scope has an inductance meter built-in as well, which is another feature which your otherwise-capable multimeter probably doesn’t have.

New features continue to get added to this scope by [Vítor]. Most recently he’s added features which support negative voltages and offsets. His particular scope is built inside of a model car, too, but we believe this to be an optional feature.

Digital Clock Goes With The Grain

This good-looking clock appears to be made out of a block of wood with LED digits floating underneath. In reality, it is a block of PLA plastic covered with wood veneer (well, [androkavo] calls it veneer, but we think it might just be a contact paper or vinyl with a wood pattern). It makes for a striking effect, and we can think of other projects that might make use of the technique, especially since the wood surface looks much more finished than the usual 3D-printed part.

You can see a video of the clock in operation below. The clock circuit itself is nothing exceptional. Just a MAX7218 LED driver and a display along with an STM32 ARM processor. The clock has a DHT22 temperature and humidity sensor, as well as a speaker for an alarm.

Continue reading “Digital Clock Goes With The Grain”

Doomed Thermostat

It is amazing how the game Doom has been ported to so many things. Enter one more port, where the hardware in question is a Honeywell Prestige thermostat.

In his video, [cz7asm] shows us the game running quite nicely on the 480 x 272 LCD with an NES controller plugged into the USB port originally intended for software updates. The thermostat runs on a STM32F429 which is an ARM9 processor that has the juice to pull it off. The Doom engine being used is based on Chocolate Doom, an open source port of the game, and the binaries can be downloaded for Windows and Mac. The source code is also available as a download for your tinkering pleasure. This project by [cz7asm]  is extended from a code on GitHub by [floppes] that was meant for the STM32F429IDISCOVERY evaluation board.

The author shares his code for the STM32F4 on Dropbox as a zip and in order to compile it, the Atmel BSP for GNU GCC is used. The video below demonstrates the hack in action and, though there is no sound yet, the satisfaction that comes from such modifications is its own reward.

What else can you run Doom on? How about a calculator or maybe the Intel Edison or even an ATM machine! If there is a processor with enough muscle power, hackers will find a way to run Doom on it. So have you seen any alien computers lately that you think can be hacked? Continue reading “Doomed Thermostat”

Open Source Firmware For Hoverboards

2015 was two years ago, and to the surprise of many, we actually had hoverboards at the time. Of course, these weren’t Back to the Future-style hovering skateboards; they were crappy two-wheeled balancing scooters that suffered a few battery explosions and were eventually banned from domestic flights by some carriers. But oh boy, there were some funny Vines of these things.

While the rest of the world moved on from hoverboards, [Casainho] has been working on Open Sourcing the firmware for these interesting bits of electronics and motors. Now, his work is wrapping up and he has new firmware for electric unicycles and hoverboards.

The popular and cheap electric unicycles and hoverboards that have been swimming across the Pacific from the great land of Ali Baba for the past five years are based around a single, cheap controller board. This controller board is built around the STM32F1038T6 microcontroller, and are able to control a pair of three-phase brushless motors. The teardown began on the electric unicycle forum and was completely documented in a GitHub repo.

The Open Source firmware is now mostly complete, although the necessary self-balancing function doesn’t work. We’re thinking that’s alright; with this new firmware, these electric unicycles have a crazy amount of torque and could be the basis for a few very cool builds. You can check out a video of this torque below.

If two wheels seems far too safe, exercise your inner daredevil with a 3D printed unicycle conversion for a hoverboard.

Continue reading “Open Source Firmware For Hoverboards”

Rusty ARM

You’ve probably heard that Rust is a systems programming language that has quite the following growing. It purports to be fast like C, but has features like guaranteed memory and thread safety, generics, and it prevents segmentation faults. Sounds like just the thing for an embedded system, right? [Jorge Aparicio] was frustrated because his CPU of choice, an STM32 ARM Cortex-M didn’t have native support for Rust.

Apparently, you can easily bind C functions into a Rust program but that wasn’t what he was after. So he set out to build pure Rust programs that could access the device’s hardware and he documented the effort.

Continue reading “Rusty ARM”