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.

Digitool Helps Debugging

Logic analyzers used to be large boxes full of high-speed logic and a display monitor. Today, they are more likely to be a small box with a USB port that feeds data to a PC application. [Juan Antonio Rubia Mena] wanted something more self-contained, so he built Digitool. Built around a PIC18F2525, the device can measure frequency up to 10 MHz and inject square waves up to 1 MHz into the circuit under test. Oh yeah. It also has a simple four-channel logic analyzer that displays on a tiny LCD.

The 500,000 sample per second rate and the 1024 sample buffer isn’t going to put any logic analyzer vendors out of business, but it is still enough to help you figure out why that SPI or I2C logic is messed up. It looks like a fun project that could have some usefulness.

Continue reading “Digitool Helps Debugging”

COSMAC Elf Calculator Gets New Firmware

Everyone remembers their first. Their first CPU, that is. For many of us, it was the RCA 1802 thanks to the COSMAC Elf articles that ran in Popular Electronics. The later versions of the chip family were much better but were never as popular, but the 1805 did find its way into a printing calculator for dimensions from a company named Boyd. Some of these recently showed up on the surplus market and–of course–were subsequently hacked.

[Bill Rowe] is active in the groups that still work with the 1802. Because of some specialized uses you can still get the chips readily, some four decades after they were new. Other computers at the time were difficult to build and relatively expensive, while for $100 almost anyone could wire wrap a simple 1802-based computer together in a weekend or less.

Continue reading “COSMAC Elf Calculator Gets New Firmware”

Building a Better Baby Bottle Boiler

[Sebastian Foerster] hasn’t been at his blog in a while. He and his wife just had twins, so he’s been busy standing waiting for formula or milk to warm up. Being a technical kind of guy, he took a look at the tools currently on the market to do this, analyzed them, and decided instead to do it himself.

[Sebastian] looked to his Nespresso Aeroccino – a milk frother designed to give you hot or cold frothy milk for the top of whatever beverage you decide to put it on top of. It made the milk a bit too hot, 60°C, but once it got to the temperature, it would shut off, so if [Sebastian] could get it to shut off at a lower temperature, he had found the solution!

After taking the Aeroccino apart and going over the circuit, it seemed like a simple design relying on a resistor and NTC (negative temperature coefficient) thermistor connected to an ATTiny44 microcontroller. [Sebastian] didn’t want to have to reprogram the ATTiny, so he looked at the resistor and NTC. The resistor and thermistor create a voltage divider and that voltage is read in by the microcontroller through an analog pin. After looking up some info on the thermistor and replacing the resistor with a potentiometer, [Sebastian] could adjust the shut-off temperature while measuring with a thermometer. When he got the temperature he liked, he reads the value of the potentiometer and then replaces it with a couple of resistors in series.

Now [Sebastian] gets the babies’ bottles ready from fridge to temperature in about 25 seconds. He doesn’t have to worry about keeping an eye on the bottles as they heat up. We’re sure that getting two bottles ready in under a minute is much better on the nerves of new parents than waiting around for ten minutes. For more fun with thermistors, check out our article on resistors controlled by the environment or check out this bluetooth bbq thermometer!

6502 Retrocomputing Goes to the Cloud

In what may be the strangest retrocomputing project we’ve seen lately, you can now access a virtual 6502 via Amazon’s Lambda computing service. We don’t mean there’s a web page with a simulated CPU on it. That’s old hat. This is a web service that takes a block of memory, executes 6502 code that it finds in it, and then returns a block of memory after a BRK opcode or a time out.

You format your request as a JSON-formatted POST request, so anything that can do an HTTP post can probably access it. If you aren’t feeling like writing your own client, the main page has a form you can fill out with some sample values. Just be aware that the memory going in and out is base 64 encoded, so you aren’t going to see instantly gratifying results.

Continue reading “6502 Retrocomputing Goes to the Cloud”

ESP32 Display is Worth a Thousand Words

The ESP32 is the successor to the wildly popular ESP8266. There seems to be no end to what the chips can do. However, despite all the wireless communication capabilities, the module doesn’t have a display. [G6EJD] wanted to connect an ILI9341 TFT display and he put the code and information on GitHub. You can also see a video of his work, below.

Since the display uses a serial interface, there isn’t much wiring required. The Adafruit GFX library does the heavy lifting, utilizing the SPI library for the actual communications. The first demo shown on the hardware can pull weather data decoded. If you want more details on the display’s operation, check out [G6EJD’s] YouTube channel and you’ll find other videos that go into more detail.

We’ve seen these displays married to an ESP8266 with an integrated PCB, too. There’s a choice of libraries, and perhaps we’ll see a similar range of choice for the ESP32.

Continue reading “ESP32 Display is Worth a Thousand Words”

TMS9900 Retro Build

[Robert Baruch] found a TMS9900 CPU from 1983 in a surplus store. If that name doesn’t ring a bell, the TMS9900 was an early 16-bit CPU from Texas Instruments. He found that, unlike modern CPUs, the chip took several voltages and a four-phase twelve-volt clock. He decided to fire it up and — of course — one thing led to another and he wound up with a system on a breadboard. You can see one of the videos he made about the machine below.

This CPU had some odd features, most notably that it stored its registers in off-chip memory and can switch contexts by changing where the registers reside. That was a novel idea when the memory and the CPU were similar in speed. In a modern computer, the memory is much slower than the CPU and this would be a major bottleneck for program execution. The only onboard registers were the program counter, the status register, and a pointer to the general-purpose registers in memory.

Continue reading “TMS9900 Retro Build”