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.

Reflective Sensor Becomes Kart Racing Lap Counter

Once you have a track and a kart to race on it, what’s missing? A lap counter that can give your lap times in hardcopy, obviously! That’s what led [the_anykey] to create the Arduino-based Lap Timer to help him and his kids trim those precious seconds off their runs, complete with thermal printer for the results.

The hardware uses an infrared break-beam sensor module (a Velleman PEM10D) to detect when a kart passes by. This module is similar to a scaled-up IR reflective object sensor; it combines an IR emitter and receiver on one end, and is pointed at a reflector placed across the track, up to 10 meters away. When a kart breaks the beam, the module reports the event to the rest of the hardware. Only needing electronics on one side allows the unit to be self-contained.

An obvious shortcoming of this system is the inability to differentiate between multiple karts, but for timing a single driver’s performance it does the trick. What’s great about this project is it showcases how accessible hardware is today; a device like this is possible to put together with what are essentially off-the-shelf components available to any hobbyist, using an Arduino as the glue to hold it together. We’d only comment that a red-tinted piece of plastic as an overlay for the red display (and a grey-tinted one for the green) would make the LED displays much easier to read. Still, this is a very clean and well-documented build. See it in action in the video embedded below.

Continue reading “Reflective Sensor Becomes Kart Racing Lap Counter”

Laser Exposing PCBs With A Blu-Ray Laser

For those of us whose introduction to PCB making came decades ago and who share fond memories of permanent markers and crêpe paper sticky tape, the array of techniques available to PCB artists of today seem nothing short of magical. Toner transfer and peroxide etchant mixtures might seem run-of-the-mill to many readers, but even they are streets ahead of their predecessors from times past.

Photographic exposure of  etch-resist coating has traditionally been performed with a UV lamp through a sheet of acetate film, but there is no reason why that should be the only way it can be performed. There have been plenty of projects using lasers or LEDs to draw a PCB design onto the coating as a raster, and a rather nice example from [Terje Io] using a Blu-Ray laser diode is the subject of the video below the break.

The diode is mounted on a gantry with a THK KR33 linear actuator that he tells us was unsuitable for his CNC mill due to backlash. This gives a claimed 1200 dpi resolution, over a 100 mm x 160 mm exposure area. Software is provided in a GitHub repository, taking a PNG image exported through a PDF printer. And since it’s got a UV laser, it can be used in a second pass to process UV-responsive soldermask film. ([Terje] cheats and uses a separate CNC mill to drill out the holes.) The result looks great.

Continue reading “Laser Exposing PCBs With A Blu-Ray Laser”

Behind The Scenes At A Professional Fireworks Show

Have you ever wondered what goes on behind the scenes at a big fireworks show? Last year [Kenneth] was asked to help manually ignite a fireworks show, and this consisted of him running down a row of shells with a road flare, lighting each one in turn. He apparently did so well that this year worked another show, this one with a more complicated setup.

The show [Kenneth] helped run consisted of 950 three-inch shells, wired in series into small groups, plus another 150 in 25-shell clusters used for the finale. The fireworks were organized in racks consisting of five three-inch diameter tubes of HDPE secured together by 2x4s. Each tube held a shell, and each shell came pre-wired with both a match fuse and electrically-triggered squib. Each squib or series of squibs connects to 45-channel breakouts, which connect to a control board.

Even after the show was completed, [Kenneth] had work to do, walking around and looking in each tube to see if there are any unfired shells. The dual wiring is so the shell can be fired with a flare if the squib is a dud. In this show they found six shells, and [Kenneth] was tasked with setting off those last shells with a road flare—otherwise they’d have to use a licensed and placarded vehicle just to transport a few shells.

For more fireworks goodness checkout this beautiful Arduino fireworks controller and this network-controlled fireworks launcher.

Continue reading “Behind The Scenes At A Professional Fireworks Show”

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

Fidget Spinners Put The ‘S’ In STEAM Education

Centrifuges are vital to the study of medicine, chemistry, and biology. They’re vital tools to separate the wheat from the chaff figuratively, and DNA from saliva literally. Now, they’re fidget spinners. [Matlek] designed a fidget spinner that also functions as a simple lab centrifuge.

The centrifuge was designed in Fusion 360, and was apparently as easy as drawing a few circles and hitting copy and paste. Interestingly, this fidget spinner was designed to be completely 3D printable, including the bearings. The bearing is a standard 608 though, so if you want to get some real performance out of this centrispinner, off-the-shelf bearings are always an option. The design of this fidget spinner holds 2 mL and 1.5 mL vials, but if your lab has 500 μL tubes on hand, there are handy 3D printable adapters.

Still think using a toy to do Real Science™ is dumb? Contain your rage, because a few months ago a few folks at Stanford devised a way to build a centrifuge out of paper. This paperfuge can — at least theoretically — save lives where real commercial centrifuges or even electricity aren’t available. Fidget spinners save humanity once again.

Hackaday Prize Entry: Open Narrowband RF Transceiver

We have so many options when we wish to add wireless control to our devices, as technology has delivered a stream of inexpensive devices and breakout boards for our experimentation. A few dollars will secure you all your wireless needs, it seems almost whatever your chosen frequency or protocol. There is a problem with this boundless availability though, they can often be rather opaque and leave their users only with what their onboard firmware chooses to present.

The Open Narrowband RF Transceiver from [Samuel Žák] promises deliver something more useful to the experimenter: an RF transceiver for the 868 or 915MHz allocations with full control over all transmission parameters. Transmission characteristics such as frequency, bandwidth, and deviation can be adjusted, and the modulation and encoding schemes can also be brought under full control. Where a conventional module might simply offer on-off keying or frequency shift keying, this module can be programmed to deliver any modulation scheme its chipset is capable of. Spread-spectrum? No problem!

Onboard, the device uses the TI CC1120 transceiver chip, paired with the CC1190 front end and range extender. Overseeing it all is an ST Microelectronics STM32F051 microcontroller, which as you might expect is fully accessible to programmers. Interfaces are either USB, through an FTDI serial chip, or directly via a serial port.

There are a host of transceiver chips on the market which just beg to be exploited, so it is very good indeed to see a board like this one. It’s worth noting though that the CC1120 has a much wider frequency band than that of the CC1190, and with a different front end and PA circuitry, this could cover other allocations including some amateur bands.