Tips To Model Your Next CNC Cabinet in CAD Before Buying Anything


The media in this post is not displayed to visitors. To view it, please log in.

[Clough42] has started a new CNC control cabinet build, and uses it as an opportunity to demonstrate why he models the whole thing out in CAD before ordering parts or physically building anything. One may wonder why to bother, and the simple answer is to ensure there are no surprises or waste. [Clough42] has built plenty of these cabinets and there’s always something that isn’t as expected.

Modeling out an entire cabinet sounds like it should be easy, because today one can obtain 3D models for components from industrial suppliers with ease. In practice, it’s a process fraught with little gotchas.

For example, a STEP file of a component can lack convenient geometric snap points. An enclosure will be a single entity, without a separate door (and certainly not articulated at the hinge). [Clough42] shows ways to deal with all of these, and more, in Fusion 360. With a few simple techniques laying out an entire cabinet in CAD can be easy.

Planning before buying or building is a form of prototyping, and prototyping helps surface problems so they can be avoided before they become costly. This concept extents to design work as well; model everything out to avoid simple goofs like a screwdriver handle trapped by its surrounding bits.

youtube.com/embed/gNaCxllfb3U?…


hackaday.com/2026/09/15/tips-t…


Coffee Maker Steam Wand Gets a Safe Outlet


The media in this post is not displayed to visitors. To view it, please log in.

Sometimes a hacker has a specific sort of problem, and uses the tools they have to solve it in a way that just might be helpful to someone else. That’s the case with [Matvey Kukuy]’s Coffee Steam Dryer (V2), which performs the very specific job of safely swallowing up expelled steam and water from an espresso machine’s steam wand.
Steam purges into the top inlet and passes through expansion chambers, dragging cool air along with it, until it exits safely.
Steam wands are used to froth milk into a velvety texture, and some machines require purging the wand before using it for best results. Where does the resulting jet of steam and spatter of superhot water droplets go? Not the machine’s problem. That’s for the user to deal with, and [Matvey] decided to address it by designing and 3D printing a tool.

The pipe-like object works by having steam jet into the open top (printed in ABS or ASA for heat resistance) where the device redirects the hot gas and captures any expelled water in the process. The steam flows through expansion chambers, dragging cool air along with it in the process, until it ultimately gets redirected away from the user.

By the time steam exits the outlet, some has condensed and the remainder has cooled and slowed down enough to not be a worry.

It’s the second version of the device, and we like how it has no moving parts and can be disassembled for cleaning and drying.

Coffee is an area that is rich with hacker activity, from 3D-printed micro-brew machines to completely DIY roasters but tools like this show how improving the coffee workflow can also be beneficial.


hackaday.com/2026/09/15/coffee…


After 6 Years as Road Ornament a Widescreen Sony Trinitron Lives Again


The media in this post is not displayed to visitors. To view it, please log in.

After previously adopting a big Sony Trinitron CRT TV that had been trying to hitch a ride along the side of a road in Italy for at least six years, [Happychoice] didn’t give up on trying to fix it, with the second part showing the TV being more or less fully fixed up.

In the first part of this mini-series, the TV had been salvaged and had most of the dirt as well as local flora and fauna evicted before an attempt was made to fix it. Unfortunately despite the insides looking remarkably clean and intact considering its use as a road-side ornament, that video ended with the controller refusing to power up due to issues with the power supply.

In this sequel we get to see what six years of weather exposure means in terms of what components to replace in a CRT TV like this. Unsurprisingly this means mostly replacing most of the capacitors, at least on the power supply board, as well as the neck board for the actual CRT. A couple of MOSFETs also tested open, so they were replaced too.

With those fresh new parts the TV fired right up again, and with a Wii console connected it looks pretty spiffy running games like Persona 4. Fortunately modern CRT TVs like these have a built-in service menu that you can access with the remote, so that you can tweak picture alignment and other settings without having to stick a screwdriver into the back of the TV to fiddle with a potentiometer whilst also keeping an eye on the picture.

Although there are undoubtedly more components on the PCBs and of course one grimy speaker to give some TLC, it does show that as long as the tube itself is intact, it’s definitely worth it to give repairing a shot.

youtube.com/embed/Ypquw7PV4co?…


hackaday.com/2026/09/15/after-…


Sampling the Elephant’s Foot and Chornobyl’s Tedious Corium Clean-up


The media in this post is not displayed to visitors. To view it, please log in.

The site of the Chornobyl Nuclear Power Plant (ChNPP) remains a unique location, as what’s left of the No. 4 reactor is the only place in the world where you can find significant amounts of what is called corium. An amalgamation of nuclear fuel, fuel rod cladding and whatever materials like concrete that the molten mass came into contact with, Soviet scientists initially struggled to make sense of this material, leading them to even have it shot at to get samples.

In this video documentary by [That Chernobyl Guy] these struggles by scientists both in and outside the USSR to comprehend this wholly new material are detailed. Much like trinitite – created by a US nuclear weapons test – these are amalgamations of material combined under extreme conditions. In the case of the ChNPP accident, the botched turbine spin-up test and disabling of all safeties by the operators allowed the bottom core chain reaction to run unconstrained, producing the massive steam explosion that flipped the biosafety lid of the RBMK reactor, while also fully melting the core material that then melted through the concrete below the reactor.

Although this Elephant’s Foot is only a tiny fraction of the total mass of corium inside the No. 4 reactor, it got rather infamous for supposedly being highly radioactive and lethal. In reality it’s one of the least dangerous parts of the exposed corium, and repeated sampling attempts along with internal degradation due to radioactive decay and weathering before the NSC shelter was installed have led to it mostly turning into slightly radioactive, rusty-looking dust at this point.

Also covered in the video is how the corium in the destroyed reactor is likely to be retrieved for final disposal, with robots cutting into the sides of the reactor building rather than trying to navigate destroyed corridors and staircases. This way it might be possible to remove most of the material without the issues that stymied Soviet engineers in the 1980s during their sampling attempts.

youtube.com/embed/62BWarijIuY?…


hackaday.com/2026/09/15/sampli…


Hackaday Europe 2026: Bare Metal Made Easy


The media in this post is not displayed to visitors. To view it, please log in.

When we talk about programming in “bare metal,” it basically means writing software that runs right on the hardware with no operating system or abstraction layers in between. This gives the program the most direct possible access to peripherals and memory, with the tradeoff being that you don’t get the protection and ancillary features that come with an OS.

Sylvain Huet came down to Hackaday Europe 2026 to talk about making bare metal easy. Not just by ignoring operating systems and ever-bloating dependencies, but by rethinking the way we approach software development and by building a transparent platform from the ground up.

Down To Brass Tacks


youtube.com/embed/-0hu1ntj5lU?…
Sylvain’s computing journey began with the Thompson T07, in an era when the line between operating systems and bare metal was wafer thin. Since then, we’ve sheathed our CPUs in ever deeper layers of abstraction.
Sylvain begins the talk with a look at where his own computing journey began. Back in 1982, he got his hands on a Thomson TO7, with just 8 kilobytes of user RAM and a 6809 CPU. The best way to have fun with the hardware was to work straight in assembly. “It was easy to understand everything about your computer,” notes Sylvian of the simplicity of the platform. “There was almost no hidden side in this computer.” Of course, change was fast in that era, and a bit over a decade later, Sylvain was working on a Metaverse-like product called Second World, before moving on to work on Nabaztag in the early 2000s—a charming Wi-Fi enabled rabbit launched just as wireless networking was hitting the mainstream.

The through-line across all these projects was that much of the work was done at the bare metal level—often useful when it’s desirable to work as close as possible to the hardware peripherals or to maximise performance. Sylvain then contrasts this with how things are often done in this modern era. A poignant example was showing pictures from an airport during the CrowdStrike outage of 2024. Where once upon a time a flight schedule display might have been a purpose built device running on very simple hardware, these days it’s common to just kit out flat screen monitors with entire Windows computers behind them. It’s a convenient way to build, but as Sylvain explains, this complexity sometimes comes at a cost. He then shows that such a display can be very easily built with a Raspberry Pi running a bare-metal program with no operating system at all—with no automated security updates enforced by an outside OS provider, or any such heavy-handed management required. Since it’s coded to do one job from the ground up, it’s much less likely that the software falls apart due to some outside update or the collapse of some obscure dependency that nobody on the development team was even aware was included.
The modern operating system is perhaps the biggest black box of all; removing it provides a lot more transparency on what’s going on under the hood. Such is the goal of Sylvain’s overarching Minimacy project.
Sylvain talks about a “new minimalism”—where “all you need to understand should fit in your single brain.” It’s not just about working at the bare metal level, but about creating systems where a single developer actually understands the project from top to bottom. Of course, there are limits to the size of a project any one person can completely understand, but for some applications, this can be a useful guiding principle. The talk also explores how we use things like outside libraries. Sylvain calls this the “low-level paradox”— wherein the more sophisticated a task is, the more we rely on black boxes to do parts of the work for us. It’s a fast way to develop, but quickly adds thousands of lines of code to a project and enables us to avoid understanding some of what’s actually going on under the hood.
Sylvain’s Minimacy Machine is intended to be a platform with a focus on transparency—allowing the developer to know what’s going on at every level. It’s based on the Raspberry Pi RP2350.
To this end, Sylvain has created the Minimacy language. It’s intended to enable development with fewer dependencies, black boxes, and operating systems, while maximising the capacity for understanding. It’s concise, linear, and safe, with strong static typechecking and type inference. You can work with it using the Minimacy virtual machine, which combines an instant compiler and a virtual processor that can run the code. It’s 100% open source, and is written in less than 900 kB of C—both which support the ideal of being within the realms of a developer’s ability to understand the whole stack. Indeed, Sylvain demonstrates just how light it is by running a Minimacy game off a floppy disk on a modern UEFI laptop. The idea is that a Minimacy VM could run on a variety of different hardware, allowing near-bare-metal access for Minimacy code while still maintaining some level of portability across systems.

Sylvain also demonstrates the Minimacy Machine. It’s powered by a Raspberry Pi RP2350, running at 150 MHz, with lots of useful peripherals, including Ethernet connectivity, an OLED display, an SD card reader, and a real time clock. Armed with all that, it’s a platform that can run Minimacy code and allow the development of devices that run without relying on lots of outside dependencies or a heavy OS built for more general purpose tasks. It exists as a transparent software and hardware stack for developers to build upon.

Overall, though, Sylvain’s talk isn’t just about Minimacy or programming in bare metal. It’s about finding simplicity where it makes sense. Working in bare metal isn’t for everything of course, and the vast majority of us will continue to use operating systems across all sorts of applications where they’re necessary and useful. However, in the advanced age we live in, it’s sometimes good to remember that stripping away unnecessary layers of abstraction often makes a lot of sense, because they can distract us from the simple tasks we’re trying to achieve in the first place.


hackaday.com/2026/09/15/hackad…


Running Linux 6.11 on the ESP32-S3 with a Few Tweaks


The media in this post is not displayed to visitors. To view it, please log in.

With the Xtensa Lx7 twin CPU cores in the ESP32-S3 running at a relatively zippy 240 MHz and accompanying PSRAM of up to 16 MB, you might find yourself wondering whether it could run Linux. As [Paulneja] demonstrates with Linux kernel 6.11, the answer is a ‘yes’, though with the usual caveats.

What complicates matters with the ESP32-S3 is that it lacks certain amenities that spoiled OSes like Linux have come to take for granted, such as a Memory Management Unit (MMU). To deal with this, the NOMMU Linux configuration was used, along with a custom fork() implementation. Although the previous 0.7 version sort-of worked, the current 0.8 release is the first that manages to actually boot reliably and has a usable amount of RAM available after boot.

You can see the comparison between the two versions in the header image, with v0.8 having a blistering 3.7 MB available after booting and with overall resource usage and performance having improved massively. Note that only one core is available to Linux, with the other used by the typical FreeRTOS ESP-IDF stack to provide WiFi and Bluetooth.

This was all run on an ESP32-S3 with the N16R8 configuration, meaning 16 MB Flash that’s also used for writable storage and 8 MB of octal PSRAM. As for practical applications, it’s noted by [Paulneja] that this is a research project, though one could imagine this being an embedded Linux project along the lines of a network router running something like BusyBox.


hackaday.com/2026/09/15/runnin…


Linux Fu: Speak Up!


The media in this post is not displayed to visitors. To view it, please log in.

Apparently, people hate typing. As every movie and TV show suggests, the future is talking to computers. There was a time when speech recognition was complex and not very good. But these days, even our lowly phones can do a pretty good job of speech recognition. Of course, one problem is that your phone probably isn’t actually doing the speech recognition. It sends it to the big business of your choice to interpret. I’ve been using Handy, a speech recognition system that works well for me. I’ve also looked at some that didn’t.

After all, it is sometimes nice to dictate to your computer, and it would be even nicer if you could keep your data local. On Windows, oddly enough, there is a well-developed speech feature that, as far as I can tell, almost no one talks about or uses. One video estimates that 99% of users don’t use it. Linux, of course, has many options, but historically, these have been difficult to set up or finicky.

Of course, the good news is that many of the Linux tools are open source and the models are quite good. That means other people have had the freedom to fork the tools and make them easier to use, at least in theory. The licensing of the models themselves may be different, but those will be hard to modify, anyway and they generally work well. The biggest problems on Linux isn’t the technology itself, but the tremendous variety of systems and setups.

Suppose you want to write a speech-to-text program. Will it work on ARM? What desktops will it integrate with? Can it use a GPU? What kind? What about specialized instructions in some CPUs? Then there’s the forced input situation; typing into arbitrary programs once you know what the user said. On X11, it is easy, but Wayland needs different handling.

A Shortcut


I’ve thought about using my phone with KDE Connect, which is an excellent program. It can let you use your phone as a keyboard and mouse for your Linux computer. Unfortunately, it is aimed at character-at-a-time input, and I’ve never found a way to make it work with voice.

Besides, the phone is beaming all the data to “the cloud.” You probably type things you’d rather not broadcast to the ether.

I had looked at Speech Note before, but it is sort of a speech recognition notepad. I didn’t find it seamless, and it didn’t work well on my system anyway. Vocalinux looks nice, but a quick test kept complaining that my Intel extensions were not available. Makes sense, since I have an AMD CPU. Even though the documentation said it should work, I was never able to get it to work.

The Easy Way


Turns out the application that worked readily on my machine was Handy. Keep in mind, Handy is just another tool that uses one of several models out there, along with other open-source tools. You might need to install some tools to deal with your system like xdotool or dotool, but they are probably already installed anyway. That isn’t to minimize the value of Handy. It is — well — Handy. You don’t have to load and configure models, set up a bunch of system-level hooks, or install a bunch of libraries. You install it, and it works.

You can configure it. The best model for you, for example, may depend on your machine and the languages you speak. You can configure the hotkeys and how the app types into your computer. But it does all the work of downloading and configuration.

No Cloud, Unless…


The models do run on your computer and you can make sure it takes advantage of your hardware. However, there is an optional alternate hotkey that takes your speech, processes it to text, and then sends it to your choice of AI engines to clean it up.

Of course, you could be running your own AI engine, but normally you’ll have it sent somewhere else with a prompt. You can tune the prompt or create your own, but the default one starts: “Clean this transcript: 1. Fix spelling, capitalization, and punctuation errors 2. Convert number words to digits (twenty-five → 25, ten percent → 10%, five dollars → $5) 3. Replace spoken punctuation with symbols (period → ., comma → ,, question mark → ?) 4. Remove filler words (um, uh, like as filler)…”

You do need an API key, but there are free options available. For experimenting purposes, I went to OpenRouter, generated a key, and attached it to one of several free models they have. The nice thing is that you can experiment with different models while keeping the same key.

If you search for free in the models box, you will find a few choices including openrouter/free which just picks a free model that isn’t too busy. That can be important because some of the models will introduce long wait times into your transcription.

On the other hand, you can make a new prompt, copy the original one in, delete the part about keeping the language the same, and add instructions to translate the output to French, and that will work, at least most of the time. So there are a lot of possibilities.

Rather than tell you all about it, we’d encourage you to install it and try it or watch the reveiw video below.

youtube.com/embed/ZRsDQp9CrXc?…

Special Mention


Although Handy is my first choice for day-to-day transcription use, there is another open source project that’s worth mentioning. Nerd Dictation is a very lightweight wrapper around the Vosk model. It does take a little bit to set up, and then it provides you with a command line tool that can start and stop dictation. Of course, you can assign those to macro keys. However, there is also a switch that allows you to simply output to stdout. That opens up a lot of possibilities for writing programs or even shell scripts that respond to voice.

To see what’s possible, run nerd-dictation begin --help. This will show you how to output to stdout, set a timeout, and handle other options.

Of course, the obvious project would be a voice typewriter. Many of the tools mentioned here either rely on or can use OpenWhisper and, of course, you can use it too, if you roll your own code.


hackaday.com/2026/09/15/linux-…


Every ZX81 Expansion Card You Ever Wanted, All At Once


The media in this post is not displayed to visitors. To view it, please log in.

The Sinclair ZX81 was a masterpiece of Sir Clive’s desire to get the most out of the least hardware, being about as minimalist as it was possible to get and still be a home computer in 1981. As such it has a keyboard, a Z80, TC and cassette interfaces, 1K of memory, and that was it. There were any number of add-ons for it, but if you were a 1980s kid the chances are you couldn’t afford them. So 45 years later here’s [adam.klotblixt] with OpenSpand — every ZX81 expansion you could think of, all in one!

For a start there’s a RAM expansion. Not the paltry 16K of old, this is user-configurable and has the whole 64K address space minus the ROM to play with. Then there’s SD card storage, hijacking Sinclair BASIC’s LOAD and SAVE commands. It’s got high-res graphics, emulated sound chips, a joystick port, serial ports, a choice of ROMs, and a composite video output. Perhaps the only thing it doesn’t have from back in the day is a printer interface, but we’re sure the serial port could be pressed into service somehow.

It does this all as you might expect these days, with an RP2350 emulating the real parts. The microcontroller disables the onboard RAM and ROM and emulates those too, such is the disparity in power between it and a Z80. We would have done anything for this expansion, back in the day.

The ’81 features here quite often, most recently in a look at Sinclair’s own RAM expansion.


hackaday.com/2026/09/15/every-…


Fixing a Ubiquiti 16-Port PoE Switch With an Extra Hole


The media in this post is not displayed to visitors. To view it, please log in.

After saving a £300, 16-port Ubiquiti network switch from getting tossed into the trash, [Buy It Fix It] got the honor of trying to repair it. With four ports and their associated PoE function having some major issues it looked like it might take some debugging, but after taking the lid off, the cause seemed rather obvious.

One of the Broadcom BCM5911 controller chips had a rather suspicious chip of the plastic packaging missing, with additional probing of connected components showing that numerous MOSFETs and a diode having had their proverbial guts blown out and were shorted as well. Whatever happened to some connected Ethernet device would appear to have left a serious trail of damage that nearly wrecked the entire switch.

The biggest challenge here was probably to find a replacement for the Broadcom IC, as this isn’t an IC that stores like Digikey or Mouser stock any more. Fortunately it was still available for sale over at AliExpress for £1.84, with the usual caveat that it could be salvage, fake, a factory reject, etc. In this case it appears that it was a legit Broadcom IC, with the four affected ports springing back to life including powering a PoE camera.

With a total cost of about £5 plus the time invested it wasn’t a bad deal to save a pretty nice PoE switch with 16 Ethernet and 2 SFP ports.

youtube.com/embed/ZGkLkHcSZ3U?…


hackaday.com/2026/09/15/fixing…


An Open Heart Rate Monitor


The media in this post is not displayed to visitors. To view it, please log in.

If you spend any time near a gym, you may be familiar with Bluetooth heart rate monitors — a small pack of electronics mounted on a strap round the chest which can relay heart rate data to an external logger or display. We’re pleased to see [Milos Rasic]’s project then, an open-source version of one of those monitors.

The heart rate capture is done by an AD8232, while the Bluetooth part is handled by a Seeed Studio XAIO ESP32 board. Power is provided by a single 3.7 V cell, with a boost converter to push that up to 5 V. The design omits a charge controller to keep things simple, so figuring out how to top off the cell is left as an exercise — no pun intended — for the user. Software is loaded through the Arduino IDE, which raises the possibility that other ESP32 CPUs could be supported with a bit of modification. All in all it’s a surprisingly simple project, and while the manufactured version is cheap enough it’s still very much worth having one that’s open source.

If you’d like to know more about his quest to develop open medical devices, check out the talk [Milos] gave on the intricacies of blood pressure monitoring earlier this year at Hackaday Europe.

youtube.com/embed/Z1Dts_NHXyQ?…


hackaday.com/2026/09/14/an-ope…


Writing an ESP32 Bluetooth Printer Driver In Two Acts


The media in this post is not displayed to visitors. To view it, please log in.

[Bas BotBerg] wanted to use a portable Bluetooth thermal printer to run off reports on sensor data collected by an ESP32-C3 microcontroller. But as is so often the case these days, the only official way to interface with the printer was through a proprietary smartphone application provided by the manufacturer. With no documentation on how the thing works, he set out to reverse engineer the printer’s communications protocol so he could control it from the MCU — but the route he took to get there was a bit different than what we usually see, and is an excellent case study for those who might have similar projects in mind.

The standard procedure for something like this, if it can be called that, is to use Android’s built-in debugging capability to log Bluetooth communications while running the manufacturer’s application. The resulting file can be fed into Wireshark, and with patience and some educated guesses, you can usually work out the various commands and values that get passed to the hardware.

But in this case, [Bas BotBerg] ignored the manufacturer’s software and instead used an application that can query a device and list its Bluetooth Low Energy services and characteristics. Specifically, he looks for services that are marked as writable, and starts pushing data into them to see how the printer responds. For this he uses Python with the Bleak library, as it allows him to rapidly iterate and adapt his code. After a bit of poking and experimentation, he finds the proper incantation to get the printer’s motor to kick on an advance the paper — a critical first milestone that tells him he’s on the right path.

Once [Bas BotBerg] mapped out what data needed to be sent to what endpoints to operate the printer in Python, it was a relatively straightforward process to send those same payloads using C++ code on the ESP32. For extra style points he also brought in the Adafruit GFX library so he could produce icons and more easily format the output of the printer.

It doesn’t look like [Bas BotBerg] has released the code in this case (perhaps if we all ask nicely), but we’ve seen similar efforts to bring open source drivers to these cheap Bluetooth printers for the good of the community.


hackaday.com/2026/09/14/writin…


How High-Voltage Current Transformers Monitor the Grid


The media in this post is not displayed to visitors. To view it, please log in.

Being able to monitor voltages and currents is essential for many applications, with the national electrical grid being no exception. The obvious complication here is that the voltages and currents are massively higher than for those other applications, making safely monitoring these somewhat of an engineering challenge. The used systems for current monitoring are detailed by [Jordan Taylor], also known as [The Electric Brit], in an explainer of grid-level current transformers (CTs) and associated elements that help to provide galvanic isolation for safe current measurements.

Even if the basic principles remain the same, when you’re dealing with currents of 5 kA and more, the associated clearances and penalties for getting a detail wrong increasingly correspondingly. The CTs help to implement over-current protection (OCP), over-voltage protection (OVP) as well as differential protection, which is useful to detect leakage and shorts, which could also happen inside the CT if the windings become damaged.

Any such failure condition can trigger a circuit breaker to be tripped, or other corrective measures to be taken. Incidentally this also how it can be detected when someone is tapping off power in an illicit manner. As with all transformers they’re never perfect due to issues like core saturation, and thus performing accurate measurements and picking the right type of transformer is an art in itself, as explained in the video.

Ultimately CTs and the associated equipment are what makes an AC power grid responsive to any changes and with it into the reliable foundation of modern-day society.

youtube.com/embed/c3sOvWF6e6E?…


hackaday.com/2026/09/14/how-hi…


Pulse: a New VHDL Simulator


The media in this post is not displayed to visitors. To view it, please log in.

With VHDL being arguably more deterministic and bullet-proof than Verilog, it’s good to see another open source VHDL simulator joining the fray that is not a variation of ghdl. Written by [Óscar Grimal] in C++ with an MIT license, the Pulse project is a still in progress package that provides the entire toolchain, from the compiler to the requisite waveform output.

This waveform output is provided in the form of a text-based user interface (TUI), which at the very least helps a lot with making it cross-platform compatible. As dependencies only a C++20 capable compiler and CMake are indicated.

Of course, with VHDL being a rather hefty language especially once you start piling up the associated standard library, the currently supported language and library features are somewhat limited still so that you’re limited to basic IEEE packages and types, with default values are not supported yet.

Per the roadmap on the GitHub project’s Readme more VHDL language features including generics and additional types will be added, along with an enhanced simulation engine. It’s also said that mixed-language support with Verilog will be added, though SystemVerilog looks to be getting the short end of the stick as usual.

It will definitely be interesting to compare this package to ghdl.


hackaday.com/2026/09/14/pulse-…


Hackaday Europe 2026: Space Oddities


The media in this post is not displayed to visitors. To view it, please log in.

If you’re in motorsport, or maritime, or mining fields, you can always call on a technician to come down and fix something when it’s broken. You can lay hands on the parts, reconfigure things, make repairs, and get something working again. In space, that’s seldom possible. If you’re lucky enough to have a manned mission, you might be able to make some running repairs; if you’re working with an unmanned robot, probe, or satellite, your potions are altogether more limited. If you can’t find a fix, it’s game over—a particularly brutal result when huge budgets and years of work are on the line.

Janelle Wellons came down to Hackaday Europe to talk about space. More particularly, the engineering and debugging operations that keep all sorts of space programs alive. Her talk dives into some of the creative solutions engineers have had to come up with to save million-dollar missions from becoming unrecoverable boondoggles.

youtube.com/embed/NGrZZD3ZuHs?…

Janelle came down to Hackaday Europe to talk about space, because she lives and breathes it. An experienced aerospace engineer, she’s worked at NASA JPL and iSpace, contributing to the success of missions taking place far from our humble globe. She drew on that experience to talk through what it takes to keep a mission on the rails when things go a little sideways, which happens in space, just as it does anywhere else.
Galileo was supposed to have a powerful high-bandwidth link back to Earth. When the antenna failed to deploy, NASA engineers had to get creative to find a solution, as Janelle explains in her talk. Credit: talk slides
A fantastic example of that, retold in her talk, is the Galileo mission. It was built to travel far across the solar system, eventually winding up at Jupiter to study the Red Giant and its moons. The probe was engineered with a pair of communication systems—a low-gain antenna for vital signs and management, and a high-gain antenna for sending science data and images back to Earth. The high-gain antenna was key to the mission, capable of offering 10,000 times the bandwidth of the low-gain antenna.

Tragically, though, the high-gain antenna never got to play its starring role. It didn’t deploy properly after launch, and that left NASA with a probe capable of capturing all this fantastic science data, but no way to send it home at a reasonable data rate. Janelle steps through the multiple hacks that make the most of the communication link with the low-gain antenna. NASA engineers whipped up compression algorithms for images and science data, and figured out how to array several Deep Space Network antennas for better signal. This netted an effective data transfer rate of 1,000 bits/second with the low gain antenna. It was still a far cry from the 134 kilobits per second that should have been possible with the high-gain antenna, but a huge leap forward from the 8-16 bits originally possible with the low-gain rig. Ultimately, it saved the mission, allowing the capture of mountains of scientific data on the largest planet in the solar system.

“NASA Astronaut Christina Cook is also working through troubleshooting steps of the waste management system that’s aboard the Integrity spacecraft.” – Ground control, Artemis II mission, 2026


Left—the Artemis II toilet, a leap forward in space-based waste management technology. When it’s working, anyway. Right—the collapsible contingency urinals (CCU) used to capture and store liquid waste when the Artemis II’s main toilet was out of order. Credit: talk slides
Another great story told by Janelle concerned the Artemis II mission. The lunar flyby was part of NASA’s efforts to eventually return to the Moon itself, and was notable for debuting some special new hardware—the toilet. Unlike previous visits to the moon as part of the Apollo program, Artemis astronauts travel in luxury, with a proper commode built to handle the specific requirements of the zero-gravity space environment. Unfortunately, though, this new hardware had plenty of teething problems.

Early attempts to repair the system involved attempting to reprime the toilet’s pump by adding water to the system. It wasn’t long before the toilet threw another error, though. On the short-duration Artemis II mission, the toilet was set up to vent urine to space. Only, venting wasn’t working—with the suspicion being that the vent pipes had frozen over. The trick to solve this was simple—turning the spacecraft to face the vents towards the sun, so as to heat them enough to melt the blockage. Janelle also notes that during the multiple periods the toilet was down, the astronauts had to rely on alternative means of passing waste—showing a slide of the “collapsible contingency urinals” that did the job.
Janelle’s selfie, taken with the Perseverance twin rover at NASA JPL. Credit: Talk slides
There’s also a great look at Perseverance’s twin, which lives here on Earth. Janelle has been down to the Mars yard at NASA’s Jet Propulsion Laboratory, where engineers, in her words—”test before you do.” The problem is, when you’re driving a robot on a foreign planet, you can’t just send someone over to repair a broken wheel or flip it back up if it tips over. Thus, many maneuvers and operations are rehearsed in the Mars yard with the twin of Perseverance, running it over recreated obstacles to determine a safe plan of attack.


hackaday.com/2026/09/14/hackad…


Fly Brain Connectome Used to Trade Stocks and Play Games


The media in this post is not displayed to visitors. To view it, please log in.

Recently researchers finished mapping the central nervous system (CNS) connectome of not just the female Drosophila melanogaster (i.e. fruit fly) brain, but also that of the male D. melanogaster for a comparative analysis. Here the sexually dimorphic changes turned out to induce specific mating behavior that ensures that there will only be smooching between genetically fit D. melanogaster males and females, while the rest of the connectome remained effectively the same.

Of course, with this connectome in hand it led some people to ask themselves what else one can do with this connectome graph of about 160,000 neurons other than make a fruit fly into a fruit fly. So far we have seen [Nftechie] turn this connectome into a crypto stock trader with the Stonkfly project that uses the connectome’s reward circuits to potentially make profitable trades, though [Nftechie] says that they haven’t verified yet how good a fruit fly is at trading stocks, only that it does said stonks.

Over at [PC Gamer] they summarized a number of things that people have also done, including trying to make the connectome control a game of DOOM and Beat Saber. Each game frame stimulates sensory neurons, with the generated outputs then mapped to game controls, with dopamine-producing reward circuits wired in for reinforcement learning.

Although the D. melanogaster brain is only the merest fraction of the size of the human brain, it does provide us with a glimpse of what actual artificial intelligence research may lead to, as we unravel how even a 160,000 neuron connectome is enough to make these terrors of rotting plant matter do their wonderful things.


hackaday.com/2026/09/14/fly-br…


Rosy Retrocomputing


The media in this post is not displayed to visitors. To view it, please log in.

Most of us are guilty of romanticizing the past. Do you long to be the captain of a tall ship? Just as long as you don’t mind weevils in your food, vitamin deficiencies, and death from an infection when there were no antibiotics. Want to be a medieval knight? Even worse. But surely, retrocomputing is as fun as we remember, right? Turn your computer on, and it comes up with BASIC! Ready for you to write your own programs. None of this GUI foolishness. Of course, this is just another example of rosy retrospection.

Even if you like BASIC or a similar language today, things have changed. You have a nice text editor, a fast computer, debugging tools, along with things like named functions, no line numbers, and modern control structures. None of those things were very common in the 1980s. At least, not on a hobby-grade computer.

Why am I thinking about this? Well, the Hackaday Retrocomputing Challenge is on, and it occurred to me that I wanted to work with some young students in glorious MBASIC on a CP/M machine I built and modified from a Hackaday project. Perfect, right? Many of us started that way, so why shouldn’t they?

But it quickly got old. Even a simple program gets bogged down with GOTOs and GOSUBs to mysterious line numbers. It made me remember the time back in the early 1980s, or maybe even the late 1970s, that I wrote a BASIC preprocessor to scan BASIC with no line numbers and produce proper source, converting labels to line numbers in two passes.

Of course, that code is long gone or, at least, on a floppy I haven’t tried to read in a few decades. I decided to take another crack at it six years ago, but I still didn’t make it much more robust. For example:
PRINT: X=X+10
Is that two statements? Or a label? Hard to tell. My 2020 version used awk. Awk is great for this kind of thing because of the regular expressions and the input loop. But it still has some issues with things like comments and strings. Consider the code below.
PRINT "HELLO: IS IT ME YOU'RE LOOKING FOR?"
This would probably have made my awk preprocessor chew the string up and create a bogus label named HELLO.

History of Preprocessors


Preprocessing one language to another is nothing new. RATFOR and RATFIV by Brian Kernighan converted modern constructs to conventional FORTRAN IV. Even C++ started out as a program that emitted C code.

So the idea is good, but there are dozens of corner cases. As I anticipated having another go at the idea for BASIC, I realized my earlier versions had some design choices that made it harder than it should have been. So I started from scratch.
BASIC as it was (courtesy of Cool-Retro-Terminal)
First, I gave up the idea of just having labels as you might in other languages. Instead, they’d be part of a comment and hard to mistake. This makes for easier parsing and also allows you to keep them around for reference. I also gave up on having labels magically expand. You need a way to make them unique, too. Here’s what I settled on:
':TOPLABEL

GOTO @TOPLABEL
The plan was to go through the source once to assign line numbers. When a label occurs, it adds to the symbol table. Then a second pass actually writes output, replacing @TOPLABEL with the value from the symbol table. Of course, you still want this line to not trigger a label expansion:
PRINT "Send messages to @JTKIRK"
I decided to keep going in awk, but my eventual goal was to rewrite the whole thing in BASIC using the same syntax. Then you could convert the translator itself using the awk version once and then run it on an old computer using BASIC, even if you wanted to retranslate the translator itself. Perverse, huh? But that allows you to keep that authentic development experience. You don’t have to jump over to a PC to process your code, unless you just want to.

Awk as in Awkward


So I decided to do a better job on the awk part with this new scheme. At some point, though, you lose some of the advantages. Then feature creep set in.

I suppose I was subconsciously remembering RATFOR. I decided to add a small number of modern control structures. Again, I wanted something easy to pick out of the source file, so I went with this:

IF X=0 THEN!
PRINT "There is no X!"
X=10
ENDIF!

There’s also WHILE!, DO!, EXIT!, and CONTINUE!

Of course, it didn’t end there. I decided to add a way to include or exclude parts of the source (sort of like #if in C but simpler), along with source code inclusion and a few other neat options such as numeric constants, conditional source blocks, compile-time errors, and even a small numeric stack with PUSH! and POP!.

The source code inclusion can be made to work with awk, but it is ugly. I decided it was better to proceed with another language, but since I didn’t feel like starting over, I just had an LLM convert my awk to Python, which it did with no trouble at all. I then did a little more feature development in Python, but I made sure not to use those new features in the translator itself so the awk version could still process an input file.

So while the original plan was to develop and test in awk and then implement similar code in MBASIC, I now had three versions: a frozen awk script, a Python version, and an MBASIC version.

This was getting a bit much to test. I had the LLM cook up some documentation, additional comments, and tests. It was especially nice to verify that all three versions — awk, Python, and BASIC — did the same things for their common features. The LLM was good at running tests and finding corner cases. It would even run tests in a RunCPM session on the MBASIC version.

BASIC


As you might expect, the BASIC version is a little more convoluted. However, the use of labels and control structures makes it much easier to write, read, and maintain.

Writing the translator in MBASIC imposed some very old-fashioned constraints. There are no dictionaries or dynamic lists, so labels and block state live in fixed-size arrays. Included files require an explicitly managed stack, and parsing strings and comments has to be done character by character. It is not as compact as the Python version, but it is ordinary MBASIC and can run on the target CP/M machine. The limitations also influenced some features that would have been feasible in Python but are nearly impossible in an MBASIC program.

Better yet, lblbasic.bal stays within the subset the original awk translator understood. That provides a bootstrap path: awk produces the first lblbas.bas, after which the MBASIC translator can process its own BAL source.

A Few Samples


One project I had in mind was to drive an LED display module. I wrote a library and then wrote the test program below. It doesn’t matter, but I used .bal as a file extension.

REM TM1637 TEST – PORT 3, BIT 2=DIO, BIT 3=CLK
REM Uses the TM1637.BAL library with LBLBASIC

STACK! 8 ' Required by the library

' Confirm that the library preserves I while initializing its data table.
I=3141
gosub @init
print "I is now:";I
PRINT "Starting number: ";
INPUT CT
PRINT "1-Up, 0-Down: ";
INPUT UD
OFFSET=-1
IF UD<>0 THEN OFFSET=1
':CDLOOP
WHILE! CT>=0 and CT<=9999
NUM=CT
GOSUB @sendnum4
CT=CT+OFFSET
WEND!
CT=0
IF OFFSET=-1 THEN CT=9999
GOTO @CDLOOP
END

' Include the library after the main program.
'INCLUDE! TM1637.BAL

The BASIC code, including a few lines of the library, is much harder to read:

10 DIM LBLBSTACK#(8):LBLBSP=0
20 I=3141
30 gosub 230
40 print "I is now:";I
50 PRINT "Starting number: ";
60 INPUT CT
70 PRINT "1-Up, 0-Down: ";
80 INPUT UD
90 OFFSET=-1
100 IF UD<>0 THEN OFFSET=1
110 ':CDLOOP
120 IF CT>=0 and CT<=9999 THEN 140
130 GOTO 180
140 NUM=CT
150 GOSUB 330
160 CT=CT+OFFSET
170 GOTO 120
180 CT=0
190 IF OFFSET=-1 THEN CT=9999
200 GOTO 120
210 END
220 ':init
230 IF LBLBSP+1>64 THEN PRINT "BAL stack overflow":STOP
240 LBLBSTACK#(LBLBSP+1)=I:LBLBSP=LBLBSP+1
250 DIM D(9)
260 FOR I=0 to 9: READ D(I): NEXT I
270 DATA 63,6,91,79,102,109,125,7,127,111
280 X=12:OUT 3,X
290 IF LBLBSP<1 THEN PRINT "BAL stack underflow":STOP
300 I=LBLBSTACK#(LBLBSP):LBLBSP=LBLBSP-1
310 return
320 ':sendnum4
330 GOSUB 500
340 B=64:GOSUB 610
One of the HILO games running.
If you haven’t used the TM1637 before, it uses a serial protocol with a clock and data line and is very forgiving of timing. The display update speed is quite slow, partly because MBASIC isn’t that speedy and partly because the Z80 chip communicates to the outside world via another microcontroller talking over an I2C bus. But non-BAL code would be just as slow on the same computer. You’ll notice, though, that I took all the delays out and the code and it still works fine.

The bigger sample, though, is HILO.BAL. This lets you set a few compile-time constants that let you select what parts of the program get built. It also makes good use of the control loops. Of course, if you really want to dig in, lblbasic.bal uses quite a bit of the awk-compatible syntax and is a substantial program: around 1300 source lines of BAL which generate nearly 900 lines of regular BASIC due to comment and white-space stripping.

Conclusion


Does this turn MBASIC into a modern language? Of course not. The generated program still has line numbers, the machine is still tiny, and the implementation makes compromises that would horrify anyone writing a real compiler. But it removes enough friction that programming the old machine becomes enjoyable again, especially with WordStar as an editor.

More importantly, the translator can live on the machine it targets. The awk prototype can translate lblbasic.bal once, producing ordinary MBASIC. From then on, the CP/M machine can translate BAL programs — including the translator itself — without help from Python or a modern computer.

So perhaps the lesson isn’t that retrocomputing was better than we remember. It’s that, with a little strategic cheating, it can be almost as much fun as we remember.


hackaday.com/2026/09/14/rosy-r…

#if


Europe is building AI fortresses, not AI engines


The media in this post is not displayed to visitors. To view it, please log in.

Europe is building AI fortresses, not AI engines
IT'S MONDAY, AND THIS IS DIGITAL POLITICS. I'm Mark Scott, and for those of you following the digital sovereignty debate, I'll be unpacking what's going on in this webinar with the GoodBot's Renee Black on Sept 15 at 1pm ET / 7pm CET.

I've also revamped the Digital Politics website. It now includes individual curated sections, based on themes, and a more easily-searchable archive. Look for upcoming features, including a prompt-based database of topics, countries and policy priorities.

— The European Union is spending big on AI infrastructure that's born and bred at home. But the bloc is failing to turn that roll-out into an engine for growth.

— The United Kingdom has held firm on its digital antitrust reforms as a potential counterweight to Europe and the United States. London's biggest challenges, though, are still to come.

— Americans lost $21 billion in internet crime last year, or a five-fold increase since 2021.

Let's get started:



digitalpolitics.co/eu-ai-infra…


It’s The Speech Synthesiser You Wanted, For The Computer You Had


The media in this post is not displayed to visitors. To view it, please log in.

If you had an 8-bit computer in the 1980s and bought a speech synthesiser for it, what you got was invariably an alophone-based synthesiser using the SP0256 or similar. You definitely couldn’t afford DEC’s DECtalk, a high-end standalone speech synthesiser made famous to the masses as the unit used by Stephen Hawking. But now those two worlds can come together, thanks to [Michael Wessel], whose Perfect Paul ][ is a drop-in DECtalk emulator card for the Apple ][.

The PCB includes an RP2040-based Raspberry Pi Zero, plus an I2S DAC and amplifier, speaker, and bus-interface logic. It appears at a set of memory addresses, and interfacing to it is as simple as POKEing DECtalk commands to those addresses. Looking at it, we are guessing this would be easy to bring to other 8-bit era machines.

You can see and hear it sing in the video below the break, and it certainly has the feel of the real thing. We can say with certainty that this would have been a sensation had it appeared back in the early 1980s. This one may be a modern reproduction, but it’s not the first time DECtalk has appeared here; we’ve even brought you a real one.

youtube.com/embed/QXe7LpF3Q8w?…


hackaday.com/2026/09/14/its-th…


CircuitPython Goes Turbo With Precompiled Functions


The media in this post is not displayed to visitors. To view it, please log in.

It would not be at all original to declare that Python is the new BASIC. Like BASIC, it has been the first programming language for a whole generation of coders, and its main advantage is that it’s quick and easy to write in. Like BASIC it is an interpreted language, and thus rather slow to execute.

Thus while CircuitPython can be very useful for beginners and quick projects, it hits the limitations of the hardware far sooner than it needs to — unless you can pre-compile critical parts of the code, which you now can, thanks to CircuitPython Turbo by [Mikey Sklar] with some help from Anthropic’s Claude LLM.

Now if that sounds a lot like MicroPython’s ‘Viper’ and machine-code compiler, that’s because it is. CircuitPython is a fork of MicroPython with some handy extras on Adafruit boards, but Viper wasn’t one of them until now. Before the Turbo version, CircuitPython only ran in interpreted mode.

Like MicroPython, using CircuitPython Turbo you can flag sections to run as ‘native’, where instructions are compiled but values stay as python objects, which gets you about a 3X speedup. A little more rewriting to declare your variables and pointers and you can use ‘viper’ mode, which can — depending on what you’re up to — result in a 20x to 70x speedup. In Adafruit’s documentation, they demonstrate a Metro RP2040 calculating the Mandelbrot set 3x faster in Native and 19.7 times faster with Viper than normal Python bytecode.

The one thing that we miss from BASIC that CircuitPython Turbo doesn’t give is inline assembly– though interestingly enough, that is in the upstream MicroPython implementation, so perhaps its day will come here too. Not every job is suited to the use of Python on microcontrollers, but we’ve seen it used for everything from e-bikes to a Winamp-inspired music player.


hackaday.com/2026/09/14/circui…


Dramatically Increasing Usable Closet Space


The media in this post is not displayed to visitors. To view it, please log in.

As any science YouTuber or first-year physics student is quick to point out, the universe is mostly empty space. Not just space itself, but the amount of “empty” space between nuclei and their electrons is also huge. Getting rid of this empty space results in all kinds of interesting phenomena like degenerate matter and black holes. But the concept can be extrapolated into our daily lives as well; many things are so filled with air that we can get a lot more usable storage space by compressing them down a little bit. [Super Valid Designs] took this concept to a coat closet, building one that can hold an impressive number of coats.

He started by looking at an existing closet, which could hold around 21 coats but only if someone used two hands to cram the coats into the space. After a trip to a store which sells rugs, he saw a much better design that lets all the rugs pivot like the pages on a book, and took this idea to his closet using a similar mechanism designed for storing large blueprints instead of rugs. The closet he built around this mechanism has two hinged doors which allow a person easy access to the coats, and when opened the blueprint hangers pivot out like a book, allowing the coats to not only be easily accessed without disrupting the other coats, but also allow them to be compressed down by the closet door for storage.

For comparison, the original closet could only hold 10 coats when restricted to single-hand operation and 21 when using both. The new closet design is smaller, and can hold 24 coats with a single hand and over 30 when using both, a dramatic improvement of closet efficiency. To top it off, a set of cupboards on top and bottom allow for storing shoes and hats as well, and there’s even a garage for a robotic vacuum cleaner. Surprisingly, we don’t see many closet optimization builds around here. The closest we can come is another traditionally small space, a college dorm.

youtube.com/embed/HOlJFzXUQ-U?…


hackaday.com/2026/09/13/dramat…


Re-creating NASA’s Heat Shield Problem


The media in this post is not displayed to visitors. To view it, please log in.

After the Orion capsule of the Artemis I lunar mission returned to Earth, it was found that massive chunks of its heatshield had been ripped off, posing a serious risk to any future missions. In a recent video in which [polymatt] takes a break from repairing old laptop shells and the like, he tries to recreate the Orion’s heatshield using a variety of methods and materials.

For this test a number of samples were created, each using the same kind of segmented structure as the larger Orion heatshield. The filler was created from the published materials for the heat shield by NASA, requiring just serious mixing.

The resulting samples were then cured with thermocouples inserted, before they got blasted with the heat from a propane torch, trying to simulate the various re-entry patterns.

Perhaps unsurprisingly, the results matched the findings by NASA for why the Orion’s heat shield had failed, being the build-up of gases due to the sustained pyrolysis processes that eventually fractured the material. Despite some experimental flaws that injected residual heat from the copper structure, this still seems to be a pretty good setup to test ablative heat shields in DIY lab conditions.

youtube.com/embed/9kU6V6sayL0?…


hackaday.com/2026/09/13/re-cre…


Hackaday Links: September 13, 2026


The media in this post is not displayed to visitors. To view it, please log in.

Hackaday Links Column Banner

We try to steer clear of politics and societal issues here at Hackaday, so a protest is not usually the sort of thing we’d cover. But we figure it’s safe enough to bend the rules a bit when the ones doing the protesting happen to be robots.

About 30 bots gathered — or at least were commanded to gather by the event organizers — in Warsaw to spur discussion about the impact AI and robots will have on the labor market. Beyond getting public and media attention, the demonstration was also designed to raise awareness of what modern humanoid robots can do. While we appreciate the idea of showing robots taking the “jobs” of the protesters, it does seem somewhat ironic that marching around and chanting for hours is exactly the sort of repetitive work that most people would be happy to see taken over by machines.

Although we hope these protests remain peaceful, there’s always a chance things can turn violent when tensions are high. Should things go south, take comfort in the knowledge that a company in Japan has introduced a robot ambulance service. It’s probably more accurate to compare it with roadside assistance, as the goal is to repair the robot on-site. That said, if the fault is more serious, they can bring the damaged bot back to HQ. Of course, the major difference between this program and a traditional ambulance service is that they’ll be able to bring along a spare robot that can take over the patient’s job while repairs are being made. Should anyone start doing that for humans, expect a few more protests.

Would you need a subscription to fix this?
Speaking of repairs, [Boone Ashworth] at WIRED recently wrote up an interesting hands-on experience he had with John Deere’s AI-driven DIY repair service at the company’s corporate headquarters. Armed with a laptop and tasked with fixing the error message showing on a ~$120,000 USD tractor, he was able to follow the instructions provided by the software to identify a sensor that had been unplugged. Reconnecting the sensor fixed the error message and elicited applause from the Deere reps who presumably had carefully unplugged the sensor in the first place for the purposes of the demonstration.

If that doesn’t strike you as a particularly impressive display for a subscription service which starts at $195 a year for each individual machine, you aren’t alone. When Boone reported his experience to critics of Deere’s repairability track record, it was met with literal laughter. You don’t have to have worked in the fields to know that a sensor becoming unplugged ranks pretty low on the list of potential problems you might face in the middle of a harvest.

We can certainly understand why Deere wouldn’t ask journalists to fix a blown clutch or a leaky hydraulic cylinder for the purposes of a media demo. Even so, they could surely have come up with something a bit more challenging if their goal was to convince customers to log into their repair service — something the company claims only about a thousand users do each day.

Finally, this one leans more heavily into the “arts and crafts” than we’d usually cover here on Hackaday, but [Terence Eden]’s Collection of Imaginary Software is too cool not to get a mention.

The idea is simple enough: make up fake disk labels for a bunch of fictional pieces of software (think the games David Lightman was trying to get his hands on in WarGames), stick them on some of the old 3.5 floppies we know you have hiding in a box somewhere, and put them in a frame.

As we’ve talked about in the past, many of us in the hacker and maker community were inspired by nerds in the media. This project strikes us as a fantastic way to show off just which examples you resonated with personally, and if any readers come up with something similar to adorn the walls of their basement, we’d love to see it.


See something interesting that you think would be a good fit for our weekly Links column? Drop us a line; we’d love to hear about it.


hackaday.com/2026/09/13/hackad…


Rusting an E-scooter (In a Good Way)


The media in this post is not displayed to visitors. To view it, please log in.

It is a classic Hackaday situation. You have an Egret GT E-scooter. It has a screen that shows the usual dash stats, but that led to an annoyance. You could accidentally enter firmware update mode and, from there, enter operational mode without the security PIN. [Ben] couldn’t let that stand, so he reverse-engineered the protocol and rewrote the firmware in Rust. As he put it, “… because I have to break… everything I own…” We get it.

The mobile app was useful for some basic info, since sniffing Bluetooth is fairly easy and analyzing mobile code is, more or less, straightforward. Analysis revealed some data that doesn’t show on the display and that several things are sent back to home base tagged with the scooter’s unique ID — another reason to gut the existing firmware.

Internally, the scooter uses the CAN Bus, so out came the oscilloscope and a homebrew CAN decoder. Surprisingly, the CAN bus is accessible on the USB-C port’s data pins. Officially, the port is only for charging phones, so you have to wonder what your phone makes of the alien signals on the data pins when it is charging.

Firmware updates actually come in at least three flavors: display, input panel, and main controller. Reverse engineering the firmware update process was crucial to installing the new firmware.

If you own a similar scooter, this post is a goldmine. If you don’t, it is still a very detailed breakdown of a reverse-engineering workflow, and you can apply many of the tools and techniques to your next project.

Of course, another option is to just keep the scooter and replace the brains. If you want to learn more about reverse engineering, there are literally dozens of Hackaday posts to help you get started.


hackaday.com/2026/09/13/rustin…


A 386 PC For Your RP2350


The media in this post is not displayed to visitors. To view it, please log in.

We’re at a fortunate moment: microcontrollers available at modest prices are edging into the capability level previously reserved for full-fat systems and can, through emulation, run software beyond classic 8-bit home computers, consoles, or old arcade games. A project we’ve been watching for a while is tiny386, an emulator for ESP32 boards that provides a 386 PC with just enough 486 and 586 instructions enabled to run a modern Linux kernel. Now we’re pleased to note that this platform is making it to the RP2350, with ports for both the FRANK emulation platform and the Waveshare Pi Zero boards. You can now have a 32-bit PC with all the peripherals, including VGA and DVI/HDMI, for the cost of an inexpensive development board.

Having seen tiny386 run on its minimum-spec ESP32 platform, we’ll concede that while it’s usable, it’s not the fastest experience, but the RP2350 port promises better performance. It’s not for a modern full-fat Linux distro, but should work well for running older operating systems such as DOS, or Windows 3.1 and 95, or even a lean Linux setup. This has fascinating potential: while these systems are old, they still have an enormous software library. The idea of useful general-purpose computing, 1990s style, in the palm of the hand, is interesting.

If you’re curious, you can find tiny386 here and the FRANK boards here. Maybe they’re a better route to ’90s fun and games than a 386 laptop.


hackaday.com/2026/09/13/a-386-…


Analyzing the FScale Instruction in Intel’s 8087 FPU


The media in this post is not displayed to visitors. To view it, please log in.

During his continuing analysis of the architecture and microcode of Intel’s highly influential 8087 floating point unit (FPU) co-processor, [Ken Shirriff] has now arrived at the point where he can put together how the 8087’s microcode implements various x87 instructions. One of these, the FSCALE instruction turned out to be far more complicated than assumed, with one might assume to be a straightforward powers-of-two scaling turning out to entail over 140 micro-instructions and three levels of sub-routine calls just to handle all cases.

The annotated die shot in the heading image shows the functional blocks that are used by this one x87 instruction, to give some kind of idea of what amount of hardware even ‘just’ scaling a floating point number involves.

Much like with the x86’s CISC-style ISA, these 8087 instructions break down into individual steps that involve everything from loading values into registers, performing operations, checking for and handling error conditions as well as stack management. As can be seen in [Ken]’s breakdown of the FSCALE implementation in the 8087 it’s all very logical, taking a high-level instruction and doing all that’s needed for a robust implementation, without bothering the developer with the details.

Of note is that the 8087’s implementations led to the IEEE 754 floating point standard, providing what definitely at the time was one of the most mathematically accurate FPUs that somehow still was financially responsible enough to make it into a relatively affordable PC.


hackaday.com/2026/09/13/analyz…


Keeping Time on Tumbling Icosahedra


The media in this post is not displayed to visitors. To view it, please log in.

An angular, 3D-printed base holds two icosahedra with numerals on their faces. Each icosahedron has a zig-zagging path running through it, showing red gears inside.

Clocks are almost the ideal devices to inspire creativity in hackers — they have a simple, well-defined task, but there’s an almost unlimited number of ways to carry it out. [ekaggrat singh kalsi]’s OVODYO is a particularly intriguing approach, tumbling a pair of icosahedral counters to display the current time.

Each 3D-printed icosahedron has numerals sunk through each of its twelve sides, and is raised above the base of the clock on a brass support shaft. An inner drive shaft runs through the center of the support shaft and drives a set of beveled gears. These spin the outer shells around two axes, periodically cycling through all twelve faces. The pattern in which an icosahedron rotates means that only set of numerals appears upright at a time, making it easier to distinguish the time.

A split path around the icosahedra both lets them rotate around the support shaft and shows off the internal gearing. On the control side, an ATmega8 drives a pair of stepper motors with drv8833 motor drivers, using a hall effect sensor to detect each indicator’s position. Since the minutes dial only gives the time in five-minute intervals, it also drives an LED strip to indicate the exact minute.

[ekaggrat] has a long history of creative clock designs, from this dynamic chain-link sculpture to a hair-tie clock or a mechanical seven-segment display.

youtube.com/embed/2dgew57z5dg?…


hackaday.com/2026/09/13/keepin…


Whip-Cracking Machine Reliably Breaks the Sound Barrier


The media in this post is not displayed to visitors. To view it, please log in.

On the left side of the image, a mannequin holds a blade of grass in its mouth. A trail of dust follows a blurred green trail past the piece of grass. A man in the background is pointing a wooden device toward the mannequin.

We tend to think of breaking the sound barrier as a comparatively modern accomplishment, but on a smaller scale, cattle herders have been breaking it for centuries: the cracking sound of the tip of a bullwhip snapping comes from a small-scale sonic boom. Reliably getting a crack out of a whip takes skill and practice, though, which is why [Craig Turner] built a whip-cracking machine.

The first step was to build the whip itself, which was surprisingly complicated. Bullwhips taper down toward the end of the whip. As the whip uncurls during a crack, momentum passes down the whip; since the whip becomes continually narrower and lighter, conservation of momentum means that different stretches of the whip must move progressively faster. To get this effect, [Craig] joined together a series of increasingly thin and light ropes. The heavy end of the whip terminated in an eyelet connected to a length of elastic shock cord. Stretching the whip back on the shock cord and releasing it whipped it around, resulting in a fairly reliable crack.

For greater convenience, [Craig] built this into a launcher mechanism, with the elastic cord wrapped around the end of the launcher, an electrical-conduit guide for the whip, and a spring-loaded trigger mechanism to release it. This worked even better than expected, getting a reliable crack every time. The tip of the whip could slice leaves, tear open aluminium cans, put out candle flames, knock the cap off a bottle without tipping it over, and reliably hit small targets on the first shot.

As [Craig] mentioned, this setup would make it much easier to study the cracking effect with a schlieren imaging setup.

youtube.com/embed/-IzLniCbFvk?…


hackaday.com/2026/09/13/whip-c…


Spin FV-1 Emulator Simplifies Sound Pedal Development


The media in this post is not displayed to visitors. To view it, please log in.

If you’ve never heard of the Spin Semiconductors FP-1 digital signal processor chip, don’t worry– that just means you haven’t been deep into guitar petals and audio effects hardware lately. [adamjvr], a.k.a. [avr] has, and he’s gone to the point of creating a PC-based emulator of this sound chip to simplify development.

If you don’t see the utility, stop and think about the development cycle without a simulation like this: you program, you flash to a board, and you test there. Not only does the ‘flash to the board’ step add time and friction, you do also have a limited number of flashes on the board’s memory. With an emulator on your PC, the workflow tightens to ‘code, test’ and you don’t flash the board until the simulated DSP is doing the sounds you want it to.

As for the FV-1 itself, it’s an interesting little chip in that it’s quite a full-featured DSP– rather, it’s small instruction set is focused entirely on audio effects. If you’re into that world– be it guitar pedals or otherwise– you may find this project very useful. There are releases for Linux, MacOS and Windows, and it’s all open-source on GitHub, under the Mozilla Public License. It’s not the most common choice, but we’re hardly going to complain about licenses to anyone willing to share their hard work.

If you like the idea of testing your work before you go to the bench, we’ve seen software that offer the same functionality for Arduino projects, as well as other AVR and PIC micros. It’s been a while since we featured a programmable guitar pedal, so we hope this tool enables others to rock out.


hackaday.com/2026/09/12/spin-f…


2026 Retrocomputing Challenge: 16-Bit Homebrew Relay Computer


The media in this post is not displayed to visitors. To view it, please log in.

One module of the relay computer

You want Retro? We did, when we started our retrocomputing challenge. [Peter] decided that transistors weren’t retro enough, and sent us this lovely homebrew relay computer, complete with 16- bit CPU, which is rather more bits than one normally associates with clicky clacky contacts.

The architecture is very simple– it just uses an accumulator register, ACCU, and goes from there. All mathematics and save/load operations go through ACCU. There whole instruction set is only 19 commands, and he’s used that set to program such lovely things as calculating 3 digits of Pi– which only took 8 minutes of glorious clicking. There’s a demo video of that embedded below. [Peter] has even implemented a display by hooking his computer to a 32×32 LED matrix, but don’t expect it to relay updates really quickly.

If this computer looks familiar, it’s because its earlier incarnation was one of the more “extra” entries in last year’s one-hertz challenge, where it was used to blink an indicator lamp. Yes, even relay computers apparently get started with the “blinky” sketch.

If you want in on the fun, our retrocomputer challenge runs until October 27th, so there’s lots of time left to turn back the clock.

youtube.com/embed/gKFxPZTVo8k?…


hackaday.com/2026/09/12/2026-r…


Making an Air-Powered Circular Saw with LEGO


The media in this post is not displayed to visitors. To view it, please log in.


The all-LEGO version barely cuts paper. (Credit: Jamie's Brick Jams, YouTube)The all-LEGO version barely cuts paper. (Credit: Jamie’s Brick Jams, YouTube)
Although building a table saw out of LEGO is probably not the first thing that comes to mind when you look at those colorful bits of plastic, [Jamie] has been on a bit of a search for more applications of his LEGO-based air-powered motors. Naturally this led to the idea of doing something useful with it, like making a table saw you can actually use for real wood.

Starting off with a basic prototype using only regular LEGO pieces to get the mechanism figured out, [Jamie] then builds this up into said air-powered table saw featuring an actual metal blade. Suffice it to say that this isn’t something that you want your children to do with their LEGO while unsupervised.

The star of the show is of course the air-powered turbine that spins the blade. This is something that [Jamie] has been working on for a while, going through a number of prototypes to figure out a 3D printed geometry for the turbine blade that helps to convert as much of the high-pressure air into rotation.

Along the way it was also discovered that 3D printing saw blades is pretty hard, probably due to the lack of a sharp edge. This is definitely an area where it’s hard to beat a real table saw blade, with the added caveat that anything that’s good at cutting up boards of wood and sausages will just as happy slice through careless primate fingers.

In terms of safety features, the air supply is cut automatically with a sort of dead-man switch that requires you to keep one hand on it while using the final table saw design. There also an auto-feeding system added that tries to guide the board into the saw, but this turned out to be finicky. Suffice it to say that an air compressor and a handful of non-LEGO-approved components created a pretty convincing table saw.

youtube.com/embed/1WlcumhXFug?…


hackaday.com/2026/09/12/making…


Big Infinity Mirror Clock Invites You To Gaze Deeply


The media in this post is not displayed to visitors. To view it, please log in.

[Andy Huot] has a fantastic-looking infinity mirror digital clock that really raises the bar. It uses high quality components, smart use of RGB LED animations, and a clever “stacked diffuser” vertical design to the 7-segment display elements that really enhances the infinity mirror effect. It needs to be seen in action, so check it out.

The end result is expressly portal-like, with the smooth animations of the LEDs really playing into the effect. The size helps, too. It’s 24 inches in diameter, giving it considerable presence.
The stacked diffuser design for each display element really enhances the effect.
A basic infinity mirror design consists of lit elements sandwiched between a reflective back surface and a partially-reflective, partially-transmissive top cover. That same basic principle is used here, but with great care given to ensure nothing so much as a fingerprint spoils the illusion. For example, the top cover is a disk of acrylic with a 90% reflective film affixed to the inside surface. That’s easy enough to DIY with some car tint, but [Andy] found that for the very best results it was worth having high-quality film professionally applied.

We like the use of 3D-printed custom jigs for soldering the segments of RGB LED strips, and holding the pre-measured wires in place with some putty is a great way to keep them in place while working. In case you’re wondering, the mirrored acrylic making up the back wall has holes in it for mounting each segment’s LED strip in a holder, and running the wires to the rear.

The video (embedded below) documents every step of the assembly, and it’s a serious build. While the design files for the 3D-printed parts are not free, there’s certainly enough detail for an enterprising hacker to replicate the design in their own way.

youtube.com/embed/kG54YsSoqmE?…


hackaday.com/2026/09/12/big-in…


This Mac Is Open Source Hardware


The media in this post is not displayed to visitors. To view it, please log in.

Apple hardware has always been proprietary, sometimes to an extreme. But that’s not to say that it’s impossible to make something that does the same job, which is what [DosFox1] appears to have done with the OSHintosh. It’s an open source PCB that implements a Mac 512k. Is it a 68k Hackintosh? You decide.

While it boots into a classic Mac OS image, it’s not quite a Mac. For a start, there are no disks, and no SCSI. Instead it boots from a disk held in ROM, which we guess will be a lot faster than the floppy from back in the day. They’ve even managed to do it on a 2-layer board, which means that despite its size, it shouldn’t be too expensive to have made.

We’re not sure quite what the legality of dumping a Mac ROM image to the ROM on this board would be, but assume for a moment that you own a copy in a defunct original Mac. This board can’t yet replace the original due to the disk issue, but given that original Macs are now long in the tooth, a modern replacement for those who must have hardware rather than an emulator sounds like a good idea. Perhaps for some people it will join the FPGA Amiga.


hackaday.com/2026/09/12/this-m…


Supercon is Nigh!


The media in this post is not displayed to visitors. To view it, please log in.

The 2026 Hackaday Superconference is just around the corner in November. It’s hard to believe that we’ve been having an annual gathering for so long, but this is number ten. Every year, it’s a great time to refresh your pool of new ideas, hang out with fellow hackers, put your soldering skills to the test, eat some phenomenal tacos, and catch some of the two tracks of talks.

What’s got me stoked right now is that we just finished up talk selection, and this year is going to be a banger! We had more talks submitted than ever, and all of high quality. Frankly, if this keeps up for next year, we might have to figure out a third stage.

This year also marks the move to a bigger venue, with more space for hacking in the courtyard, more space for talks in two halls, and more room for you to all settle down and share your work, or create something new. Even the badge is going to be bigger this year – but that’s all we can say at this time.

If you don’t have your tickets yet, go ahead and get them. Flights are still relatively cheap, and hotels not booked up yet. See you all soon!

This article is part of the Hackaday.com newsletter, delivered every seven days for each of the last 200+ weeks. It also includes our favorite articles from the last seven days that you can see on the web version of the newsletter. Want this type of article to hit your inbox every Friday morning? You should sign up!


hackaday.com/2026/09/12/superc…


The Heavy Disco-Ball Satellite Designed to Do… Nothing


The media in this post is not displayed to visitors. To view it, please log in.

Launched in 1976, LAGEOS-1 (LAser GEOdynamic Satellite) is unusual in that it contains no instrumentation, no electronics, no power supply, and no means of propulsion. It’s spherical, weighs just under 407 kg, and looks a bit like a disco ball. It may not be accurate to say it does nothing, but unlike most satellites its role is entirely passive. It’s also one of the oldest scientific satellites still in service.

The lens-like objects covering the surface of LAGEOS-1 are corner cube retroreflectors, which have the nifty effect of always reflecting incident light right back towards its source.

Ground stations fire short laser pulses at it and measure the time it takes for the light to return, a form of time-of-flight ranging. Since LAGEOS-1’s orbit is highly stable, it provides a reliable reference point for measuring even tiny changes in the Earth itself. The size, shape, rotation, and more of our planet can be measured as a result. LAGEOS data (LAGEOS-2 was launched in 1922) has also been used in tests of general relativity.

Its orbit and construction were deliberately chosen so that atmospheric drag and other disturbances would be minimal. The simple, maintenance-free design combined with an extraordinarily stable orbit means LAGEOS is expected to circle our world for millions of years to come.

LAGEOS-1 also contains a message to the future in the form of two identical plaques prepared by Dr. Carl Sagan just in case there’s anyone around to find it some day. Check out the short 1975 video from NASA, embedded just below.

youtube.com/embed/zWphd6HAaHA?…


hackaday.com/2026/09/12/the-he…


Looking at a TRS-80 12 MB External Hard Drive from 1983


The media in this post is not displayed to visitors. To view it, please log in.

Although hard disks weren’t a common feature yet in many home computers in the 1980s, they were becoming increasingly more affordable. For relative meanings of the word ‘affordable’, naturally. This is illustrated by the 12 MB HDD for the Radio Shack TRS-80 that [Clint] over at LGR recently took a peek at.

Costing a cool $3,495 in 1983 – or $11,932 in 2026 USD – this 12 MB storage wonder used a Tandon TM-603 full-height 5.25″ HDD inside. Lacking a working TRS-80 to try it out with, the video is limited to just a basic powering up and opening up of the unit, but [Clint] will be donating it to a computer museum who can hopefully put it to use again.

The connection to the TRS-80 computer is handled by a ribbon cable, while the HDD has its own built-in power supply, rated at 60 Watt.

On the main board for the external HDD controller there is a Signetics 8X300 microprocessor that forms the brains of what makes it into an external drive for the TRS-80. Despite its age, it still looks brand new inside, so despite the Rifa capacitors in the PSU, [Clint] decided to power it on. This resulted in an auditory experience that’s probably best compared to a very rusty jet engine spinning up after languishing for a decade prior to spooling up for take-off.

Hopefully we’ll find out whether this particular unit and its HDD are still working in 2026.

youtube.com/embed/-f5YpI7uGBs?…


hackaday.com/2026/09/12/lookin…


All The Best Computers Boot To… Python?


The media in this post is not displayed to visitors. To view it, please log in.

Among all the machines of the 8-bit home computer era which booted straight to a BASIC prompt, there were a very few that went their own way with another language. The Jupiter Ace springs immediately to mind, a diminutive Z80-based machine similar to Sinclair’s ZX81, which booted to FORTH.

The Ace wasn’t a commercial success, but what would have happened had it booted to a more accessible language? It’s a question [jordanhubbard] appears to be trying to answer, with an OS that boots to a Python interpreter.. The OS is Python, and everything on top of it uses the interpreter. Better still, it has a GUI mode.

The OS boots on an x86-64 platform or in QEMU, and appears to have been created using an LLM. There are two build options for the GUI version or the interpreter version. It provides a set of UNIX-like commands for interacting with the OS and disk, something which brings back memories of disk-based systems back in the BASIC days. We’re surprised to see no screenshots of the GUI in action though, an omission he’d do well to correct, we think.

It’s fair to say that in 2026 this is more a bit of fun than a serious OS contender, but maybe someone will run with it. It has competition too, not so long ago we featured a similar OS that runs a BASIC interpreter.


hackaday.com/2026/09/11/all-th…


How To Fold Curved Lines in Metal Without Fancy Tools


The media in this post is not displayed to visitors. To view it, please log in.

Folding a sheet of metal in a straight line is one thing, but how does one fold multiple curved lines into a sheet of aluminum without fancy machines? [John] demonstrates how to do exactly that with little more than hand tools and a fair bit of patience. The secret is drilling a lot of small holes along each fold line.
Complex shapes are possible with planning, hand tools, and patience.
First, a bit of background. [John] wanted to fabricate a curved piece of aluminum as cover that would match the sleek aerodynamic lines of a Belly Tank Lakester. The trick is that there isn’t a single straight line to be found, and the fold lines are all curves. How can one do such folding with only hand tools?

[John] found that fabrication was possible by drilling small holes all along each fold line, then carefully bending as needed. The line of holes weakens the metal, acting like a score line, and allow the required curves to be made cleanly. There’s some finishing work and straightening involved, but the hard part of making the actual folds is taken care of.

One method that didn’t work was cutting a shallow groove in the metal to create something like a pre-scored fold line. [John] tried this and found that while the metal does indeed fold along the weakened line, the aluminum tends to crack in the process. When making a line of holes instead, the metal between each hole bends nicely.

This technique does mean the finished part ends up with small perforations along each fold, but the part is mounted on the bottom of the car and [John] says that he’d have to look quite closely to notice. A little polishing goes a long way, too.

We have covered many ways to bend sheet metal and while machinery exists to do it exceedingly well, great results can be had with little more than simple tools and some patience.

Watch [John] go through the process in the video embedded below, or skip to 7:55 if you just want to see the end result.

youtube.com/embed/p3J8AMWm5is?…


hackaday.com/2026/09/11/how-to…


Trying to Fix a Suspiciously Cheap Enterprise-Grade Network Switch


The media in this post is not displayed to visitors. To view it, please log in.

When you see a listing for an Ethernet switch whose specification list is in effect ‘yes’, with a four-digit price tag when new, and with the seller asking for less than 10% of said $3,000 asking price in an ‘untested’ condition, the only rational thing to do is of course to mash that ‘buy’ button. This is what [This Does Not Compute] did, and created a video about to show what a great investment decision this was.

Naturally this Juniper EX4100-F-12P switch came without power supply brick for its 48VDC input. Figuring out its pin-out and probing said input showed that the voltage rails had been shorted, giving a first clue as to why this switch had been on sale for so very cheap. Bravely hoping that it would be a straightforward fix, the unit was disassembled.

With a 280 Watt power brick, it’s little wonder that the top of the unit is a one massive aluminium heatsink, including a large heatpipe. Also visible on the lid near the power input was a very-bad-news black skid mark.

From that first discovery the news just got worse and worse, with clear signs of water ingression, rust and corrosion, along with the aftermath of a powered circuit meeting such bad corrosion. After some clean-up it’s clear that some components had violently exploded, ripping apart layers of the PCB and likely parts of traces in those inner sections too.

With no schematics available and no other good repair options via Juniper or anywhere else, it seems that unfortunately this gamble turned out to be merely a pile of e-waste and a few bucks worth of scrap metal. Caveat emptor, once more.

youtube.com/embed/l8guSJTh5C0?…


hackaday.com/2026/09/11/trying…


Making a Neo Nuvistor Project in 2026


The media in this post is not displayed to visitors. To view it, please log in.

For a little while vacuum tubes and semiconductors were fighting a heated battle for dominance, with bipolar junction transistors and 1959’s RCA Nuvistor both allowing you to build a compact circuit with relatively low power usage and no high voltages. Although we now know that semiconductor technology won out overwhelmingly, that doesn’t mean that you cannot build a brand new Nuvistor board in 2026, as [Eric Schlaepfer] AKA [TubeTimeUS] recently did.

Nuvistors saw their most use in small-signal radio frequency applications, like VHF and UHF, with excellent low-noise characteristics that saw them used until the early 1970s in television sets, radios and oscilloscopes, as well as in space probes like the 1960s US Ranger Moon missions, so by that metric they had a good run.

Nothing so exciting is built in this video, sadly, but alongside a breakdown on how nuvistors work, we do see a discrete 555-style timer built using a gaggle of tetrode nuvistors, giving a pretty good idea of what using them in a project is like. Being a vacuum tube at its core, nuvistors still have the heater element, which is what gives vacuum tubes their reputation for being slow to start working and large current draw.

Despite their drawbacks, nuvistors still have a range of benefits compared to modern-day transistors, including being practically immune to electrostatic discharge (ESD) and electromagnetic interference (EMI) all the way up an EMP that will destroy most semiconductor electronics.

That said, the somewhat limited 8-nuvistor implementation of the 555 had to get a few extra pins for the heater supply, which burns up about 7.5 Watt just to allow the circuit to function. Terming it the ‘hollow-state 555 timer’, it works effectively just like any semiconductor 555, just with that extra power cost and of course no significant prospect of making it smaller, barring a semiconductor evolution as with the pixels-sized CRTs in the SED and FED type displays.

We covered the nuvistor before, including a great reference on this device, and its history that was much longer than people often assume today, as well as the vacuum tubes we use every day in for example our microwaves.

youtube.com/embed/XcNLQskUcpk?…


hackaday.com/2026/09/11/making…


Hand-Coded ASM Powers Homebrew SNES Game


The media in this post is not displayed to visitors. To view it, please log in.

Nintendo has made many game consoles in its long history — one that famously overlaps that of the Ottoman Empire — but only one of them was ever Super. It’s that console, the Super Nintendo Entertainment System, that [Inkbox] has decided to delve deeply into as he crafts a game in assembly using all the hardware tricks he can.

Hardware tricks he’ll need, given he’s limited to the two 64 kB RAM banks and 3.58 MHz Ricoh 6502-based CPU. Even the 4 MB limit he sets for a historically-accurate homemade cartridge seems positively claustrophobic by modern standards. The game he’s after making is a top-down adventure game a la Zelda, and [Inkbox] gets right into the weeds explaining how the SNES works as he shows his work in this nearly hour long video. If you’re looking for a deep dive into the architecture, along with how it is meant to be used, you could certainly find worse sources. Everything from the different graphics modes to what registers handle sound are covered in this and the previous video in the series.

We can’t help but call out his dedication to open source — the SNES Sound Engine he has put up on GitHub looks like it could be a real asset to anyone else doing this kind of homebrew. The game itself is on itch.io and is pay-what-you-want.

[Inkbox] doesn’t just limit himself to the SNES’s 6502-esqe assembly — he’s done impressive work in x86 ASM, too.

youtube.com/embed/j_2bo7ng65E?…


hackaday.com/2026/09/11/hand-c…