Hackaday Europe 2026: The 1-Bit CPU That Ran Factories

Powered machinery started the industrial revolution, and it was automation that kicked it up another notch in the 20th century. The ability for machines to make things by themselves spurred increased output and in turn boosted economic growth. The concept became widely popular for manufacturers to implement, as any change with serious economic benefit tends to do. Fast forward to today, and advanced robots and fancy machine vision systems running on powerful computers are the norm in modern factories which create the many wonderful products that we all purchase, use, and enjoy.

Once upon a time, though, things weren’t so sophisticated. [Nicola Cimmino] came to Hackaday Europe 2026 to tell us all about a remarkably simple 1-bit CPU that used to run factories.

Continue reading “Hackaday Europe 2026: The 1-Bit CPU That Ran Factories”

Simple DIY STM32 Oscilloscope Project

In part one of what is intended to be a series on developing an STM32-based oscilloscope, [BTTLab] demonstrates a how to use the built-in ADC of an STM32F207 MCU to develop a straightforward single-channel oscilloscope. This can be followed along both via the YouTube video and the GitHub repository for this single-channel version.

Oscilloscope front-end protections. You want this. (Credit: BTTLab, YouTube)
Oscilloscope front-end protections. You want this.

Of course, an MCU’s ADC generally won’t hold a candle to a dedicated ADC for oscilloscope purposes – along with the typical beefy FPGA-based processing – with even a basic Rigol DS1054Z hitting a cool 1 GSPS, but the 2 MSPS at 12-bit resolution achieved by an STM32F207 isn’t shabby either. For more basic, low-frequency circuit and protocol debugging it would already be enough.

One thing briefly touched upon in the video is the front-end. The ADC’s inputs are rated for a specific voltage range, typically 0 to 3.3 V when running the MCU off 3.3 V, so you do not want to put higher or negative voltages into said ADC input. This is where measuring something like AC becomes rather tricky and you can get some exciting releases of magic smoke.

The demonstrated single-channel oscilloscope firmware uses the ST HAL, so it might be somewhat easy to target other STM32 MCUs as well, though naturally ADC performance will differ per MCU family and sometimes sub-family, so make sure to read the datasheet and programming manual before you dive in too deep.

Continue reading “Simple DIY STM32 Oscilloscope Project”

Building Custom Backyard Solar Lights

In this modern age, if you want a truly swish garden that makes your friends sad when they visit, you need good lighting. [technocraftStudio] has been working on just such a project, creating custom wedge lights to illuminate garden beds in style.

You might look at the plastic housings involved and assume that they’re 3D printed, like the vast majority of such projects we cover these days. Instead, the enclosures are crafted out of PVC plastic, harvested by flattening sections of pipe with a heat gun. It has the benefit of being highly weather resistant, and cheap to boot. The lights themselves are small LED panels mounted on aluminium plate as a heatsink, and fitted with an acrylic diffuser to spread the light out more evenly. Power for the lights comes from an 18650 lithium-ion cell, charged by a pair of solar panels hooked up to an MPPT charge controller. A TP223 capacitive touch module is also included in the design to allow the lights to be turned on with just the touch of a finger.

The result is a surprisingly stylish bit of garden furniture which provides warm, even light and, ideally, needs a minimum of maintenance and attention since the sun provides the power. We’ve featured some other great solar lamps before, too, like this lovely Pokemon-themed build. If you’re building your own solar projects at home, or doing weird things with PVC, we’d probably love to hear about it on the tipsline!

Joy-Cons Plus WiiMotes Make For Switch 2 Wii-Cons

As popular as the Nintendo Switch and its sequel are, it’s hard to argue that its click-on Joy-Con controllers are ergonomic, barring you having very uniquely shaped hands. This thought and a stack of Wii controllers led [KOUZEX] to the mad project of merging Joy-Cons and WiiMotes into what can affectionately be called Wii-Cons, or perhaps JoyMotes.

Suffice it to say that it’s not a very clean or easy mod, and you could definitely make the point that a custom PCB and 3D-printed shell would  have been a lot easier. Making space for the Joy-Con’s side rail, thumb stick and PCB without simply tossing the WiiMote’s PCB was a tough ask, and these are two WiiMotes that will never connect to a Wii again.

With the WiiMote-shaped Joy-Cons working pretty well after all that work, the issue of remapping Joy-Con buttons that have no match on WiiMotes was probably the biggest headache. Here having said custom version could be rather helpful to have more control over the button layout, also to not have to keep harvesting the dwindling supply of WiiMotes to make WiiCons. It might even be possible to keep all the WiiMote functionality that way, to really blow people’s minds when you use your fancy Joy-Cons to next play a game on an original Wii.

Continue reading “Joy-Cons Plus WiiMotes Make For Switch 2 Wii-Cons”

Compress Links For Optimal QR Codes

Link shorteners have been a staple of the online world for over two decades now, but they’ve got some issues– for one thing, it’s totally non-transparent where the link actually goes, leaving you open to all sorts of shenanigans, of which RickRolling is probably the best case. For two, your traffic is going through an external service who may have their own nefarious intent. [PortalRunner] had an idea: don’t shorten the link, but compress it.

You see, a traditional URL shortener like tinyurl just generates a random code and associates that with your original link in its database. That’s fine, but you’re relying on a third party database. The alternative is to take the URL, encode it in some way, and apply some compression algorithm to the data. If the encoding and compression are open-source– which [Portal ]’s absolutely are— then you can check yourself before following the link, and/or self-host the whole thing for piece of mind. As a bonus [Portal]’s Ha.mr– that’s pronounced Hammer– also gives you a QR code optimized for easy scanning. QR codes have a specific alphanumeric character set built in, and it isn’t the full UTF-8– if you naively use random text, you’re in byte mode, which needs a lot more QR real estate. Or inverting that, the fewer bits it has to store, the easier a qr code is to scan at the same size. The text version of the compressed links can use UTF-8– including emoticons– but they don’t have to.

The whole project has a “why isn’t everyone doing it this way” vibe about it. We’d probably want to self-host this if we were using it seriously– [Portal] put this together on a lark and makes no promises it will be online forever–but again, this is open source, so we can. [Portal] is using normal compression algorithms here, but if you really want to squeeze text, use a neural net. 

Continue reading “Compress Links For Optimal QR Codes”

A Hot End And Material Database For 3D Printing

When it comes to 3D printing in the FDM world, you can go a long way just relying on standard settings that ship with your 3D printer and/or slicer. If you want to push the limits, though, it pays to better understand the hardware and materials you’re working with to know what you can get away with. To that end, [Robert Samples] put together the MeltCalc database to help. 

The purpose of MeltCalc is simple—it collates data on hot ends and materials regarding factors like maximum flow rate, print speeds, and heater requirements. If you’re wondering whether a given hot end can flow a given filament at a given rate, for example, this tool is a great place to start. It features 64 different hot ends and 36 polymers typically used in the 3D printing world, and can spit out maximum flow rates and print speed estimations even accounting for fancy tech like Core Heating Technology (CHT) nozzles. It’s all based on thermodynamic modelling which [Robert] put together based on his experience as a chemist who works with polymers. His aim was to provide a tool with realistic flow rates for hot ends, so that end users don’t have to just rely on often-optimistic marketing numbers.

For those eager to dive deeper into the code and modelling, the project source is available on Github. We’ve featured all kinds of other useful hacks in this space lately, too, like our recent look at how to achieve wave overhangs. If you’ve got your own nifty 3D printing tools in the works, don’t hesitate to notify the tipsline.

Reverse Engineered Grill Controller Gets Open Firmware

If you are a regular reader, then the odds are you have taken apart an electronic gadget, either for a fix, or simply because your curiosity got the better of you. Once inside, it’s all but impossible to help yourself from doing at least a little reverse engineering. That’s what happened when [PRBS23] took a look inside a Gravity 800 Grill for a simple wire fix. But one thing led to the next, and now open source firmware for the grill is freely available!

Control board schematic.
Control board schematic.

The first order of business in creating the firmware is reverse engineering the original controller. Opening it up immediately reveals an ESP-32 and a well-labeled programming port. The rest of the control board is equally simple, including connectors for four thermistor temperature sensors, lid open/close switch, fan driver, 16 segment LCD, piezo buzzer, and some physical inputs.

The thermistor along with the physical inputs are connected to a 16 pin chip, interfacing with the MCU over a 9600 baud UART connection. [PRBS23] cannot determine an ADC chip meeting these specifications, so the most likely answer is a cheap MCU programmed to act as a simple analog fronted.

The neatly labeled programming header is used to quite easily dump the firmware with the espflash utility. Analyzing this dump reveals a rather strange ADC correction function used by the original firmware. The necessity and overall utility of this function remains unclear, does corrects a maximum of around 40 degrees Fahrenheit.

Most of the other features ended up being at least somewhat easier. The CS1621 segmented display driver is reasonably well documented with datasheets making its implementation far easier. Likewise, the other odds and ends were implemented in a far more normal manner compared to the thermistors.

All this reverse engineering work got tied together into a neat little firmware package. It comes with over the air updates PID controlled temperature, and a real-time web interface. This also isn’t the first time we have seen an IoT device liberated from proprietary firmware, and this remains one of our favorite uses of reverse engineering!