Connecting Your Car to Home Assistant


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

With how much time many of us spend in our cars, it makes perfect sense to consider them a second home. Yet even if that’s not the case, there are still good reasons to connect a car to one’s smart home solution like Home Assistant, such as to keep track of certain parameters for easy monitoring and reminders. This is what [The Stock Pot] channel recently demonstrated using a widget that connects to the OBD-II port inside the car, as not every car comes with its own app yet.

The used dongle is the ESP32-S3-based WiCAN from Australian company MeatPi. This device runs the open source WiCAN firmware. After plugging the dongle into the OBD-II port of the car, the device powers on and can be configured via Wi-Fi like any other smart device these days. After that it’s just another Wi-Fi device on the network.

Since each car’s ECU will represent data differently, you need a car-specific configuration, which can take some tweaking. The idea of integrating with Home Assistant is directly supported by MeatPi, with a handy documentation page. Of course [The Stock Pot] shared their configuration if you want to feel inspired. Among the parameters monitored you get things like fuel level, days to service and coolant temperature.

Although you could make the argument that it mostly saves you from having to waddle over to the car to check the data there, being able to remotely access the OBD-II port of a car does seem rather practical even outside of home automation concepts, such as gathering performance statistics and early failure warnings, especially for aspects like tire pressure and unhappy engine or BEV battery conditions that can quickly go from an inconvenience to very expensive.

youtube.com/embed/3JW3J4_Ukrs?…


hackaday.com/2026/06/04/connec…


Microsoft Claims 20 second Qubits


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

While it might seem that your computer malfunctions every few minutes, the reality is that modern computers are usually quite robust. Not so much for quantum computers, where qubit life is often measured in milliseconds. Now, the company claims to have qubits that last for about 20 seconds.

For example, Microsoft’s Majorana 1 quantum chip, which, incidentally, was mired in controversy, provided 8 qubits that were stable very briefly. This second-generation chip provides 12 qubits that average 20-second lifespans.

Microsoft claims to use topological superconductors based on Majorana modes. However, despite claims, some researchers think the technology is using Andreev modes and does not contain any Majorana modes, although this is apparently debatable. Despite retracting an earlier paper, the company appears to stand by its claim that it is producing Majorana fermions.

The biggest problem, of course, is that to be practical, you will need millions of qubits instead of 8 or 12. That’s in addition to better fault tolerance, error correction, and other operational details. So raw qubit count can be misleading, but Fujitsu has a 256-qubit system and is on track to install one with 1,000 qubits this year, although redundancy probably cuts the number of logical qubits quite a bit. Microsoft claims it will have a commercially viable machine by 2029.

Until you can get your hands on a real quantum computer, there’s always simulation.


hackaday.com/2026/06/04/micros…


If You Want to Hack Me, Come in Through the Speaker


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

Some security hacks require someone to have physical access to your computer. In many cases, that’s easy to mitigate. Other attack vectors can put you at risk from anywhere via the network. That’s what firewalls are for. But there is an in-between risk where an attacker just has to be “around” your computer. [Rasmus Moorats] found out that a Creative Sound Blaster sound bar could open up just such an attack.

[Rasmus] was poking around the firmware just to write custom software to control it. The possibility of an attack was just an accidental find.

The soundbar connects to USB, but it also has Bluetooth, which, for some reason, is always on. There’s an app that can communicate with the speaker using BLE, and Creative has a special protocol to control it. The same protocol works on USB or Bluetooth, but with an important difference.

On USB, you have to authenticate to send commands. However, you can easily decompile the provided apps and learn the authentication key. But on BLE, it doesn’t require authentication at all for some reason. You can simply send commands via BLE, and the speaker obeys. No pairing. No physical access. Just be close enough for a Bluetooth connection.

The worst of the commands lets you reflash the device firmware. So, if you were a bad actor, you could flash firmware to act as a USB keyboard and then inject lots of bad commands into the host system.

BLE seems to be a common vector in consumer electronics. Maybe now you have to air-gap your speakers, too.


hackaday.com/2026/06/04/if-you…


Ways to Embed Magnets in 3D Prints and Not Ruin Printers


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

Adding magnets to a 3D print can be very useful in a design, but there are some things that can trip you up if you’re not away of them. In a recent video by [Lost in Tech] some of the essentials are covered, including why you shouldn’t get magnets near most extruder nozzles or the printing bed.

The easiest method is of course to add magnets in after printing, using friction fit with or without ribs, or with a dab of glue. Here making sure that the magnet stays in place is the trick, as you do not want the magnet to get lost or end up in the tummy of a curious pet or toddler.
The magnetic pattern on an FDM printer's magnetic bed. (Credit: Lost in Tech, YouTube)The magnetic pattern on an FDM printer’s magnetic bed.
Things get spicy when you’re talking about adding magnets during the printing process, as some extruders are made of a ferromagnetic material and thus a magnet will happily stick to said nozzle if it’s not pure brass or similar. As seen in the video even some purported ‘brass’ nozzles aren’t pure enough to not be significantly ferromagnetic.

Another issue is that of heat, which is something that magnets generally do not like much. Using magnets like you’d use heat inserts for bolts is a recipe for disaster, as the heat from a soldering iron will demagnetize the magnet, which for the typical magnet is less than 200°C. At least this should mean that the magnet stuck to your extruder nozzle will eventually fall off by itself after it demagnetizes.

With the bed of the typical FDM printer these days you’re talking about magnetically attached plates, with the underlying heated bed using a Halbach array configuration as is typical of flat magnets, yet with the gotcha that these aren’t typically real Halbach arrays, but knock-offs with simply alternating north-south pole magnets. As it turns out, these types of magnetic arrays can be disturbed by another magnet, such as a powerful neodymium magnet near said printing bed, flipping polarity in a way that cannot be easily undone.

You can still install magnets during printing, but it’s recommended to use something like side-insertion, where the extruder nozzle cannot pull out a magnet. Regardless of your approach, it’s good to know of the risks with ferromagnetic nozzles, the magnetic bed and treating magnets like they’re just heat inserts. While you can get higher-temperature magnets, many of the same issues still remain here.

youtube.com/embed/xTfytJBLEn4?…


hackaday.com/2026/06/04/ways-t…


An RGB Keyboard For Your Hackaday Communicator Badge


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

The most recent Hackaday event badge has been the Communicator, a handheld wireless terminal with a rather nice QWERTY keyboard. It’s good enough as delivered, but [makeTVee] has gone one better and made his Communicator keyboard into a fully RGB light-up experience.

The feat is achieved with the help of a new front panel holding some very thin side-emitting addressable LEDs. The keys are custom-printed, and there’s a TPU mat to hold them all together. The LEDs are driven from one of the device’s GPIOs.

We saw this badge in real life at the recent Hackaday Europe conference in Lecco, Italy. It really is as good as it looks in the video below, the care and attention which has gone into the build is extremely impressive.The original badge used a silicone cast set of keys, and we’d say if you are making a device with a keyboard then these might make a very good option.

If you’re not familiar with the Communicator, it’s worth having a look at the launch announcement.

youtube.com/embed/h4FR6Jb-wLk?…


hackaday.com/2026/06/04/an-rgb…


The World’s First GPIB Speech Synthesizer, and it’s for a GRiD Compass


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

The GRiD Compass is a legendary portable computer — a taste of an early-80s future with bubble memory, tough enough for NASA to take them into space, and one of the machines which defined the beginnings of the form factor we know today as a laptop. They’re not easy to come by, but [Scott M. Baker] got his hands on one. As well as nursing it back to health, he’s made an unusual peripheral, a GPIB speech synthesizer.

The GRiD arrived in one piece despite sketchy packaging, and after a little confusion over its line voltage it ran as well as the day it was made. It was designed to use GPIB as its interface for large peripherals such as printers or disk drives, so it was that interface picked for the speech synthesizer. It emulates a GPIB printer, and bytes are sent to the synthesizer chip by printing to LPT1, making driving it an easy process.

The synth itself is a clever design that allows the use of all the various speech chips of the day. It achieves this using a GPIB carrier board holding the interfacing, and a set of plug-in modules, one for each different chip. It’s certainly an unusual peripheral.

You can see more details in the video below the break, meanwhile if you can’t get the real thing there’s a cyberdeck tribute you can make.

youtube.com/embed/RETMtshGCro?…

Restoring a GRiD Compass and Building the World’s First GPIB Speech Synthesizer


smbaker.com/restoring-a-grid-c…


hackaday.com/2026/06/04/the-wo…


Ask Hackaday: How Do You Feel About Electronic Shelf Labels?


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

Unless you’ve spent the last few years locked indoors and had all of your goods delivered to you — a not entirely implausible situation, given our audience — you’ve likely noticed the growing popularity of electronic shelf labels (ESLs). They’ve been a common sight in grocery stores like Aldi for some time, and major retailers such as Walmart and Home Depot have been expanding their use of the technology.

On the surface, it makes perfect sense. With electronic ink displays, you can create a price tag that looks enough like a paper label that the customer’s experience isn’t really any different, but the retailer doesn’t have to send somebody out to update the prices. Sure, the upfront cost is higher than a roll of sticky paper, but theoretically, the ESLs should pay for themselves thanks to the reduced labor costs.

It’s the sort of high-tech solution to a common problem that one of us would have come up with. If this were a decade ago, we wouldn’t have been surprised to see something like this get entered into the Hackaday Prize. It might have even won.

Now that the technology is becoming commonplace, there’s even more reason for hardware hackers to be interested in it. Since most of these tags will show whatever image you beam over to them via radio or infrared, we’ve seen a number of projects that repurpose second-hand tags as convenient data displays.

Rather than showing the price of milk, they can show the current price of Bitcoin. Or maybe you’d like to stick them up all over the house to display the weather forecast and your family calendar. They’ve been repurposed as badges at hacker cons, and at least one industrious hacker has used a discarded ESL to show an alert whenever a new episode of the Hackaday Podcast drops.

But not everyone is happy about ESLs. Recently, the United Food and Commercial Workers (UFCW) International Union released the results of a poll showing that most American consumers are opposed to ESLs, citing concerns that the technology would ultimately lead to higher prices.

With Great Power Comes…


The rejection of electronic shelf labels isn’t just about automation taking over a job that humans used to do, although that’s likely part of it. What’s got most consumers worried is what happens in the future once ESLs are the norm. There’s growing concern that the ability to rapidly and remotely update an item’s price will enable retailers to implement aggressive dynamic pricing schemes that were previously impractical. When you don’t have to send out a teenager with a price gun for each change, there’s nothing stopping stores from updating item prices every hour.

Things get really worrying when you consider the possibilities should the ESL system get tied into other data sources, and artificial intelligence be given free rein to virtually put its thumb on the scale. It’s not hard to imagine the price of umbrellas going up when it rains, or a premium being put on a particular team’s merchandise after they win a big game.

Such practices are referred to as “surveillance pricing”, and according to the UFCW poll, as many as 75% of respondents believe that one day stores might even attempt to tailor the price of an item to the individual. Like something out of Minority Report, the price tag could jump up when it detects a more affluent shopper passing by — or at least, one with a higher credit limit.

To those who may say this all sounds a bit far-fetched, the reality is that surveillance pricing is already here for many goods and services. Anyone who’s ever booked a hotel room can tell you that the price goes up and down based on demand, and rideshare services like Uber and Lyft have never hidden the fact that they adjust fare prices in real-time. Online retailers such as Amazon also routinely offer personalized “deals” based on your shopping habits or search activity, although whether or not you actually save any money in these scenarios is up for debate.

Electronic shelf labels don’t make surveillance pricing possible, since it’s already happening every day online. Rather, it enables retailers to use those same techniques in their brick-and-mortar stores in ways that weren’t possible before.

A Double-Edged Label


As hardware hackers, we love electronic shelf labels, if for no other reason than all those e-ink displays eventually trickling down to us. But the ability to change prices on a whim and without the need for human interaction is troubling, especially when considering the pricing schemes that are already so prevalent online. For better or for worse, we’ve become accustomed to dynamic pricing when we buy things on the Internet, but that doesn’t mean we have to accept as an eventuality that the same practices will eventually come to the grocery aisle.

So, Dear Reader, where do you fall on the subject? Are you excited about the technological implications of turning each price tag into a tiny remotely-controlled computing device, or does the potential for misuse outweigh the benefits? If so, do you think there’s a path forward that allows stores to take advantage of electronic shelf labels while protecting the consumer? Let us know in the comments.


hackaday.com/2026/06/04/ask-ha…


Make Your Ceiling Disappear With ADS-B and Short-Throw Projector


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

If you’re into airplanes, you’ve probably had the experience of hearing an unusual aircraft and rushing outside to try and catch a glimpse of it, all while fumbling with a smartphone to open a flight-tracking app. If your home was equipped with [cpaczek]’s Skylight project, which combines ADS-B data with a short throw projector, that little dance would have been totally unnecessary.

ADS-B or the “Automatic Dependent Surveillance-Broadcast”, is the standard by which aircraft broadcast their position and other flight information from onboard transponders. In most of the world, every commercial aircraft has an ADS-B transmitter, and they’re slowly creeping into general aviation as well. The signals aren’t hard to pick up with software-defined radio — like perhaps this RP2040 based unit we featured — or the RTL-SDR v4 this project calls for.

Using data from ADS-B, the Skylight software runs on Raspberry Pi 5 and renders icons of the aircraft exactly where they would appear above you, if that pesky ceiling wasn’t in the way. You get the flight’s code, destination and flightplan with a nice icon representing what type of airplane it is. Thanks to specifying a Pi 5, the projection is a smooth 60 FPS at 1080p. Airplanes aren’t the only things plotted, though — this is also a planetarium, giving you a full view of the stars and any satellites passing overhead. That’s obviously via an API, not SDR, and if you like you can configure it to track aircraft that way to — allowing you to set your Skylight for anywhere in the world, if you aren’t near an interesting airport.

ADS-B isn’t just for pilots and plane nerds — if you’re flying drones, you probably should keep an eye on it, too. In that case, though, you probably won’t be looking at your ceiling.

Thanks to [Thinkerer] for the tip!


hackaday.com/2026/06/04/make-y…


Fixing a Nintendo Game Boy Clone that Runs Too Fast


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

There’s no shortage of cloned Nintendo hardware out there, and most of it is pretty poor. A few are actually pretty interesting though, such as the GB Boy by Gangfeng, which takes real cartridges and thus in many ways should provide the original Game Boy Pocket experience with modern hardware. But as you might imagine, even the best of the clones comes with various technical issues at no additional charge — with this particular unit having a habit of running the game too fast. It’s an issue that [Sharopolis] addresses in a recent video with a partial fix.

As can be seen in the demonstration, it runs games just too fast to make it very usable or fun, hence why it sat in a drawer for a few years after purchasing off AliExpress. This raises the question of what’s wrong with these units, as others report similar issues with this and other ‘GB Boy’ variants.

Fortunately the unit is easy to open, revealing the PCB with a couple of chips on it, one marked KF2001 being the brains of the operation alongside two memory chips. The oscillator marked X1 for the main IC is rated for 5 MHz, whereas a quick look inside the Game Boy Pocket shows that its oscillator runs at 4.1943 MHz, which is a bit of a difference.

Because of how buying components and pricing works, [Sharopolis] ended up with a reel of 100 of replacement oscillators with the right parameters for a drop-in replacement. After swapping the oscillator, the GB Boy now does indeed run games at the right speed, but a new issue has now cropped up in the form of flicker on the display.

In the comments it’s suggested that replacing the cheap capacitors on the GB Boy’s board can help here, but it highlights just how these clone systems keep managing to snatch defeat from the jaws of victory by pairing what looks to be a pretty good IC with either the wrong or sub-par components.

youtube.com/embed/6zuKkyV9Wek?…


hackaday.com/2026/06/04/fixing…


Web-Based Control for a CB Radio


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

There was a time when a CB radio was a simple affair: a small box with a channel selector, volume, and squelch controls. No longer it seems, because they can now be multi-mode devices that equal the capabilities of amateur radio rigs if not surpass them. [ThatCrazyDcGuy] has one, an Albrecht AE-5900, which has the interesting feature that it can be entirely controlled from its microphone. This led to a web-based interface for the rig, through clever emulation of the microphone.

The communication between rig and microphone is a serial line, for which an FT232 USB-to-serial interface is pressed into service. A USB sound card handles the audio along with some little transformers for isolation, and a USB hub joins everything together. The whole is mounted on perfboard in a small enclosure, and plugged into a Raspberry Pi which acts as a server. This is running a Python script that expose a web front end to control the rig. We like the way this has been done, with minimal intrusion into the radio itself.

Far less so than this CB to 6 meter conversion we featured a while back.


hackaday.com/2026/06/03/web-ba…


Distilling Stale Gasoline to Make it Usable Again


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


Pouring the resulting distillate for testing. (Credit: Lowered Expectations, YouTube)Pouring the resulting distillate for testing. (Credit: Lowered Expectations, YouTube)
The propensity of gasoline to ‘go stale’ through the process of oxidation is the reason why gasoline that has been stored for a long period of time is considered to be unusable, as it will no longer combust property. Since this process creates the sludge that you find in the bottom of an old gasoline canister, it follows that you may be able to distill out the still good gasoline. With this reasoning, [Joel] over at the [Lowered Expectations] channel set to work to try out this theory.

As part of his job of maintaining things like pressure washers, he got access to many grades of stale gasoline to experiment with. After a short demonstration of how poorly these grades of stale gasoline burn it’s on to the main distillation event. To the stale gasoline aluminium oxide is added as both a catalyst and to create nucleation sites that will prevent ‘bumping’ where you suddenly get a surge out of the heated flask.

Of course, that this is incredibly dangerous should be obvious, and the lack of PPE on the side of [Joel] is somewhat worrying. On the positive side, he does take it easy with ramping up the temperature on the gasoline to try and find the sweet spot where production seems sufficient. This turned out to start at 70°C in the flask when the condenser began to receive its first load of presumably clean-ish gasoline.

The goal here is of course to approximate the function of the fractionating column (‘distillation tower’) at refineries at smaller scale, which [Joel] appears to be doing correctly with what looks to be a Vigreaux column. Since the base product is gasoline with oxidized contaminants this process is of course quite different, so he goes through the different temperature ranges to see what kind of distillate he gets, up to nearly 200°C before calling it.

Ultimately 880 mL of the initial 1 L was collected, with the various distillates combined for testing. Unfortunately none of the testing is actually covered in the video, but it is mentioned at the end that a second batch of the distillate was used to power his car, so presumably it works.

Suffice it to say that ‘works’ doesn’t mean that it is safe, of course. Heating such stale gasoline produces many highly flammable and combustible substances, along with many that are just downright bad for your health to be exposed to. The plethora of very short-term to all the way to very long-term health effects this may cause should be obvious.

youtube.com/embed/WCzdoeVNp40?…


hackaday.com/2026/06/03/distil…


DIY Ceramic Circuit Boards Surely Count As Solarpunk


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

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

Solarpunk is all about combining that DIY hacker ethos with sustainability and renewable resources. Our usual PCB manufacturing methods, with their bevy of chemical baths and petrochemical resins aren’t exactly the most sustainable. Digging up some clay and firing it into a circuit board? Very sustainable! And apparently doable, as demonstrated by [Emily Velasco] on Mastadon.

Of course anybody could take a ceramic wafer and call it a circuit board, but that’s only part of what [Emily] did. The ceramic wafer is apparently native clay, which is very cool. Even cooler is that she’s baked the traces into the pottery. While you could conceivably use some sort of conductive glaze for this, what [Emily] did was stamp her desired circuit into the unfired ceramic using a 3D-printed stamp, and then fill the depression with copper powder after the first firing. After that, a second firing is done in a reducing atmosphere to melt/sinter the copper together–it’s not totally clear which is happening here–without burning up.

The results speak for themselves; on the finished demo board, a pair of LEDs blink happily away, driven by the astable oscillator circuit baked right into the clay– and of course the components soldered to it. You’ll have to click through to see it, though.

Given those not-so-sustainable petrochemicals behind our favourite PCBs may be in short supply, this is a timely hack. If it seems familiar, that’s because we featured virtually the same technique last year, but using more-expensive silver powder instead of copper, and a campfire instead of a kiln.

Thanks to [smellsofbikes] for the tip!


hackaday.com/2026/06/03/diy-ce…


Texas Instruments Changes the NE5532 and Others into Incompatible Versions


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


Kramer Electronics PT-102AN - board - Texas Instruments SA5532ATexas Instruments SA5532A variant of the 5532 op-amp. (Credit: Raimond Spekking, Wikimedia)
First introduced in 1979 by Signetics, the NE5532 was a pretty spiffy dual op-amp for the time with low noise and low distortion. Over the years it has become a standard part that showed up in countless audio products, and has become a so-called jellybean generic component with Texas Instruments (TI) being one of countless manufacturers.

It being such a standard, multi-sourced part makes it thus even more puzzling that TI has now decided to completely overhaul this IC in a way that makes it incompatible with even the original Signetics NE5532. These changes are covered in detail by [Dave] of EEVblog as his mind is pretty much blown at such an incomprehensible change.

The changes entail an entirely different manufacturing process and a big change in specifications, while making no change to the part number. In revision K of the TI datasheet these changes are first seen, with some specifications changed for the better, like a higher unity gain bandwidth by 2 MHz, but a much slower slew rate.

Although the 5532 op-amps are multi-sourced, there are good reasons to just stick with manufacturers like TI, as that means receiving a product change notification (PCN) when anything changes. In the PCN related to this op-amp a change to process node is noted, along with other changes, but no reasoning.

Among the other big changes are a reduction in the supply voltage from 22V to 18V, and a halving of the ESD protection from 2kV to 1kV. Although it might be slightly more efficient on the new process node this way, it clearly comes with a lot of trade-offs that make it an overall worse op-amp, while also being incompatible with the same op-amp from other manufacturers.

In the video [Dave] goes through the datasheets of this jellybean part of other manufacturers, showing that they still have the original 1980s specifications. Only one exception here was the NE5532DR from Shenzhen HuaXuanYang Electronics, whose supply rail voltage is also 18V for some reason, along with a similar internal transistor configuration that reduces the ESD resistance.

In addition to the NE5532 op-amp, it seems that TI also took an ax to the OPA134 op-amp, by removing its offset trim feature and listing the pins as ‘NC’, with a warning to not connect these pins and also worsening other specifications. This makes these similar jellybean parts incompatible, with no change to the part number. Worse is that it continues with the LMH6518, whose changes [Dave] argues might even kill oscilloscopes as they are commonly found in those.

Meanwhile the LM317M also got an overhaul, but here TI opted to give it a new part name, calling it the LM317MQ with at first glance no major degradations in the specifications, but instead some actual improvements. This makes it even more puzzling why TI didn’t give the other ICs a new part number to differentiate them from the jellybean part.

Until there’s some clarification from the side of TI, it might be a good idea to source these jellybean parts from a manufacturer that is not TI, especially when replacing these ICs in older devices.

youtube.com/embed/22ZmmZ67SMY?…


hackaday.com/2026/06/03/texas-…


Deltarune’s Tenna Brought to Life


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

For those who have never played the hit video games Undertale and Deltarune, the games are partially known for their interesting characters, many of which have eerie, surreal, and expressive designs. One of the more memorable characters from Deltarune is Tenna, a game show host of sorts whose distinguishing feature is an old television as a head, as well as a colorful suit. As a result he’s been the subject of a number of recreations by various cosplayers and makers like [BigRig Creates].

This version of the character was actually inspired by a previous build by [BunnyBii] which used an iPad as the interactive screen/face. Inside the television, though, the actual human found this to be front heavy and limiting in the ways that it could be used interactively, especially since the only way to see the outside world in this version was with a small endoscope and screen. [BigRig Creates]’s version builds on this idea but swaps out the iPad for a Raspberry Pi, allowing for much more customization, and uses a pair of Xreal glasses instead of a screen for the view of the outside world from in the television.

To get the whole costume together, the head is 3D printed with all of the electronics inside, and a game controller integrated into a handheld microphone controls the animations shown on the screen. A vibrant, custom-tailored suit with white gloves rounds out the ensemble, along with a pair of 3D-printed shoe covers since actual yellow shoes were a bit pricy. There were some interesting problems to solve along the way, specifically with regards to power management for all the electronics, but in the end it all seems to have come together quite well. [BigRig Creates] is no stranger to builds with unusual displays, though; one of our favorites was the world’s largest Nintendo 3DS.

youtube.com/embed/KR8yb54V-9g?…


hackaday.com/2026/06/03/deltar…


Linux Fu: Fake Webcams, GUI Edition


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

Previously, I looked at using the Linux video loopback system from the command line. The basic trick was simple enough: capture video from a real camera, process it with something like ffmpeg, and write the result to a fake camera device via the v4l2loopback device. Then a browser, or any camera-enabled software, sees the fake camera as if it were real. This allows you to manipulate video before sending it to the rest of the world.

That works, and for those of us who like command lines, it’s easy enough to execute. But not everyone loves the command line. In the comments, there was another obvious answer: use OBS Studio.

While OBS is excellent, it is also a bit like using a laser to chop a carrot. If you already use OBS, fine. If you only want to crop a webcam, add an effect, mirror an image, or feed a virtual camera, it can feel like a lot. If you must have a GUI, you can try Webcamoid, which sits somewhere between a simple webcam viewer and a full video production system.

Webcamoid gives you a GUI for selecting a camera, applying effects, and sending the result to a virtual camera. Conceptually, it is much closer to the command-line loopback setup from the previous post than to OBS. You are still building a pipeline from input camera to output camera, but now you can do much of it with buttons and menus instead of shell commands.

That’s in theory, of course. Implementing Webcamoid turned out to be quite the exercise. Granted, this probably varies depending on where you install software. If your distro has a clean working copy of Webcamoid and its dependencies, good for you. For everyone else, keep reading.

The Moving Parts


There are two pieces to understand. Webcamoid is the GUI application. It captures video, previews it, applies effects, and can write to a virtual camera. You also need a driver to produce the fake or virtual camera. AkVCam is one of the virtual camera drivers that Webcamoid can use on Linux. It can also use v4l2loopback, as we discussed last time. Both approaches create fake /dev/videoX devices, but their configuration models are different.

With v4l2loopback, the typical setup is command-line oriented:
sudo modprobe v4l2loopback video_nr=10 card_label="Virtual Camera" exclusive_caps=1
Then some program writes frames to /dev/video10. For example, ffmpeg can read from a real webcam and write to the virtual one. Of course, if you want a permanent virtual camera, you can make an entry in /etc/modprobe.d.

AkVCam is more structured. Instead of simply creating a generic loopback device, it uses a configuration file that defines one or more virtual cameras, their input/output relationship, and the formats they support. That sounds like more work, and in a way it is. But it also gives you tighter control over what formats the virtual camera advertises. This sometimes matters more than you might expect.

Install, Remove, Install…


The hard part of Linux webcam work is often not getting video — it’s getting every piece of the chain to agree on width, height, frame rate, and pixel format, along with matching each other’s API expectations.

I tried three different ways to install Webcamoid. First, I used the normal OpenSUSE Tumbleweed repos to install the program. It couldn’t find any cameras. My next stop was a Flatpak version. That worked well, but it is deliberately crippled and won’t even try to drive a virtual camera, directing you to install the regular version instead. Then I tried an AppImage. This seemed to work OK, but the virtual camera would never display anything but a black screen.

Note that the version on AppImageHub is old, and the source project requires payment for prebuilt binaries. I didn’t try either of those options.

I tried a lot of things to make it work. My final answer was to use the AppImage, but I had to build my own version of AkvCam from GitHub.

Even then, at first, the video output was highly pixelated. The culprit was AkVCam using the 640×480 RGB format. Upscaling created a blocky mess.

You can see what a device is doing with:
v4l2-ctl -d /dev/video3 --all
In my case, the virtual output reported:
Width/Height : 640/480
Pixel Format : 'RGB3'
scaling_mode : Fast
aspect_ratio_mode : Ignore
That explains it. “Fast” scaling usually means “not pretty,” and 640×480 is not a great starting point for modern video calls.

The fix was to simplify the AkVCam configuration. Instead of giving the virtual camera a long list of supported formats, I configured it with essentially one useful format. For example, if the pipeline is meant to be 1280×720 at 30 fps, make that the format. Do not give every program in the chain an opportunity to negotiate itself down to postage-stamp resolution.

A minimal AkVCam setup generally defines a capture device, an output device, a connection between them, and formats. In the generated config I was using, the output camera had several formats:
cameras\2\type=output
cameras\2\videonr=3
cameras\2\formats=19, 20, 21, 22, 23, 24
The problem was that format 19 was 640×480. The high-resolution formats were present, but not preferred. Reordering the list might help, but for reliability, using only the desired format is even better.

Webcamoid As A GUI Pipeline

ASCII filter in action.
Once the virtual camera driver is sane, Webcamoid works well. You select the real camera as the source, apply whatever effects you want, and select the AkVCam virtual camera as the output. The receiving application then sees the virtual camera.

Compared to the command-line approach, Webcamoid makes experimentation easier. Want to flip the image, adjust color, crop, blur, or test silly filters? That is all much easier in a GUI than in an ffmpeg or gstreamer filter chain, although I still don’t mind the command line. There’s not much difference between using Webcamoid as a friendly front end or manipulating the image as we did last time.

However, I would not oversell it. Webcamoid is not OBS. It is not really a scene compositor. If you want multiple live sources — say, a screen capture as the main image and your webcam as picture-in-picture — OBS is the obvious GUI tool. With the command line, you can easily do things like this by calling ffmpeg directly.

That’s a Wrap!


If you want a full production environment, OBS is still the right answer. It handles scenes, multiple sources, transitions, screen capture, overlays, and virtual camera output in a single application. But if you liked the command-line loopback idea and wished it had a friendlier face, Webcamoid plus AkVCam is worth a look. It gives you a GUI for the common case: one camera in, effects applied, one virtual camera out. You just need to fight through the installation and configuration with your specific setup. Hopefully, yours will be easier than mine.

As usual, Linux rewards knowing what is happening under the hood. Webcamoid can make the workflow friendlier, but v4l2-ctl is still your friend, and, at least for some people, you’ll need some Linux Fu to get it all working in harmony.


hackaday.com/2026/06/03/linux-…


Hydraulic Drive For Your Lawn Tractor


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

Most larger ride-around landscaping machinery has a similar transmission, a transaxle containing a gearbox, or in some cases, a continuously variable drive. [Made In Garage] has a Toro lawn tractor with just such a setup, and when the transaxle failed he replaced it with a hydraulic drive.

The video below is a classic bit of workshop porn, as he fabricates both the hubs and the rear frame to fit a pair of hydraulic motors. The throttle pedal is a hydraulic valve with the lever swapped for a pedal, and the hydraulic reservoir, in a nice touch, is an old fire extinguisher.

We’re not so sure about the pipework in such an exposed position under the machine as we think it would inevitably be damaged, but you can’t argue with the results. Having used a rough service mower with a hydraulic drive in the past, we appreciate always being exactly at the right ratio for the engine.

We think perhaps he should complement it with a loader.

youtube.com/embed/K8cFS1Jun9Y?…

Thanks [Keith Olson] for the tip!


hackaday.com/2026/06/03/hydrau…


But Just What is This ‘Artificial Intelligence’?


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

In the world of buzzwords, the acronym ‘AI’ has absolutely been the buzziest of buzzing buzzwords for at least a few years now. Where previously terms like ‘smart’ and ‘intelligent’ sufficed to promote a product, we are now being told that we are living in an age where this supposedly newfangled ‘artificial intelligence’ is doing literally everything faster and better while also curing cancer on the side. Yet, as a wise man once said: “You keep using that word. I do not think it means what you think it means.”

The obvious implication of using a term like ‘artificial intelligence’ in this manner is that it brings to mind a modern version of early last century’s ‘electronic brain’ vernacular alongside the rise of digital computers. Yet rather than electrons in vacuum tubes and semiconductors propelling us into a brave new world of super-intelligence, we now just use said devices to doom scroll and to engage in passive-aggressive online communications like the typical primate groups in a virtual jungle defending their turf.

Similarly, the term AI is massively oversold today, least of all in the inherent presupposition that we somehow have finally cracked the mystery of the brain and have created an intelligence that can go toe-to-toe with humans and even our corvid dinosaur friends. Perhaps the worst part is that there is a veritable mountain of fascinating algorithms and other constructs that help us automate many tasks today, making it somewhat rude to just give up and call everything ‘AI’ like we learned nothing from the 1980s AI craze.

So what is exactly being smoothed over by the glossy marketing of ‘everything is AI’?

Cognition Versus Intelligence


Recently I covered the topic of intelligence, both in the sense of its definition and the empirical evidence. Within that definition it is already quite obvious that animals like birds are pretty intelligent, and can compete with the average human on a number of metrics. Of the different types of intelligence, fluid intelligence (Gf) is perhaps the most crucial since it pertains to what might be the clearest sign of intelligence in the form of reasoning.
Current and expanded CHC theory of cognitive abilities. Source: Flanagan & McGrew (1997).Current and expanded CHC theory of cognitive abilities. Source: Flanagan & McGrew (1997).
Add to this memory (knowledge and recall) as well as acquired skills and you got the basics of general intelligence. One could absolutely make the point that this is all that intelligence is about, as in the acquisition of data, processing it and using reasoning to come to new conclusions. Yet as can be seen in the referenced article, the basic CHC intelligence model can, and has been, expanded to include sensory, motor and efficiency metrics, which are very species-centric.

Of course, it is true that within cognitive processes it’s hard to exclude sensory input and output via actuators like muscles to perform some kind of physical action. After all, no type of intelligence is of much use if there are no in- and output, such as how we need at least one of our five senses to be aware of the world around us along with some way to interact. Whether intelligence could develop without both is also a valid question.

The resulting disagreements in the academic community on where to draw the line between intelligence and cognition do not help with narrowing the scope of ‘intelligence’, as it makes it possible to assign the label to something like machine vision. Even when this is a system that merely replicates parts of the visual cognitive process without the underlying reasoning and understanding that accompanies this cognitive process in us animals.

What we can conclude from this, however, is that what we call ‘smart’ or ‘AI’ are merely systems that attempt to replicate such a fragment of the human cognitive process.

Machine Vision


Perhaps the biggest strength of machine vision (MV) is that it allows for a cognitive task to be off-loaded to a computer system that will never suffer fatigue or become distracted. This is essential in tasks like quality assurance, such as on production lines. Rather than having a human check each item that zips past for certain properties, alignments, etc. a machine vision system can take over this cognitive task while being inarguably far more efficient.

MV encompasses a wide range of implementations, all targeting a specific task that can use different sensors and outputs to accomplish a goal. For e.g. PCB assembly lines and food production you got many MV systems that use visible light as well as near-infrared and other camera and sensor types to detect flaws, spoilage and other issues. This data is then passed through the rest of the system, where some kind of programming allows for the detection of any issues.
Manual inspection of a PCB failed by automation. (Credit: Gamers Nexus, YouTube)Manual inspection of a PCB failed by automation. (Credit: Gamers Nexus, YouTube)
At the board house, suspect PCBs are identified and then taken off the conveyor and handed over to a human who can then either confirm the issue and address or bin it, or mark it as a false positive by the system and put it back on the conveyor. The main advantage here is that it reduces the cognitive load on the humans, who are notoriously terrible at long stretches of boring work.

Another area where MV is essential is that of self-driving vehicles, which is where sensor blending and interpretation of features in a scene using e.g. edge detection and recognition using a convolutional neural network (CNN) is paramount. This replicates the human cognitive process of navigation and steering, though it should be noted that these systems require significant more sensors, including radar and Lidar, to do their job somewhat effectively.

Here it should be noted that MV doesn’t replace human cognition. Rather, it serves to complement it from a general automation perspective. This is why purely self-driving vehicles (Level 5) are still fictional and sometimes comically obvious PCB assembly flaws can make it through automated QA, even if overall it is a net win for the human workers.

Pattern Recognition


Much of the medical profession is about pattern recognition and differential diagnostics, as symptoms and test results have to be categorized and analyzed. Within this field there has been a push towards computer-aided diagnosis (CAD) for decades now, here also to try and reduce the cognitive workload on medical staff. The start of this was with expert systems implemented in e.g. Lisp, which use a knowledge base and an inference system in order to reach a conclusion or solve a problem.

An issue here is of course that this knowledge base has to be constantly maintained, which is why artificial neural network designs have become more popular, with large language models one particular example of these. Such models can be updated more easily, with the slight gotcha that by not having the expert system maintained by human beings any more and instead relying on what are essentially statistical models, you’re abandoning the ‘expert’ part.

This is why LLMs have been increasingly pushed to the side by things like retrieval augmented generation (RAG), which ‘grounds’ the provided facts in more factual reality such as human-written documents, leaving the LLM to help provide a friendly natural language interface.

When it comes to analyzing test results such as of MRI scans and X-rays, this covers much of the same ground as with full MV systems, with the same gotcha that although it can save time, it can also make incredibly dumb mistakes and thus cannot be left unsupervised.

Natural Language


Perhaps the biggest advancement of the past years has been in creating better chatbots that can keep up a conversation on a level that would put ELIZA to shame. Of course, this is at least as much smoke-and-mirrors as ELIZA, in that there is no actual intelligence or concerned therapist behind the friendly interaction, just a complex human-written chat interface that creates the query and handles all other details of using an LLM for generating the semblance of a human-level interaction.

The term ‘emotional intelligence‘ refers to the ability to perceive and feel emotions, something that is impossible for an entity that is incapable of feeling and reasoning, meaning that it is a fairly complex cognitive process that is also heavily susceptible to projection of one’s own feelings onto another person or even an inanimate object. Although the chatbot is literally incapable of learning and requires external session information to be stored within the context window, these can be very convincing near-facsimile under the right conditions.

Faking Cognition


The increased use of machine vision and similar systems has been an absolute boon in automating industries and other fields, making life better for everyone involved due to the reduced cognitive load and freeing up humans to do more creative tasks where one isn’t asked to mindlessly perform the same task over and over.

There are many fields where such increased cognitive offloading is a good thing and quite feasible, but always with a full understanding of the limitations and potential pitfalls, especially when it comes to risks like cognitive atrophy caused by cognitive surrender. This has been identified as a hazard in an increasing number of studies, highlighting the importance of maintaining one’s critical thinking skills.

Even if actual artificial intelligence happened next year, it’s still paramount that we treasure human intelligence, as it is the only one we will always have, as well as the sole reason why humankind has come this far.


hackaday.com/2026/06/03/but-ju…


Game Dodecahedron Runs AArch64 Assembly


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

Operating systems are great things to have for general purpose computing, but sometimes they can just get in the way. There’s RAM overhead and processor cycles required for all that operating, after all. For something like a game system, it seems unnecessary. The NES certainly did well enough without an OS, as did its various successors for several console generations.

[Inkbox] wanted to get back to those heady days by programming bare-metal games for a Rasberry Pi 3 that had sat unused since 2016. Games are on cartridge, running bare metal, in assembly — as God and Masayuki Uemura intended. Also, the console is a dodecahedron, because the name GameCube was already taken.

The GitHub link above doesn’t exactly have documentation, at least as of this writing, so you’ll need to watch the video to get the full details. The dodecahedron form factor might not be ideal for packing away in a bag, but as a handheld we have to admit it does look comfortable to hold. Two faces of the dodecahedron get a half-dozen buttons each, which are wired to a GPIO pin on the Pi via a Schmitt trigger for hardware debounce. Like all good consoles, it uses cartridges, these ones being adapted from SD cards on large PCBs derived from a project we featured before.

That all sounds great, but it’s the assembly programming we’re really interested in — skip to around the seven-minute mark in the video for that. Ultimately it’s a build video, so not the ideal tutorial for ARM assembly programming, but it might not be a bad introduction for some. Unfortunately you don’t get line-by-line of the PacMan game he put together — but he does have it in the repository for you to examine. The repo also has STLs if you want to make a dodecahedron of your own.

Of course he’s got a RetroPi cartridge as well, loaded with emulators, and we suspect that’s mostly how this GameDodecahedron will get used. Still, we’ll always have a soft spot for assembly code and projects that use it — be it on ARM, good old 6502, the open-source RISC V architecture, or even the absolute monster of op codes that is x86.

youtube.com/embed/JEPf2JZzVzk?…


hackaday.com/2026/06/03/game-d…


Digital Politics at 100: What I got wrong


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

Digital Politics at 100: What I got wrong
WELCOME BACK. THIS IS THE FREE MONTHLY EDITION of Digital Politics. I'm Mark Scott, and will be speaking at an online event about social media data access and attacks on independent research, organized by Columbia World Projects, the Centre for Digital Governance at the Hertie School and Tech Policy Press. It's at 16:00 CET / 10:00 ET on June 18. You can register here.

This week's edition marks Digital Politics' 100th newsletter. That's just under 260,000 words over 22 months on everything from Europe's stuttering digital rulebook to the United States' quixotic take on tech to the rise of the Middle Powers movement.

Not everything I've written stood the test of time. So I went back over the last two years to figure out what I got wrong, and why. Call it a mea culpa. Digital policymaking moves fast and the geopolitics have only grown more complex since 2024.

Thank you for reading along the way. I started this newsletter to understand what was going on around me. I find these dispatches a useful way of framing my thinking. I hope you also find it useful.

To mark Digital Politics' 100th edition, I'm offering a centenary rate of $80 a year — locked in permanently — for anyone who subscribes between now and June 10. That's the only time this rate will be available.

If you've been reading for free and have been considering whether to support the newsletter, you can subscribe here.

Let's get started:


Move over digital cold war. Say hello to G2 frenemies


DONALD TRUMP HAD YET TO WIN THE White House when I started writing Digital Politics. But shortly after his victory in November, 2024, I laid out what I thought would be a digital policymaking slam dunk. Just like his first term, the newly-elected president would take an aggressively hawkish view on China. That would include the extension of tech-related export controls and other trade barriers to stop the world's second largest economy from dominating the era of artificial intelligence, electric vehicles and quantum computing.

All other countries — most notably the so-called Middle Powers like Brazil, South Korea and the United Kingdom — would have to figure out how to balance the United States' expected harsh treatment of its geopolitical foe with their own needs to engage directly with China.

Fast forward to the middle of 2026, and the picture is more nuanced than I had expected.

The aggressive stance of the Trump 1.0 administration has softened into a more transactional approach to Beijing. Under direct pleas from Nvidia, Washington allowed the American chip giant to ship some of its most advanced semiconductors to China — although that has stalled due to American bureaucracy and a growing aversion in the Middle Kingdom toward relying on US-made chips. The US and China also mulled greater cooperation on AI governance during Trump's visit to Beijing last month, though details of what that would actually look like remain unclear.

"Relations between the United States and China are better than they’ve been in many years," Pete Hegseth, the US Secretary of Defense, told an audience in Singapore on May 30.

Well, possibly. A day after Hegseth's comments, a unit within the US Commerce Department issued guidance that closed a potential loophole that could have allowed high-end tech, including Nvidia's semiconductors, from being sold to subsidiaries of Chinese firms located outside the country. It's hard not to see that as hawkish parts of the US government holding the line — just like in the Trump 1.0 administration — against any rapprochement between Washington and Beijing.

Confused? Yeah, me too. What I thought would be a binary 'digital Cold War' between the world's two largest economies has morphed into something more complex. It's a whipsawing relationship that mixes genteel diplomacy, economic realpolitik and more mutually-reinforcing ties on tech than could have been expected 18 months ago.

That has knock-on consequences for Middle Powers. If we were living in a binary world in which the US took an overtly hostile position to China (and ongoing friendly relations with long-standing allies), then there could be a consensus between democratic countries about the need to push back against Beijing.

We do not live in that world. So far this year, more than 20 national leaders or countries' heads of state have visited China as states from Canada to Serbia figure out the new G2 dynamic. Sure, many of these same domestic politicians have also visited the US. But just as relations between Beijing and Washington have become messy, so too have diplomatic ties between other countries and the world's remaining superpowers.

My initial digital Cold War framing was wrong not because Washington and Beijing are now besties. It was wrong because I had assumed a level of joined-up thinking from American policymakers toward China that didn't pan out. Call it a managed incoherence — something that is significantly harder for Middle Powers to navigate.

Thanks for reading the free monthly version of Digital Politics. Paid subscribers receive at least one newsletter a week. If that sounds like your jam, please sign up for the Centenary offer here.

Here's what paid subscribers read in May:
— The protection for children online runs counter to long-standing fundamental privacy rights; the use of AI to profile voters, not to create deepfakes, is the greatest challenge to the US mid-terms; Half of Americans polled are worried about AI. More here.
— I crunched the numbers on how much sovereign AI would actually cost; Why digital antitrust efforts have not hobbled online advertising dominance; Spending on government AI systems will hit $80 billion in 2026. More here.
— The UK's political implosion is an apt metaphor for its flagging digital policymaking; Middle Power countries are finding their feet in the new "G2 era;" AI giants are massively subsidizing their consumer-focused products. More here.
— Everything you need to know about the European Tech Sovereignty proposals; The pros and cons of Europe's social media accountability efforts; Internet shut-downs have risen four-fold in a decade. More here.


Countries just can't stop with social media bans


I DO NOT LIKE SOCIAL MEDIA BANS. To be honest, I'm not a big fan of banning outright. There's almost no evidence that such moratoriums lead to the results that politicians and policymakers are looking for. The proposals are often caught up in parents' legitimate concerns about protecting their child from online harm. The fact that we are even contemplating these moves is a black mark against global platforms which have repeatedly refused to open themselves up to independent scrutiny.

Where I went wrong (again and again) was assuming that national officials and lawmakers would either review the existing literature on banning social media for minors, or wait for the ongoing trial in Australia to show results (or not) before making their own judgements about cutting off teenagers from the likes of TikTok and Instagram.

More fool on me.

By the end of the year, expect a number of countries, including the UK and those within the European Union, to either have implemented nationwide bans or outlined proposals about how such initiatives will be phased in over the next 18 months. In an era of FOMO, kids' social media bans have become the digital policy that no country's leader wants to miss out on.

Some of this is down to pure politics. No politician is ever going to lose an election by telling would-be voters that her aim is to protect children. It also highlights how the political mood music has turned against social media giants — even when these platforms are still readily used by the same lawmakers to reach the electorate ahead of domestic votes.

Some of this is down to policymakers having few meaningful levers to quell the growing amount of online harm that bombards us all online. Countries' ongoing attempts at policing social media are more philosophical than practical (despite the growing list of enforcement actions.) Some platforms — at least those from the US — have embraced a 'free speech' ethos that has made their interactions with regulators increasingly adversarial.

Either way, I underestimated the political stickiness of a digital policy that is not grounded in quantifiable evidence. The honest truth is that when parents are scared and platforms no longer have credibility, such evidence no longer matters — and the social media bans start appearing.


The era of AI regulation is not over


I HAVE A BIAS TOWARD WESTERN DIGITAL POLICYMAKING. I spend much of my time trying to understand the inner workings of what's happening in Brussels, London, Washington, etc. In those capitals, the shift away from hard-nosed rules toward artificial intelligence is pronounced. We are in an era of AI-driven economic growth and competitiveness. Within that landscape, AI rulemaking has taken a back seat.

But what I missed over the last two years was a growing stable of AI legislation from countries outside of this Western-centric world view. That was a significant own goal at a time when everyone and their grandmother wanted to know what was happening with AI.

This AI policymaking has taken on various shades depending on where you look.

Brazil offers the most like-for-like comparison to what the EU has just rolled back on via its Digital Omnibus package. In Latin America's most populous country, the proposals include a risk-based approach akin to what Brussels has envisioned. That includes corporate risk assessments and a combination of regulators to oversee different AI use cases. Still, it has yet to be enacted.

Japan has gone a different route. Tokyo preferred a more innovation-friendly approach that involved public funds for AI research, co-regulation with companies and voluntary guidelines over mandatory restrictions. There are no potential fines for wrongdoing. Instead, regulators can issue guidance, request information from companies and shame firms that do not comply.

Singapore, again, has charted its own path. The small Asian country views its domestic AI rules through the prism of export and trade. It announced a world-first governance framework for agentic AI and is now working on interoperability standards which would position the country as the go-to standards setter.

Many may argue these proposals are less rule-making and more voluntary guidelines. Fair point. But the geographical scope of AI governance — and in this analysis, I didn't include what's going on in India and parts of Africa — is a trend that I underestimated. Just because Western countries are pressing pause on the AI legislation button does not mean other parts of the world are willing to wait around.

For sure, AI rulemaking is not thriving globally. But a purely Western frame is no longer sufficient to understand where AI governance is actually heading.


Chart of the week


MY BRAIN WORKS IN IMAGES, NOT WORDS. So I used Anthropic's Claude to produce a chart of the most commonly-used phrases over the first 100 editions of Digital Politics to figure out what were the main themes over the last 22 months.

Not surprisingly, topics like social media and artificial intelligence get a lot of play. So too did politically-sensitive themes and people like the Digital Services Act and Donald Trump.
Digital Politics at 100: What I got wrongSource: Digital Politics


What did actually happen in Romania?


I WOULD NEVER PRETEND TO BE AN EXPERT on Romanian politics. But when far-right politician Călin Georgescu won the first round of the country's presidential election in late 2024 — and Romania's constitutional court annulled his victory after irregular social media activity on TikTok — I took a stab at what was going on.

My main point: national policymakers and the European Commission were getting over their skis by accusing social media of swaying the election in favor of Georgescu, and that accusations Russia played a direct role in that online activity had yet to be proved.

I was wrong, to a degree.

The role that TikTok played in the presidential election's first round has yet to be proved. Despite a lot of fanfare from Brussels that it had started an investigation into TikTok's potential role, no public assessment — roughly 18 months after the fact — has yet to be published. EU officials rushed headlong into a national political mess, and incorrectly used the bloc's Digital Services Act as a tool to "fix" whatever had just happened in the European country.

But where I misjudged was the level of both social media activity and Russian involvement in what turned out to be a litmus test for Romania's commitment to its EU membership. FWIW, pro-Western politician Nicusor Dan eventually won the Romanian presidency in May, 2025.

Yet last year, TikTok admitteda network of 27,200 accounts, which operated through a fake engagement middle-man, attempted to promote a far-right political party and independent candidate Georgescu by posting comments on the platform at a mass scale. It's hard not to see that anything other than a wholesale attempt to use social media to sway the election — albeit how successful this covert network was is still debatable.

The links to Russia are also more likely than I had initially thought. Romania's national security agencies declassified documents that revealed a sophisticated TikTok operation that involved reams of accounts — which had been dormant for years — suddenly posting like crazy weeks before the 2024 first round election. These tactics, according to the country's spooks, were prime evidence of a coordinated effort by a foreign adversarial country (though they did not name Russia.)

Elections are always messy. So, too, is analysis trying to figure out what happened, in almost real time. What I missed was the level of sophistication of the covert operation to support Georgescu's campaign via TikTok — and its likely ties to the Kremlin.


The Brits don't know what they are doing on digital policy


THIS ONE SITS CLOSE TO HOME. As someone who has watched consecutive British governments try to articulate a vision toward technology over the last decade, the subsequent inertia — on everything from online harms to artificial intelligence to data protection reform — has been hard to swallow. I may not always agree with what Brussels and Washington do on digital policy. But at least I can see a somewhat coherent argument about how they go about their business.

Not so for London.

In early 2025, I laid out what could be the UK's post-Brexit dividend toward tech. It included a doubling down on the country's existing digital rulebook as a means of making it the global centerpoint for so-called "RegTech" (that position has now been taken by Singapore.) It included a revamping of the UK's financial services sector and public funding options to support the country's leading tech industry. It included a plea for London not to blow hot-and-cold on digital rule-making amid a generational shift in geopolitics.

Sign up for Digital Politics


Thanks for getting this far. Enjoyed what you've read? Why not receive weekly updates on how the worlds of technology and politics are colliding like never before. The first two weeks of any paid subscription are free.

Subscribe
Email sent! Check your inbox to complete your signup.


No spam. Unsubscribe anytime.

Looking back, none of these proposals landed. That's not surprising. The UK's ruling Labour Party finds itself amid a likely leadership challenge. The country's tech sector remains Europe's largest — although most of its firms eventually go public in the US or are bought by American rivals. Any form of Brexit dividend, in terms of using the country's digital rules as a differentiator in the global tech race, has been in short supply.

These recommendations still hold true. What I misjudged was the political inertia that has made the UK an also-ran in the global digital policymaking discussion. It's hard to articulate what London stands for on tech — other than wanting to both entice foreign firms to set up shop locally and create populist digital rules like a potential social media ban for kids.

This is not a party political criticism. The same woes confronted previously Conservative Party administrations. The UK is still stuck in the middle ground and lacks a vision for digital policymaking. I offered suggestions on how to fix that. Politicians had other ideas.


What I'm reading


— The Knight Georgetown Institute assessed how individual governments were implementing age assurance and how each proposal stacked up against the others. More here.

— The G7 countries agreed to voluntary commitments on how to protect children online. More here.

— The European Commission published draft guidelines for so-called "trusted flaggers," or independent groups that can raise issues with online content to regulators. More here.

— Softbank announced it would invest up to $87 billion in data center infrastructure in France. More here.

— The Pope laid out his concerns about artificial intelligence. More here.



digitalpolitics.co/what-i-got-…


Argamal: Malware hidden in hentai games


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

In April 2026, we discovered a new malware campaign targeting players of “hentai” games. Once launched, the infected games install a previously unknown malicious implant on the user’s machine. After a few days, the implant downloads and executes a Trojan, resulting in full system compromise and broad remote control capabilities for the attackers. We dubbed this malware family “Argamal”.

The malware uses COM hijacking to persist on the victim’s machine, replacing the InprocServer32 entry for Windows Color System Calibration Loader DLL. This task is triggered when the user logs in, effectively allowing the malware to run at startup.

Kaspersky solutions detect this threat as Trojan.Win32.Termixia.*, Trojan.Win32.Agent.*, HEUR:Trojan.Win32.Argamal.gen and HEUR:Trojan-Downloader.Win32.Argamal.gen.

Technical details

Background


In April, as part of our ongoing monitoring of telemetry data, we found some suspicious DLLs. Further analysis revealed that various versions of these DLLs have existed since at least 2024.

The DLLs were spawned by different games written using various game engines and programming languages, including RenPy (Python) and RPG Maker MV (JavaScript), among others. However, they all had one thing in common: they were all hentai games. We searched for the distribution sources and found a number of websites hosting game screenshots and download links. These links redirected users to PixelDrain, a free file transfer service.

Adult games catalogue
Adult games catalogue

In addition to these websites, the trojanized games have also been distributed via different torrent trackers, including AniRena.

Malicious game torrent in AniRena
Malicious game torrent in AniRena

Delivery


Both the dedicated websites and torrents delivered an archive containing the infected game.

Contents of the game archive
Contents of the game archive

This archive contained fully functional, legitimate game files, as well as a modified FFmpeg DLL (SHA1: 42add9475e67a1ccc6a6af94b5475d3defc01b85), that imported the DllGetClassObject function from a file called natives2_blob.bin. Since the game needs ffmpeg.dll to run properly, the library loads as soon as the user starts the game.

Script executor


The natives2_blob.bin (SHA1: edce72f59e4c1d136cd1946af70d334c19df858d) file is a DLL that executes a Base64-encoded PowerShell script when loaded.

The natives2_blob.bin file code
The natives2_blob.bin file code

This PowerShell script, which we’ll call Stage1, performs basic checks for controlled environments. For example, it checks for the Sandboxie folder in Program Files and Procmon64 in the process list. If all the checks indicate that the process is not running in a controlled environment, it proceeds to establish persistence.

Stage1 sets the MI_V environment variable (and also MI_V2 in the new versions of malware) for the current user to another Base64-encoded PowerShell script, which we’ll call Stage2. After that, it sets the InprocServer32 registry key at HKCU\SOFTWARE\Classes\CLSID\{722D0F89-B69C-4700-AE8C-4A44350E4876} to a random DLL file name in a random subdirectory of %USER%\AppData\Local, as well as the ShellFolder subkey to another random DLL file name in the same location. Stage1 also creates a scheduled task that will execute three days later. This task executes Stage2 and runs once.

Stage2 is a payload downloader script. It takes previously generated DLL filenames from the registry and downloads an encrypted payload called zaesdl.dat from GitHub using bitsadmin.exe. The downloaded payload is saved in the settings.dat file in the randomly chosen subdirectory of %USER%\AppData\Local. Stage2 decrypts it using AES-CBC with the key zbcd1j9234r670eh and an IV equal to the key. The decrypted payload is then saved in the DLL file specified in the ShellFolder registry subkey.

The decrypted payload is set as InprocServer32 at HKCU\SOFTWARE\Classes\CLSID\{B210D694-C8DF-490D-9576-9E20CDBC20BD}, which is a COM object used by the \Microsoft\Windows\WindowsColorSystem\Calibration Loader scheduled task. This task runs every time a user logs in, allowing the malware to run during every user session.

Before quitting, Stage2 also removes the changes made under the HKCU\SOFTWARE\Classes\CLSID\{722D0F89-B69C-4700-AE8C-4A44350E4876} registry key, unsets the MI_V environment variable (and MI_V2 in newer versions), and removes the scheduled task that launched Stage2.

Malicious agent


Early payload versions decrypted themselves using the 0xB0C1D4E9 rolling XOR key, where the decryption key for the i + 1 block is the encrypted content of the i block (each encrypted block being four bytes long). The most recent agent versions don’t do that.

The samples we found had string encryption; they use a simple substitution with a key that corresponds position-by-position to the following alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@#$./:<>*&~. The decryption process involves finding the position of each symbol of the encrypted strings in the key, and replacing it with the symbol that occupies the same position in the alphabet.
During our investigation, we found the following keys were used:

  • 17htUno/I3L&fK2H#yapE@b5NqZ$Q4xmeF.s96uB>jkdWCPvAgD*XwO:iR~TMrV0YGl8z<JSc
  • 71htUno/I3L&fK2H#aypE@b5NqZ$Q4xmeF.s96uB>jdkWCPvAgD*XwO:iR~TMrV0YGl8z<JSc
  • E1hUtno/IL3&fK2H#ypa7@b5NqZ$Q4xmeF.s69uB>jkdWCvPAgD*XwO:iR~TrMV0YGl8z<JcS

All symbols not used in the key remain unchanged.

String decryption
String decryption

The payload checks for the presence of the following security solutions using the output of the tasklist command:

  • Kaspersky
  • Avast
  • McAfee
  • BitDefender
  • MalwareBytes
  • +36 other solutions

Security solution detection logic
Security solution detection logic

The payload itself is a RAT with broad functionality. The default C2 server is asper1[.]freeddns[.]org for earlier versions and Winst0[.]kozow[.]com for the latest versions of the payload. Both domains point to 186[.]158.223.35. We also saw another IP address for the first C2 in pDNS records, though we haven’t actually seen it in use. The C2 address can change based on a C2 reply or when certain conditions are met. For example, if the user’s default locale is set to “zh-CN”, the RAT sets its C2 address to country1[.]ignorelist[.]com. During most of our investigation, this domain pointed to 127[.]0.0.1, but starting April 26, it has been pointing to 186[.]158.223.35 as well.

The payload sends UDP heartbeats to port 57441 of the C2 server. These heartbeats contain information about detected security solutions, system startup time, time since last input activity, architecture info, machine IP address and username.

The C2 may respond to the heartbeat. Based on this response, the payload can perform different actions. Below is the full list of available commands.

Response first byteDescription
0x31Run DLL on the system
0x57Send UDP request to the specified address
0x55Open file or link from the response
0x50Collect information about the infected system (e.g. process list and architecture)
0x53Execute command from the response using ShellExecuteW
0x52Run the file specified in the response using WinExec
0x42Delete the file specified in the response
0x41Update C2 domain
0x59Get new payload: connect to C2 port 63559/UDP, get new DLL and update COM path in the registry

The C2 can also set a flag in the response that will turn on the extended RAT mode. In this mode, the payload communicates with the C2 server using the 3747/tcp port.

TCP communications are encrypted using a simple substitution cipher. Each character is replaced using a fixed mapping defined by the key:
koP]Y4Os-_t?cB',aK.Wm>QM2[U!^C`*@Ff:X\6Dp8H%ATydE<e(#G&LhwRZ5znjJqgNrl)I7V$3=910"+Svxi/;ub
This key corresponds position-by-position to the standard ASCII character sequence:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}
In other words, each character in the ASCII set is replaced by the corresponding character in the key string.

C2 requests and responses are divided into two parts by the first space character. The first part is a command and the second part is usually an argument.
After connecting and before receiving information from the C2, the malware sends metadata about the infected machine using the NOOP command. This metadata includes a run cycle counter, mounted drive metadata, time since the last input activity and data about the display settings.

Based on the C2 command, the malware can execute commands on the infected machine, perform reboot and shutdown actions, control the cursor, take screenshots, compress files into archives, and send files to other specified servers. In short, it can fully control the machine. The full list of commands is as follows:

System control

  • KILL REBOOT: Reboots the infected system
  • KILL POWER: Shuts down the infected system
  • KILL SELF: Same as the QUIT command (described below)
  • KILL ME: Exits process running the malware

Surveillance

  • SCREEN / SCREEN9: makes a screenshot, saves it to the ~wra1269.tmp file and sends it to the C2

File operations

  • DELETE <filename>: deletes specified file
  • DELDIR <dirname>: deletes specified directory
  • REN <file path 1>#<file path 2>: moves specified file
  • MAKDIR <path>: creates directory
  • ZIPFILE <file or folder name> / ZIPFOLDER <file or folder name>: compresses specified file/folder into a .zip archive
  • TAR <file or folder name> / TAR2 <file or folder name>: compresses specified file/folder into a .tar archive
  • GETFILEDATE <filename>: sends file’s last modification date
  • SETFILEDATE <filename>: sets file’s last modification date
  • GETFILEACC <filename>: sends file’s last access date
  • DWLOAD <filename>: sends file to the C2
  • UPLOAD <filename>#<C2 address>: uploads file to the specified C2 server

Reconnaissance

  • USER: sends username
  • KALIVE: sends run cycle counter
  • IDLE: sends number of seconds passed since last input activity
  • DRIVES: sends information about mounted drives
  • FOLDEX <folder type>: sends full path to a directory of the specified type:
  • – type = 0x63: temporary directory
  • – type = 0x64: \Google\Chrome\User Data\Default\ in AppData\Local folder
  • – type = 0x65: \Downloads\ in user home directory
  • – type = 0x66: \Microsoft\Excel\XLSTART\ in AppData folder
  • – type = 0x67: AppData folder
  • LFILES <folder path>: lists and sends paths to all files in the directory
  • OSVER: sends information about user, hostname, OS architecture and version
  • COMPILERDATE: sends constant hardcoded in the RAT, e.g., 25.10.2025

Generic control

  • DSOCKE: recreates TCP keep-alive socket
  • QUIT: notifies the C2 about quitting, closes the socket and stops the process
  • RUNHID <command> / RUN <command>: runs specified command inside ShellExecuteW
  • RUNDOS <command>: runs specified command inside CreateProcessW
  • RUNTASK <command>: creates, runs and deletes task that executes specified command
  • SKEY <key code>: presses specified key
  • MOUSE FREEZE: freezes mouse movement
  • MOUSE <command>: clicks the specified mouse button or sets the cursor position to the specified coordinates


Other delivery methods


During our research, we also observed other delivery methods for the RAT. Instead of patching FFmpeg and downloading the payload from GitHub, the attackers included the main payload as libpython64.dat or another file with a similar name in the lib\py3-windows-x86_64 directory of the game. This .dat file was loaded by one of the libraries used in the game, which was patched for this purpose.

In another case, the threat actor posted their malicious DLL file (payload downloader) on a gaming forum, disguising it as a cheat.

Infrastructure


Our research revealed the following infrastructure was used in this attack.

DomainIPFirst seenASN
asper1[.]freeddns[.]org181[.]116.218.56September 16, 202411664
186[.]158.223.35July 01, 202511664
country1[.]ignorelist[.]com186[.]158.223.35September 10, 202511664
127[.]0.0.1November 11, 2025
Winst0.kozow[.]com186[.]158.223.35April 26, 202611664

Victims


According to our telemetry, hundreds of individuals were infected with this malware. The majority of the victims were located in Russia, Brazil, Germany and Vietnam.

Distribution of victims (download)

Attribution


Based on the language of the comments in the code, infrastructure data and other facts we assess with medium confidence that the developer of the downloader chain speaks Spanish.

The actor behind this attack uses Spanish in variable names and comments. For example, the Base64-decoded delivery script contains the following lines:

Part of the PowerShell script used in the payload delivery
Part of the PowerShell script used in the payload delivery

In addition, the JavaScript code from the website distributing infected games contains variable names, function names and comments in Spanish:

JavaScript code from the malicious site
JavaScript code from the malicious site

Notably, the malware payloads used in this attack had previously chosen 127.0.0.1 as their C2 server when the victim’s default locale is set to “zh-CN”, thus not targeting Chinese users. This may indicate that the attacker is associated with a Chinese-speaking threat actor or uses payloads developed by a Chinese-speaking threat actor. However, we still believe it’s unlikely that the developer of these delivery chains is Chinese-speaking.

Conclusions


The Argamal Trojan is a new RAT targeting individuals who seek adult games. During our analysis, we observed a steady stream of updates to the payload, including the addition of new features and fixes for various bugs, as well as changes to the infrastructure. This leads us to believe that the threat actor behind this malware will continue to develop and enhance it. The campaign’s goal is likely data and credential theft; however, the RAT enables the attacker to take full control of the device and execute any malicious activity they want.

Creating malware in today’s development landscape has become significantly easier thanks to the wide availability of detailed guides, tooling, and automation resources. As a result, it is crucial not only to detect known malware but also to identify new and evolving threats as they emerge. Kaspersky solutions prevented the malicious activity in the earliest stages of the attack. The solutions help ensure device security by identifying not only known threats but also the behavior of the software and its actions, providing comprehensive protection against malware.

Indicators of Compromise


File hashes
RAT payloads:
76253fb55aed707440e808ea78e7101318436b1c
1405a3c5e0aeb08012484134e16cdec4ab29b4a4
535f4337f261b6da20a3c614eb13270bed2d533a
d2cb0d7a9ad2b5d4ea7c2da8aec62beb37cf36d6
e05f1767c2a337910ed75e90288838d6d0541164
dad26f61da7b8bccc78364411812be74c025b475
29f1d346a6e71774c7dad25b90f446b2974393df
e815a9b418d09c2d4bcd074c2c0bc21406eeb22f
17f8f8f34dfa737f36182fed7ff9e9814a114058
954722b0c9c678b1313d1f8b204e102842dc5889
69331cfdac792dc79240e6a6bb6e803eabd70beb
901cfa97b1baaf908fd4a02bb52d970f576c4193
5f1f3689bcf23de1b280b5f35712946da0f7978f
c2d9d48b3b10bd58cdf5df9463e3ffcd60533ff3
2423a5bf0fa7cb9ec09211630a5488629499691b
ae4601a19d28332a3ec6ac31b385cdf53be53450

Trojan downloaders:
9803604ec45f31f9ef75bcca1e1310d8ac1fc3a6
edce72f59e4c1d136cd1946af70d334c19df858d
02819d200d1424882af81cb504b3e8614b32397a

Domains and IPs
asper1[.]freeddns[.]org
Winst0[.]kozow[.]com
Country1[.]ignorelist[.]com
186[.]158.223.35

GitHub repositories used in the campaign
hxxps://github[.]com/gmz159/u
hxxps://github[.]com/DnyP/files
hxxps://github[.]com/mgzv/p


securelist.com/argamal-rat-dis…


A Diffraction Grating Makes This Clock Readable


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

We’ve seen just about every possible way to make a clock here at Hackaday over the years. So it’s rare to have a first, but here we are with [Twisted & Tinned], who’s made a novel clock with a diffraction grating.

The display of the clock looks for all the world like a jumble of LEDs, that is, until you place the grating in front of it. Those LEDs are addressable multi-color parts, and each digit is generated at a different color all on top of each other. The grating splits out these colors, resulting in a magical set of floating LED figures.

Behind those LEDs is a Pi Pico, but that’s just one of many microcontrollers that could have powered this project. It’s the use of the diffraction grating in a novel way with those LEDs that makes the difference, and we rather like it. He’s also managed to get the grating pattern in the 3D printed surround for a shimmering look, by printing directly onto a diffraction grating sheet. That in particular is a technique we’ve looked at before in detail.

youtube.com/embed/1DD9vaVy1H8?…


hackaday.com/2026/06/03/a-diff…


Turning an Old 3D Printer Into a Vinyl Cutter for Cheap


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

Replacing a 3D printer’s extruder with a cutting blade seems like an easy way to do things like vinyl cutting, but you cannot just put on any blade and expect good results. The right type of blade is called a drag knife and it’s designed so that it follows the direction in which you’re cutting. You can get these in dedicated vinyl cutting machines, as well as in the form of attachments for the likes of CNC machines. How to use them with an old Anycubic Mega S FDM printer is demonstrated by [Cocoanix 3D Printing] in a recent video.

For a bit more background information you can peruse for example this write-up by [Kronos Robotics], who goes through the steps of selecting the right blade, cutting mat and such for use with a CNC machine.

For the 3D printer in the video a Roland vinyl cutter style holder and blades were bought off AliExpress, for which then a custom 3D printed mount was designed, though you can often get a ready-made one off your usual 3D model sources. Following this you get into the hardest part, being the software and making sure you don’t cut too deep into the vinyl through its backing paper.

Fortunately most of the hard work here is done already by the Polycut project, which is precisely designed to help you turn a 3D printer or similar into a vinyl cutter or plotter. This takes in an SVG file and generates the appropriate g-code, after which you better have gotten your Z-offset calibration right if you want that perfect result. With all that in place it’s then actually quite easy to cut your very own vinyl without shelling out big bucks for a dedicated machine.

Of course, it’ll likely never be as fast as those machines, requires more calibration and have a more limited cutting space, but as it’s not a permanent modification and probably less crazy than putting a laser engraver module on a commercial FDM printer like the Bambu Lab H2D.

youtube.com/embed/KcpcjyyMpYQ?…


hackaday.com/2026/06/02/turnin…


A High-Vacuum Controller for an Eventual Electron Microscope


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

A black plastic box is shown, with a green circuit board inside. The circuit board is wired to an RS-232 connector and an RJ-45 connector.

[Chris Doble] has high ambitions: he’s making his own scanning-electron microscope, and as the first step he’s built a high-vacuum system. This required its own controller to manage the various electronics involved in the system, which he’s documented and open-sourced.

The vacuum system itself starts with a rotary-vane roughing pump, which can bring a chamber down from atmospheric pressure to about 10-3 millibar. This is still too high a pressure, so the second stage is a turbomolecular high-vacuum pump, which can operate from 18 millibar down to 10-7 millibar. To protect the turbomolecular pump in case the roughing pump suddenly stops, it includes an anti-suckback valve. Connected to these pumps is a pressure gauge which uses a pair of sensors to sense the entire pressure range. All this setup worked well, but the turbomolecular pump and the pressure sensor each used their own interfaces, while [Chris] wanted a single interface for the eventual microscope.

[Chris] therefore designed his own controller based on the Raspberry Pi Pico 2, with firmware written in Rust. The pressure gauge uses an RS-232 interface, which he connected to the Pico’s UART pins using an RS-232 level shifter, with a null modem to swap over the transmitting and receiving pins. The turbomolecular pump used an RS-485 interface, which required a converter circuit and some level-shifting resistors. A custom PCB and 3D-printed case hold the final circuit, which provides a host computer with a single USB interface. When [Chris] tested the controller, the vacuum chamber reached a pressure of 10-6 millibar, and was still slowly falling when he ended the test.

This isn’t the first vacuum chamber controller we’ve seen. Of course, this assumes that the pressure gauge already has a controller; if not, we’ve also covered one of those. To see the inspiration for [Chris]’s project, check out [Ben Krasnow]’s scanning-electron microscope.

youtube.com/embed/Ku04_mVZx_E?…


hackaday.com/2026/06/02/a-high…


Does Your Terminal Speak Morse? This One Does


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

There are a lot of single board computers on the market these days, so you can be forgiven if you missed the LuckFox Lyra. Its main claim to fame seems to be that it shares the Pi Pico’s 51 mm x 21 mm footprint while being powerful enough to run a full Linux system– or at least, it was. Now its claim to fame is as a device you can interact with no peripherals, accessing the terminal via Morse code. That’s thanks to [Gabriel Broussard Korr] and his Morstdin project, which should run on just about anything POSIX-compliant, by dint of a being a clever sh script at heart.

Of course, with most POSIX-compliant systems, you’ll need to alter the script to account for some kind of periferal to do the Morse I/O– not so on the LuckFox Lyra, which has a built-in LED and a single usable button. It actually has two buttons, but one of them is RESET and you can’t use that for anything but its intended purpose. The BOOT button, on the other hand, becomes user input after the system has started. One button, one LED? It’s almost like LuckFox designed this SBC for Morse! Admittedly we’d prefer an audible output, but adding a buzzer would detract from the purity of this implementation.

He’s had to extend the code, of course, since Samuel Morse did not expect all of the special characters you’re likely to encounter on the terminal. The resultant Programmer’s Morse, or PMorse is a straightforward extension, but [Gabriel] didn’t stop there: he’s also added a set of commands he describes as “vim-like” make using this headless device easier by doing things like deleting whole words or flash the line you’re working on so you can make sure you haven’t made any errors.

If that wasn’t enough, he’s also put an LLM on it. Because in the Year of Our Lord 2026, you apparently cannot escape the frakkin’ toasters by jumping your rag-tag fleet into the 128 MB of RAM on this tiny SBC. Still, his inclusion of Llamma.cpp does add one thing to the project: it can now claim to be the world’s smallest stand-alone chatbot. It’s also the only one that speaks Morse. That’s got to be worth some bragging rights.

[Gabriel] may have a thing for physically tiny Linux devices– his last project, which we featured, was about using Linux on old smartphones with Termux.

Thanks to [Gabriel] for the tip!

Header image credit Luckfox.


hackaday.com/2026/06/02/does-y…


From Scrappy Pallet Wood to Fancy Tea Tray


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

Pallets are a wonderful way to package goods and move them around, but especially the wooden ones have a very finite lifespan. This means that many of them are discarded every day, even though there is still good wood on them. Even if it’s not the highest quality wood, you can still use it for some nice wooden items, like the tea tray that [GR Woodworking] recently put together.

The reclaimed wood is the typical fast-growing, soft type, with the suspicion of it being paulownia here. Of course, wooden pallets use a wide variety of wood varieties, so not all reclaimed wood is equally suitable for applications like this, and identifying the type can be a challenge in itself.

In the video it’s shown how the wood is planed to make it smooth and straight, before the joints are created and it is married to the poplar or aspen base plate. Of note is that absolutely no power tools or bulky things like router tables are used here, just basic hand tools that should make this kind of woodworking accessible to people even without that kitted-out woodworking shop.

After assembly it’s finished with Vararhana oil-based stain to give it a darker look and really bring out the grain. Naturally, since it’s a tea tray it has to be commissioned with a proper tea ceremony, which it passes with flying colors.

youtube.com/embed/tnNvp0LoJiw?…


hackaday.com/2026/06/02/from-s…


The 2026 EMF Badge Arrives, With An Add-On. As Expected, It’s Familiar


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

Four years ago the EMF hacker camp in the UK released a new kind of event badge. The Tildagon was designed to be a recurring event badge, useful for the next EMF rather than destined to be e-waste. With the 2026 event coming up there’s a new Tildagon called the Spaceagon, and as you might expect it’s very familiar indeed.

Tildagon owners can update their badge with the Spaceagon front panel, while those without one can buy the new badge. It has a few minor updates from its predecessor, including better buttons, LEDs, and display mounting, and there’s a compass, a joystick, and touch sensitive areas.

The Tildagon introduced its own add-on format, the Hexpansion. This year there’s the first official Hexpansion, a keyboard, using the same rubber moulding we see on quite a few maker projects. We like the Hexpansion idea because it uses an edge connector rather than a set of pins on the device, but at the cost of more expensive badge parts.

If you’re going to EMF you should be able to order yourself a Spaceagon, or an upgrade kit if you already own a Tildagon. Meanwhile we covered the 2024 version back when it arrived, and surprisingly this isn’t the first keyboard add-on for it either.


hackaday.com/2026/06/02/the-20…


Linux Fu: Taming Strace


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

While many operating systems seem to try to prevent you from peeking under the hood, Unix and Linux positively encourage it. One great tool that we’ve looked at before is strace. Using this tool, you can see details about every system call a program makes. As you might imagine, for any significant program, the output from strace can be huge.

While I’m not always a fan of GUIs, this is one of those cases where making the data easier to browse is a great idea. Enter strace-tui, a text-based GUI for strace from [Rodrigodd]. The program can parse output from strace or manage the strace execution itself, and either way, display the data in a useful way.

I started out looking at [janestreet’s] strace_ui, but the OCaml setup was throwing errors for me, so I just gave up. The strace-tui installs like many Rust programs, using cargo, and it went smoothly.

An Example

The strace-tui interface.
The only issue I had running the tool was that I don’t normally keep ~/.cargo/bin on my path. You can add it to your path, link the executable into your path, or solve that in any number of other ways.

As an example, I traced a symbolic link command (ln -sf nature.txt test.link). It is easy to pick out some essential information on the top line. The command took 112 system calls, 14 of them failed (which isn’t unexpected), there were no unfinished calls, no signals, and only a single PID.

The bottom shows things you can do. Arrows or j and k, along with the usual cursor control keys like Home and Page Down scroll through the list. The right and left arrows will expand or collapse items. That will show details about the call in question, including the arguments and return values. You can consult the help for all the details.

Useful Tools


The real power, though, lies in filtering out the noise and searching for specific things. If you are looking at something you don’t want to see, you can press a lowercase h to hide it, but note that it hides everything similar, not just an individual line. An uppercase H will bring up a filter dialog where you can include or exclude groups of data.

Searching is also a great way to find what you want. A slash key starts a search. The N key navigates with a lowercase entry moving forward and an uppercase one moving backward.

For example, if I only wanted to look at openat commands, I could open the dialog. Not only does it show filters, but it also shows how many things match (there are 30 instances of openat). Pressing a will toggle all entries off and then selecting openat greatly reduces the amount of output. I also selected symlinkat, read, and fstat so I would only look at the file-related items.
Peeking at the system call that does the actual linking.
Many of the file operations are related to loading shared libraries and locales. To find the actual line that makes the link, it was easy to press the slash key and some text from the file like test.link.

That will highlight the symlinkat line, which is no surprise, but this is a simple example. If you press Enter or the right arrow, you can see more detail, including arguments, the return value, the amount of time executing, and a backtrace that shows how your program made it to the call.

This is a simple example, but the program can also visualize multi-threaded or multi-process traces using graphs. That can be helpful for analyzing real programs.

Even this simple program has a lot of output. Sure, if you are trying to debug a locale-related problem, all of the lines about loading locale files that don’t exist might be gold. But most of the time, you don’t really care about all the standard loading scaffolding and a tool like this can help cut through the chatter.

Missing Links


According to the project page, there are some missing features, and we presume this is a roadmap for future development.

In particular, the program can’t filter traces for specific processes or threads. There’s also no way to copy details to the clipboard or export filtered traces out to a file. Of course, it is open source, so you can always volunteer to add some of this or your favorite feature.

If you give strace-tui a shot, or have other strace tips and tricks you’d like to share, let us know in the comments.


hackaday.com/2026/06/02/linux-…


STM32 Handheld Has OpenGL and all the Classics


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

We do sometimes go on about how absurdly powerful microcontrollers are these days, but this time it’s technically a microprocessor, not a microcontroller, at the heart of the build — specifically, an STM32MP2. Still, you know you’re living in the future when an STM32 of any sort can not only run [John Cronin]’s gk handheld game console, but provide 3D acceleration to boot.

Full disclosure: you’ve seen this handheld here before — sorta. That was version 3, which was an STM32-based handheld. V3 used the much less powerful STM32H7S7L8, with a single Cortex-M7 clocked at 600 MHz and a 2D NeoChrom GPU. The STM32MP2, by contrast, has dual Cortex-A35 cores running 1.5 GHz and a bonus Cortex-M33. It’s running a custom OS called gkos, which is mostly POSIX-compliant and boasts nigh-instantaneous boot times.

As with the last version, you can run a bevy of emulators from the 8-bit to the 32-bit era, but the added power and OpenGL support mean this handheld also runs N64 games via a fork of mupen64. There are also emulators for ‘real’ computers, namely Atari ST and XL, and a little-known thing known as a “PC”. DOSBox gets the equivalent performance of a 50 MHz 486, which means you can run all the classics, including DOOM, though that will be more performant running the native-running port of sdl-DOOM.

You also get extra inputs to play with and a bigger screen compared to the last version. Oh, and WiFi. There are accelerometers for tilt control, and did we mention the screen’s touch input is supported? If it weren’t for the form-factor, we’d call this a capable little computer. The GK handheld looks like an awesome handheld console, check it out in the demo video below.

youtube.com/embed/HnWTx0CX4E8?…


hackaday.com/2026/06/02/stm32-…


Jenny’s Daily Drivers: Microsoft Windows 11


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

In our search for the unusual or interesting among the world of operating systems, it might seem unexpected that today’s choice for a Daily Driver is the latest version of Microsoft Windows. Aside from Hackaday perhaps having a larger than average percentage of viewers using Linux based operating systems and generally catering to open source enthusiasts, there’s hardly anything special about Windows, is there?

Oddly for me there is — because while it’s a common enough OS for the masses, the last time I had a Windows computer it ran XP. That venerable OS is a world away from today’s Windows 11, and thus as someone who’s exclusively sat in front of a GNOME desktop for much of the last two decades, it’s an entirely new operating system.

There’s no doubt that it will make a Daily Driver, because of course I’ll be able to do my work on it. Where the interest lies is in seeing what Windows has become. Is it still a useful general purpose operating system, or has it become the locked-down walled garden of crapware that its detractors warn you about? Time to dive in.

A Secret Windows Machine


I have had a Windows partition on this machine since I bought it back in 2024. It’s an ex-corporate laptop from a reseller, and those machines always come with a too-small flash drive and a Windows install. So when I bought a new much larger drive for my Linux install I dropped the Windows partition on it too. After all, you never know when you might need Windows for something, right? Two years later and I’ve never touched it, so my first task in my Windows 11 is to run a system update. I timed the start to 16:30, and left it running. I have a gigabit fibre connection so it should be quick, shouldn’t it. At 19:16 I was finally able to use the computer, but even then Microsoft wasn’t quite finished. There were a slew of permissions choices where I had to opt out of their various data slurps, and their offers and mail.

Coming back to the Windows desktop when your last experience was XP with the Windows 95 theme is a bit of a shock. You instinctively head for the Start menu in the bottom left corner and instead find a widget box full of news feeds and stock tickers you don’t want. Closer inspection shows they’ve chased a macOS style interface with a Windows logo on the bottom bar as the Start menu roughly where Mac users find their folder full of apps.

I’m trying to approach this think as a Windows user would, so instead of heading off and downloading open source installers as you might expect, I’m off to the Microsoft Store. Although Redmond has its hand on my shoulder I was able to find GIMP without issue, so the basic requirements for my normal daily use is sorted without any drama at all. It’s the ancient version 2.1 though, so it was off to gimp.org for the latest version. Installation was the same as any Windows install back in the day, there’s no locking down here.

Crapware’s a Bit Different


So I’ve got a Daily Driver, what are my impressions. After so long away and having missed the debacle of Windows 8’s Metro interface, I think the desktop interface is actually pretty good. It’s kept up with the times in a way macOS — with its barmy top-corner menus which just don’t work in a world of 4K screens — hasn’t. As to the commercial aspects of the OS, I was expecting it to ask me for a Microsoft account and it hasn’t, so that’s a plus. But the thing I had forgotten about was the ubiquity of nag screens. I haven’t had to click a “No, I don’t want to upgrade to your premium version” button in a very long time, and here I am suddenly having all manner of software wanting my attention. No Adobe Acrobat, I don’t want to give you any money! And then there’s the AI. Nothing in my Linux install is trying to offer me AI services, but it seems everything is here.

My jaunt into Windows land will be over when I’ve finished writing this piece, and I guess it’ll be as long again before I revisit this partition. Updating it took nearly three hours, and it’s constantly nagging me for paid upgrades, offering me news stories from sources I don’t like, and trying to push AI services on me. But is it a walled garden of crapware? That’s a more difficult question to answer. I’ve not had to enter a Microsoft account to use it, and I can install the software I want, so it’s not become the walled garden its detractors will tell you it has. The crapware though? Less clear cut.

This is a reseller laptop, so at least in theory, its original drive should have been wiped or even destroyed as part of a corporate data security scheme. So the reseller puts a cheap drive in and gives it a basic Windows install. It’s completely vanilla Windows 11, which is where it differs from many new laptops. There is no bundled software, no nagware, no commercial anti-virus, and no dubious-value security package. It’s as clean as Windows gets, but even so, there’s still too many features being pushed on me that I simply don’t want. It may not have old-style crapware installed, but the crap is still there.

So my final impression? This trip into Windows-land has been interesting, and I’ve found an OS better than I expected. But it’s reminded me again of the reasons why I moved on from dual-booting Windows XP all those years ago, with a lingering feeling that I still don’t quite own it.

Windows 11 then, it’s a daily driver for millions of people, but I still won’t be one of them.


hackaday.com/2026/06/02/jennys…


Wardriving assessment across Mexico: Preparing for the 2026 World Cup


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


Introduction


Mexico is one of the host countries for the 2026 FIFA World Cup, with matches to be played in three major cities: Mexico City, Monterrey, and Guadalajara. These locations are expected to see a large influx of international visitors, increasing the potential security risks. Many of those risks arise from users connecting to public wireless networks.

To better understand the wireless environments that visitors may encounter, we at Kaspersky GReAT conducted a wardriving assessment in the three host cities. The aim of the study was to analyze characteristics, deployment patterns, security configurations and potential exposure risks of public Wi-Fi infrastructure in urban wireless environments.

The information collected during the assessment was used exclusively for passive observation and infrastructure analysis. No attempts were made to authenticate, intercept communications, exploit systems or interact with the detected wireless networks beyond the publicly broadcast management information.

During processing of the collected data, one step involved filtering out networks belonging to cars or cell phones categorized as mobile hotspots because they do not represent networks that can be considered part of the assessment.

Research scope


The cities included in the study have high population density and extensive wireless infrastructure deployments. We chose areas with the most prominent wireless network activity and highly concentrated public access points. We carried out wardriving research in Monterrey back in 2008, but the city’s hotspot landscape has changed since then.

We chose the following analysis areas for each of the cities:

  1. Mexico City: México City Stadium, Mexico City International Airport, Zócalo, Paseo de la Reforma, Colonia Roma, La Condesa, Polanco, and Coyoacán.
  2. Guadalajara: Guadalajara Stadium, Guadalajara International Airport, the city center, Zapopan, Providencia, Avenida Chapultepec, Colonia Americana, Tlaquepaque, and the area around Andares.
  3. Monterrey: Monterrey Stadium, Monterrey International Airport, Fundidora Park, Cintermex Monterrey, the downtown area, Barrio Antiguo, MacroPlaza, and the San Pedro financial district.

The wireless information was collected using passive wireless reconnaissance techniques. The collected information included:

  • SSID analysis and information exposure, including BSSID-derived SSIDs
  • Default router configurations and ISP deployments
  • Frequency and signal characteristics
  • Channel congestion and spectrum usage
  • Wireless security configurations, including:
    • Open and insecure wireless networks
    • WPS-enabled networks
    • Secure networks (WPA2/WPA3) with WPS enabled


We performed a wireless infrastructure analysis in Mexico City, Guadalajara, and Monterrey. We drove through the areas surrounding the World Cup stadiums, tourist zones, and other places where fan concentrations are likely to be largest. Our goal was to evaluate the security status, deployment characteristics and operational exposure of detected wireless networks.

In total, we recorded 84,588 signals with 69,473 unique Service Set Identifiers (SSIDs) in busy locations and World Cup zones across the three cities. Mexico City accounted for 61.4% of the signals, Guadalajara for 23.6%, and Monterrey for 14.8%. Approximately 82% of the signals had a single SSID (81.9%, 81.34%, and 84% respectively). Notably, they all operate under the IEEE 802.11 standard protocol.

Particular attention was given to identifying standard deployment patterns, legacy configurations, default vendor settings and information disclosure through publicly broadcast wireless identifiers.

The following sections present the results that were obtained by analyzing wireless infrastructure across the three locations.

Our findings

SSID analysis and information exposure


SSID analysis was conducted to evaluate naming conventions, deployment standardization and potential information exposure.

Only a few networks (0.0047%) have an invisible SSID, meaning the names of these networks are not broadcast. Some users prefer to hide the SSID for various reasons, such as the network’s purpose, the profile of its users, internal policies, etc. In contrast, the rest of the networks maintained active SSID broadcasting.

SSID structures may unintentionally disclose operational details about internet service providers (ISPs), device manufacturers, deployment practices, organizational ownership or user identity. The repeated presence of default SSID naming patterns across the analyzed locations indicates a significant degree of infrastructure homogeneity and reuse of default wireless configurations. It may also facilitate passive infrastructure profiling by revealing standard characteristics in use.

Approximately 34% of the detected networks retained the default SSID naming conventions provided by the manufacturer or ISP, while 66% used customized identifiers.

Distribution of SSID naming conventions (download)

Several recurring SSID naming conventions associated with ISP-provided deployments were identified in the three cities. The most frequently observed patterns include identifiers such as “Club_Totalplay_WiFi”, “izzi WiFi”, and “Megacable WiFi”, which suggests extensive standardization of wireless infrastructure deployment. Additionally, we observed distinctive location-specific SSIDs in each area of analysis, such as “XXXX-Internet para Todos-CDMX” or “RED JALISCO”.

Most frequently observed SSID patterns (download)

Sequential SSID naming structures were also identified during the analysis. Patterns such as “INFINITUMXX” and “IZZI-XX” suggest automated ISP deployment and large-scale deployment strategies.

We identified 33 unique sequential naming structures among the 137 sequential SSIDs in total, representing approximately 0.16% of the detected wireless networks.

The following graph shows the top five sequential SSID patterns found in the largest number of networks:

Five most frequently observed sequential patterns (download)

Several customized SSIDs contained personal or organizational identifiers, including family names, professions, addresses or internal department references. Although personalized SSIDs may simplify local network identification for users, they may also expose sensitive information that could be useful for social engineering, physical targeting, or organizational profiling.

BSSID-derived SSID


During the analysis, multiple networks were identified that used the physical MAC address of a Wi-Fi access point (BSSID) as the visible SSID. This practice exposes hardware-level information that could facilitate vendor fingerprinting and targeted reconnaissance activities.

The organizationally unique identifier (OUI) contained in the first bytes of the BSSID identifies the equipment manufacturer. Threat actors can correlate exposed manufacturers with device-specific vulnerabilities.

BSSID-derived SSID by city (download)

Notably, we found that more than 30% of networks in all three cities reuse the MAC address as the SSID.

Default router configurations and ISP deployments


We performed wireless infrastructure profiling to identify the most common wireless equipment manufacturers and ISP deployments across the three locations.

Large-scale ISP deployments frequently use standardized wireless configurations and vendor-specific hardware platforms. Identifying dominant manufacturers and ISP naming conventions can provide insight into infrastructure and deployment practices facilitating the mapping of standardized attack surfaces.

The following figure shows the distribution of the most commonly used manufacturers.

Most frequently observed wireless equipment manufacturers (download)

The manufacturer analysis revealed a strong concentration of wireless infrastructure among a limited number of vendors. Across the three locations, Huawei Technologies, MediaTek-based devices, and other manufacturers’ equipment that is distributed through ISP channels represented a significant portion of the detected deployments. Mexico City had the most diverse infrastructure, while Monterrey and Guadalajara had a greater concentration of wireless equipment known as SOHO (small office/home office) or residential-grade hardware. The widespread presence of standard vendor platforms may facilitate infrastructure fingerprinting and large-scale targeting of known device-specific vulnerabilities.

Most frequently observed wireless equipment manufacturers across the three cities (download)

ISP deployments frequently exhibited standardized configuration patterns and recurring manufacturer identifiers. Our ISP deployment analysis revealed a high concentration of access points associated with major residential internet providers. Deployments associated with Infinitum, Totalplay and Izzi represented a substantial portion of the detected wireless infrastructure across all locations. These findings suggest a high degree of deployment standardization across networks associated with major residential internet providers. This observation was supported by the repeated presence of ISP-associated SSIDs such as “Infinitum”, “Totalplay”, and “Izzi”, combined with manufacturer identifiers frequently associated with consumer equipment, including Huawei, ZTE and other residential wireless equipment vendors.

It is important to note that, for this analysis, ISPs were primarily inferred from SSID naming conventions and manufacturer fingerprint data. A significant portion of the detected wireless networks fell into the “UNKNOWN/CUSTOM” category. This classification includes custom hotspots and networks whose naming conventions did not expose identifiable ISP-associated patterns. The findings suggest that many users and organizations (as we saw previously, approximately 66%) use custom network names, limiting direct provider attribution.

The following figure illustrates the distribution of ISP-associated wireless deployments in general.

Most frequently observed ISPs (download)

To better understand this distribution, we took the most frequently observed ISPs by city.

Most frequently observed ISPs across the three cities (download)

Frequency and signal characteristics


We also analyzed wireless signal characteristics to evaluate coverage quality, signal strength, and frequency band utilization in the three cities. In dense urban environments, signal quality and frequency spectrum distribution can affect wireless reliability, client connectivity, roaming performance, and overall network efficiency.

Signal quality analysis revealed that a substantial portion of the detected access points operated under weak or very weak signal conditions. Monterrey had the highest percentage of very weak signals, with approximately 50% of detected deployments. Similar patterns were observed in Guadalajara and Mexico City, suggesting high-density wireless environments with overlapping coverage areas. Only a limited percentage of networks were classified within the very good or excellent signal categories across the three locations.

Signal quality distribution by city (download)

Signal stability analysis revealed that most detected wireless deployments exhibited stable beacon transmission behavior. More than 96% of the detected access points across all locations were classified as stable, while only a small percentage exhibited unstable or indeterminate signal behavior.

These findings imply that the majority of the wireless infrastructure observed during the assessment corresponded to permanently deployed access points rather than transient or intermittent wireless devices.

Signal stability status (download)

Frequency band analysis revealed the strong prevalence of 2.4 GHz wireless deployments across the three locations. More than 95% of the detected wireless networks operated within the 2.4 GHz spectrum, while only a small percentage of deployments were classified under the unknown or non-standard frequency categories. This uneven distribution reflects the continued prevalence of legacy-compatible wireless infrastructure and SOHO deployments.

Frequency band utilization (download)

These findings are consistent with dense urban wireless environments with large numbers of access points in restricted spectrum allocations.

Channel congestion and spectrum usage


Next, we analyzed wireless channel utilization to evaluate frequency spectrum congestion and channel allocation patterns across the three cities. Our analysis focused on the 2.4 GHz spectrum, where channel overlap and high access point density commonly produce interference and degraded wireless performance. In densely populated wireless environments, an excessive concentration of access points on a limited number of channels can lead to co-channel interference, packet collisions, reduced throughput, and degraded network stability.

Spectrum congestion analysis revealed that the 2.4 GHz band consistently experienced elevated congestion levels across the three cities. The detailed results showed a strong concentration of deployments on channels 11, 6 and 1, which are traditionally recommended as non-overlapping channels within the 2.4 GHz spectrum. Channel 11 was the most utilized channel, accounting for 25.2% of the detected access points, followed by channel 6 with 22.5% and channel 1 with 19.5%. This distribution indicates that most wireless deployments adhere to standard channel allocation practices for 2.4 GHz Wi-Fi environments.

The following figure illustrates the overall distribution of the most frequently utilized wireless channels.

Most utilized wireless channels (download)

To further assess wireless spectrum saturation, the detected access points were grouped according to channel congestion levels: VERY_HIGH, HIGH, UNKNOWN, MEDIUM, LOW and NONE.

Mexico City had the highest proportion of heavily congested wireless channels, with approximately 7% of detected access points operating under HIGH congestion conditions. Guadalajara followed with nearly 5% of deployments categorized as HIGH congestion, while Monterrey had the lowest percentage at approximately 3.29%.

These findings suggest that wireless spectrum saturation increases proportionally with urban infrastructure density and access point concentration. Despite the presence of congested deployments, most detected access points were categorized as LOW or MEDIUM congestion, suggesting severe spectrum saturation was localized rather than uniformly distributed.

Channel congestion by city (download)

A thorough analysis of individual channel utilization revealed that channels 11, 6 and 1 consistently experienced the highest congestion levels across the three cities, which correlates with our previous findings. These channels accounted for the majority of VERY_HIGH congestion classifications, particularly within the 2.4 GHz band.

In Mexico City, channel 11 alone accounted for more than 25% of detected deployments and consistently exhibited VERY_HIGH congestion levels.

This behavior reflects the limited availability of non-overlapping channels within the 2.4 GHz spectrum and the widespread reliance on default wireless configurations.

Most congested channels by city (download)

Overall, the channel utilization analysis showed that wireless deployments are concentrated heavily within the traditional, non-overlapping 2.4 GHz channels. While this strategy reduces adjacent-channel interference, excessive access point density on the same channels can still produce significant co-channel contention and poor wireless performance in high-density urban environments.

Wireless security configurations


The next thing we evaluated was the security posture of the detected wireless networks. We analyzed the wireless security configurations advertised by access points in each of the locations.

Overall security configuration distribution


The analysis revealed that WPA2 was the dominant wireless authentication mechanism across the three cities. Mexico City had the highest WPA2 adoption rate at 81.19%, followed by Monterrey at 79.19% and Guadalajara at 77.59%.

The study found that every 6th open access point (17%) was unsafe, namely 16.5% in Mexico City, 18.5% in Guadalajara, and 17.2% in Monterrey. Open wireless deployments were consistently present across all locations, ranging between 10% and 12% of detected access points. These findings show that despite the widespread deployment of modern wireless security standards, encryption adoption remains incomplete.

Distribution of wireless authentication mechanisms across the three locations (download)

To simplify the interpretation of wireless security posture, we grouped detected networks into four categories:

  • Secure (WPA2/WPA3)
  • Insecure (Open/WEP)
  • Weak (WPA)
  • Unknown

Across the three locations, secure networks comprised most of detected deployments, accounting for approximately 82% of all access points. However, insecure open networks still account for between 10% and 12% of detected wireless infrastructure, consistent with our previous findings. It is important to mention that networks within the unknown category are not considered secure.

Mexico City had the highest percentage of secure deployments at 83.54%, while Guadalajara had the highest percentage of insecure open networks at 12.46%. Although Monterrey had the lowest percentage of insecure networks, open deployments still accounted for more than 10% of the detected access points.

Wireless security posture grouping across the three locations (download)

Although modern WPA2/WPA3 encryption standards dominate current wireless deployments, the continued presence of open and legacy WPA deployments indicates that insecure wireless configurations remain relevant from an operational standpoint. These networks may expose users to passive traffic interception, unauthorized monitoring, rogue access point attacks, and credential harvesting techniques.

WPS-enabled networks


We also analyzed Wi-Fi Protected Setup (WPS) in all the locations to evaluate additional attack surfaces. WPS is a standard feature on wireless routers that enables devices such as printers, repeaters or mobile phones to connect to a secure Wi-Fi network without manually entering a long password, typically through a PIN-based enrolled mechanism. Although WPA2 and WPA3 provide strong encryption mechanisms, the presence of WPS can introduce security weaknesses due to inherently vulnerable PIN-based enrollment methods.

By combining detections from the three locations, we found that 55% of all detected access points did not advertise WPS capabilities, leaving 45% of deployments vulnerable to WPS-based abuse. These results suggest that, despite the adoption of modern encryption standards, a significant portion of wireless infrastructure continues to expose legacy convenience features.

During the analysis, we found that Mexico City had the highest proportion of WPS-enabled networks, with 46.61% of the detected access points advertising WPS capabilities. Guadalajara was second with 43.45%, while Monterrey had the lowest proportion at 40.93%.

The percentage of detected access points advertising WPS capabilities across the three locations (download)

Almost half of the detected wireless networks in each city continued to advertise WPS, indicating that WPS prevalence is consistently high across the three cities.

Secure networks with WPS enabled


In many cases, networks classified as secure because of WPA2/WPA3 encryption still had WPS functionality enabled, which effectively increased the available attack surface.

To further assess the relationship between encryption strength and WPS exposure, we conducted a secondary analysis of secure networks (WPA2/WPA3) only. The results showed that around half of all secure deployments still exposed WPS, with the following breakdown for each city:

  • Mexico City: 53.7%
  • Guadalajara: 50.9%
  • Monterrey: 47.5%


The proportion of secure networks with WPS enabled across the three locations (download)

These findings indicate that encryption strength alone is not enough to evaluate wireless security posture because additional protocol features, such as WPS, may still expose exploitable attack vectors.

Additional security considerations


Overall, travelers operating within dense public environments are exposed not only to insecure wireless infrastructure but also to various risks associated with digital interactions. These risks include many threats, from public USB charging systems and phishing QR codes to proximity-based protocols and exposure to shared public devices, such as interactive totems or kiosks. One particular point that should be taken into account in light of our research is the issue of rogue wireless deployments.

Rogue access points are not necessarily malicious; they may be set up accidentally by misconfiguring router settings. An entry point for potential compromise might be caused by various misconfigurations, from a weak password to an insecure protocol. However, attackers deploy such unauthorized hotspots with malicious intent to infiltrate a network. Threat actors may deploy rogue access points posing as legitimate public wireless networks in airports, hotels, cafés and tourist areas. These deployments are called “evil twins” and can trick users into connecting to attacker-controlled infrastructure capable of intercepting traffic, harvesting credentials, or performing man-in-the-middle attacks. Further risk lies in the potential compromise of local network devices or even malware distribution. Such threats complement our findings, underscoring the importance of implementing traffic encryption, using a security solution and exercising extreme caution while browsing via public networks.

Conclusion


The wardriving assessment conducted in Mexico City, Guadalajara, and Monterrey revealed that modern wireless infrastructure continues to present multiple forms of operational exposure despite the widespread adoption of WPA2 and WPA3 security standards. The analysis demonstrated that wireless environments are highly standardized in all the locations, with recurring ISP deployments, default SSID naming conventions, homogeneous manufacturer distribution, and predictable channel allocation practices observed in all three cities.

Although most of the detected networks were classified as secure under WPA2/WPA3 authentication mechanisms, a significant proportion were exposing additional attack surfaces through enabled WPS functionality, default configurations, sequential SSID structures, and infrastructure metadata disclosure. This demonstrates that encryption strength alone is insufficient for evaluating the overall security posture of wireless infrastructure. Additionally, the prevalence of open networks and legacy wireless configurations indicates that insecure deployments are still operationally relevant in all the locations.

The results also showed that wireless infrastructure is heavily concentrated within the 2.4 GHz spectrum, particularly around channels 11, 6, and 1. This leads to elevated congestion and increased co-channel interference in densely populated urban environments.

SSID analysis further revealed that publicly broadcast wireless identifiers frequently expose valuable operational information about ISPs, equipment manufacturers, deployment templates, organizational ownership, and user-defined naming practices. The identification of default ISP naming conventions, sequential SSID structures, and BSSID-derived SSIDs demonstrated that many deployments prioritize operational convenience and simplicity over exposure minimization and privacy.

The scope of the threats stemming from vulnerable wireless configurations poses serious digital exposure risks for users. The widespread presence of standard deployments, predictable SSID naming and publicly exposed infrastructure identifiers can facilitate passive reconnaissance, infrastructure fingerprinting and opportunistic targeting.

Recommendations


To minimize the risks of wireless-based exposure and the attack surface related to hotspot infrastructure, we recommend taking the following measures:

  • Disable WPS functionality on wireless routers whenever possible, particularly within WPA2/WPA3 deployments.
  • Avoid using default SSID naming conventions that disclose ISP providers, router manufacturers, or deployment templates.
  • Refrain from using personal, organizational, or location-based identifiers in wireless network names.
  • Avoid configuring SSID using BSSID or naming conventions derived from MAC addresses, as these may expose hardware fingerprinting information.
  • Promote migration toward modern WPA3-capable infrastructure while removing legacy wireless protocols when operationally feasible.
  • Reduce wireless congestion by optimizing channel allocation strategies and minimizing excessive dependence on the 2.4 GHz spectrum.
  • Encourage adoption of 5 GHz and newer wireless technologies to reduce interference and improve spectrum efficiency.

The findings presented in this assessment emphasize the importance of combining strong wireless encryption standards, secure deployment practices, exposure minimization strategies, and user awareness to enhance the overall security posture of wireless environments.


securelist.com/wardriving-asse…


Using a Mirror to 3D Scan Both Sides of an Object at Once


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

Photogrammetry is the process of 3D scanning an object by taking a lot of photographs, then using software to turn those into a 3D model. But the process can only scan what the camera can see, and one can’t always get a good view of every part of an object. To solve this, [Thomas Megel] shared an experiment in using a mirror to capture the underside of an object simultaneously with its top. The results were encouraging!
Using a mirror as the turntable allows the camera to image the underside at the same time.
To do this he perched a small tabletop gaming mini on a mirror serving as a turntable platform in his self-designed OpenScan Mini machine, which is designed to take highly structured photos of small objects for scanning purposes. This produced a single scan with two objects, the original and its mirror image, together in one file.

Aligning separate models and combining them into one is a common way to deal with partial or incomplete scans. The idea here is to get two scans at once, instead of separately with a reposition of the object in between. Additionally, it should be possible for the software to automatically separate, align, and combine the two since it is known exactly where the mirror plane is.

As far as a proof of concept, it’s encouraging. [Thomas] is still playing with the idea and looking for suggestions, so if you have any insights be sure to share them.

3D scanning can be a very useful tool, and while photogrammetry can be done with little more than your mobile phone’s camera, in some ways the concept is over a hundred years old.


hackaday.com/2026/06/02/using-…


Cookies, Baked The 3D Printer Way


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

Imagine for a moment that the Cookie Monster is going to visit, but all the cookie baking utensils in your house have been mislaid. The horror! Fortunately [Startup Chuck] is here with a video showing the process of baking cookies in a 3D printer, and as an extra treat he’s using entirely 3D printed utensils too.

The utensils are comprehensive array of all you’d need for serious cookie production, even going as far as to print a mixing bowl and beater for a KitchenAid mixer. There are scoops aplenty, and something we’re particularly impressed with, a spatula with a TPU blade. We’re guessing that FDM prints might not be the best for cooking because all manner of food could get caught in those layer lines and go off, but let’s face it, this is a bit of fun rather than a forever cooking project. We like the AI generated spork for its near-flatness, reminding us of our AI-generated breakfast. Finally he even prints a cookie baking sheet using nylon filament.

An enclosed 3D printer makes a surprisingly effective low-temperature oven, with the heated bed as the element. It works, and makes recognizable cookies, though they’re not browned. As entertaining as this experiment may be, we can’t recommend following his example — at the very least, moisture and food ingredients in your printer probably aren’t conducive to good future printing.

youtube.com/embed/DO3pAqUgR-s?…


hackaday.com/2026/06/02/cookie…


Restoring Apple’s Terrible but Awesome iBook Laptop


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

Before the Apple MacBook there was the Apple iBook, fruity 1999 colors included. These PowerPC-based laptops targeted low-cost PC-compatible laptops much like the iMac did, albeit it the latter with more success. That said, these laptops are said to be a nightmare to repair, so when [This Does Not Compute] got his hands on a shiny first generation, 300 MHz PowerPC powered, tangerine-colored one, he somewhat dreaded trying to fix it.

Aside from some relatively minor cosmetic issues such as typical cracks in the plastic and a missing optical drive door it seemed in good condition. The first issue came on boot, when MacOS 9.0 would throw up an error message about an issue with cache memory. After booting into the OS this cache memory did indeed show up as missing. Next issue was the optical drive doing absolutely nothing and restarting leading to the system locking up and not starting until plugging in the power adapter.

Fortunately the optical drive started working after addressing a software issue, but the power and cache issues were concerning. Cue a long troubleshooting and repair session that involved purchasing a ‘parts unit’ from Japan to merge both into a single iBook with hopefully a working system at the end.

Along the way the reason why people dislike maintaining these systems, as to do something like getting to the hard drive requires removing the entire display. The cause for the first iBook’s problems also seemed to be due to a liquid spill of some type, as on boot there was no chime either, indicating a wider board-level issue. Unfortunately this was left further undiagnosed and the Japanese mainboard used instead. It’d be interesting to see the deeper cause, but most likely the mainboard will be used for components.

youtube.com/embed/gTbXq2hX5uo?…


hackaday.com/2026/06/01/restor…


After the Dust Settles: Building Pebble Apps


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

For a piece of wearable technology, Pebble has had a fairly “rocky” history. One of the most successful Kickstarters of its era, it went on to get acquired by FitBit, quietly shelved by them, then acquired by Google and open-sourced, where it’s now somewhat back in the hands of its original creator. Its new open source nature means that regular people can develop for these popular watches again, and [Coconauts] have developed a guide for these watches, new and old.

The original watches had to be coded using C, which is a fundamental language but one that generally isn’t used much in the modern world outside of embedded systems and other areas where efficieny is important. C does much less hand-holding than modern languages, so there are a number of things to keep an eye on when coding for these watches that languages like Rust, Go, and Python handle on their own. Regardless, the two-person team recently built a pair of apps for the Pebble platform as part of an app-making contest, one which notifies the user that the watch is charged to 80%, and another that shows an interactive kitten on the watch’s face.

Both of the apps are available from the Pebble app repository, and from there the source code can be found on respective GitHub pages if you’re looking for some examples to dust off old C skills. If you happen to have an old Pebble watch or always wanted one but didn’t want to deal with FitBit, now might be a good time to get them out and start tinkering around with it since it’s now in the open-source domain.


hackaday.com/2026/06/01/after-…


Bilingual E-paper News Feed Helps Brush Up Language Skills


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

[Bob] recently completed LanguageLearner, a desktop device that increases his exposure to a second language by offering up bite-sized news items in Italian, with a complementary English translation. Even better, it’s a project made almost entirely from inexpensive parts he had on hand; it consists of little more than a Raspberry Pi Pico W, a 4.2″ E-paper display, and a 3D-printed stand.

Here’s how it works: once every few hours, the system wakes up and uses its WiFi connection to fetch news from an Italian RSS feed. Having chosen a slice of current events, it translates to English with an API call then displays both versions on the display: original Italian up top, translated English below.
Consisting of little more than a Raspberry Pi Pico W, an E-paper display, and a 3D-printed stand, it’s a great use of spare parts.
E-paper is ideal for a semi-passive project like this because once data is written to the display, there it remains without needing power or upkeep of any kind. Perfect for a device that only wakes up every few hours for an update before going right back to sleep.

Due to the limited RAM of the Raspberry Pi Pico [Bob] has to be purposeful about fetching data, so he relies on text from a simple RSS feed to avoid running out of memory while making web requests. The other minor quibble is that the driver for the display only handles plain ASCII; characters that cannot be rendered are displayed as grey boxes, which you can see in the image up top. Still, it gets the job done.

Increasing exposure to a language one is learning is beneficial, and people like to experiment. From trying to optimize human wait times by inserting language micro-lessons to a calculator that works in Toki Pona, technology offers new ways for folks to experiment with how we learn and play with language.


hackaday.com/2026/06/01/biling…


On the Wisdom of Replacing a NiMH Module in a Prius Battery Pack


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


Old versus new Prius NiMH module. (Credit: HubNut, YouTube)Old versus new Prius NiMH module. (Credit: HubNut, YouTube)
It’s possible to get a pretty good deal on used Toyota Prius cars, but as with all hybrid cars that also means a used battery pack and resulting issues. In the case of the Gen 2 Prius that [HubNut] recently acquired it was clear that its battery was effectively toast, with the engine running constantly and the car often giving up due to detected issues with the pack. After getting to an EV-focused garage for repairs, a spare NiMH module was used to replace a problematic module to bring it back to good health, while raising the question of how sensible such a repair is.

Certainly, compared to the average BEV where a much larger battery is generally integrated well into the frame, a Prius makes things very easy, with the compact battery readily accessible and removable from the trunk. It is also a very modular battery, with some elbow grease and bolt-twisting enough to disassemble it.

Even with that it still a high-voltage battery with all the associated risks, and as raised in the comments there’s a big question about putting a new(er) cell into a pack with more worn-out NiMH cells as generally the cells wear out fairly evenly. While this fix can give the pack some more life, the new cell won’t match the internal resistance and other parameters of the pack, leading to issues like voltage drift. Then there’s the issue that if one cell failed, others probably aren’t far behind, so this hack would soon become a regular ritual.

Much like swapping one bad 18650 Li-ion cell in a bigger battery, it’s probably a more sustainable solution to simply replace the entire battery at once, or at least replace all modules or cells to properly refurbish it. For [HubNut] this fix suffices because he suspects that this pack was already assembled from random modules, it’s an important consideration to make if you don’t enjoy ending up stranded during a trip.

youtube.com/embed/DwCEF9xXE00?…


hackaday.com/2026/06/01/on-the…


Know Your Food: Cheesemaking


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

There’s a thing that people who grew up on farms all share: a connection with food production that isn’t some mystical rose-tinted woo from a TV chef, but instead a practical general knowledge from being there on the ground. A glance at a crop in a field and you immediately recognise what it is, if it’s ploughing time you’ll know the soil type, and there’s always either too little, or too much rain. For a given foodstuff you’ll know far too much about where it came from, because if your dad wasn’t involved in its production, the chances are someone he knew was. You take this for granted, after all doesn’t everyone have this general knowledge? Seemingly not.

Hackaday is not a cooking channel, but I know we’re all interested here in how things are made. Shouldn’t that also extend to what we eat? It’s fashionable to follow a back-to-nature line that all commercial foodstuffs are somehow over-processed junk, but without the requisite knowledge you’re flying blind there. To know both how common foodstuffs should be made, as well as how they are made industrially, should be an essential for everyone.

Mm-Mm-Mmmm, Coagulated Milk!


So without further ado, it’s time to dive straight in with cheese, or to be more specific, hard cheese. In simple terms the flavoursome snack is matured fermented coagulated preserved milk, which sounds a lot less appetizing than what the cheese marketing people will tell you, but that’s the hacker’s truth.
A group of black cows facing the camera, on a green field with a blue-grey cloudy sky.This is where it all starts. AnnWoolliams, CC BY-SA 4.0.
The milk comes from lactating farm animals, in most cases cows, but as an example in my local supermarket I can buy sheep and goat cheeses too. A dairy herd is also a breeding herd, and after the calves are weaned the cow continues to be milked until the next time she’s brought into calf.

Pulling no punches here, in most commercial settings the calves are removed from their mothers very young and brought up on a kind of cow infant formula, which is without doubt rather cruel. I grew up with a small suckler herd in which the aim is to breed high quality breeding cattle, so ours were fortunate enough to stay with their mothers until they were naturally weaned.

The milk will be collected and refrigerated, and in most cases will be pasteurised, heat treated to kill bacteria. Some people will tell you this removes all the goodness from the milk which is a questionable assertion, given that what it really does is make the stuff easier to transport without going off, and stop people dying from milk-borne infection. In a cheese context some cheeses rely on un-pasteurised milk for their flavour or authenticity, but as I’ll explain later, in most cases this doesn’t make them a health hazard.

Gambling at the Bacteria Races


Cheesemaking is a fermentation process, and as with others, the point is to control the fermentation such that its by-products kill off the harmful bacteria and preserve the food before they can spoil it. In the case of beer or wine the alcohol from anaerobic yeast metabolism does this job, but in the case of cheese it’s lactic acid from a class of bacteria that produce it given the right conditions.

This is why un-pasteruised milk can be used without too much worry, as those undesirable bugs should be removed by the lactic acid. You need lactic acid bacteria to be present which could be a hit-and-miss affair growing them in the milk naturally, but here in 2026 you add them as a pre-prepared culture. The make-up of this culture would originally be derived from the terroir of the cheesemaking region, for example the bacteria where Emmental cheese originated produces gas which gives that cheese its characteristic bubbles. It’s here you see the origins of the different types of cheese, as alongside the different bacteria are local variations in technique which lend the final product its unique qualities.
Black and white photo, two cheesemakers bending over a vat of curd, filling cylindrical cheese moulds.1950s Australian cheesemakers filling cheese moulds with curd. Queensland State Archives, Public Domain.
The milk is heated to speed up the fermentation, the idea being that a warm temperature favours the lactic acid bacteria over the undesirable bugs that might spoil it. Once the lactic acid fermentation is mostly done, the mixture is turned into curds and whey by the addition of rennet. This is an enzyme that coagulates the milk solids, the fat and proteins, leaving a thin liquid, whey, as the leftover.

Rennet is another of those things that can involve some cruelty, as traditionally it would have been produced from the stomachs of young calves slaughtered for the veal industry. Sorry veal farmers — I have never knowingly eaten veal. Fortunately it’s now much more likely to be made commercially from an engineered fungal or bacterial culture, which is why you will see most cheeses labelled as vegetarian.

The cheese is now a big tank full of curd, swimming in whey. The whey is strained off and the curd is broken up. releasing more whey. There is then a process of stirring the curd to release as much whey as possible, which yet again has an effect on the final cheese and is part of those different varieties, and eventually you have a pile of relatively dry fermented curds.

If you were Canadian you’d run off with some of it and make poutine, but sadly for me as a Brit we didn’t invent that marvelous street food, so we’d add salt before pressing it into moulds to make a basic cheese shape and extract the last drops of whey. We’d then wrap it in muslin and place it in a cool dark place to mature for several months. What you’d extract at the end would be covered in mould, but the cheese once you’d peeled off the muslin would (most of the time) be amazing!

Blessèd Are The Cheesemakers


So there you have it, that in a few paragraphs is how you make a farmhouse cheese. For us it was on a small kitchen-table scale for our own consumption, but it would be substantially the same for any small-to-medium farmhouse operation. Even the large-scale factory cheese operations do the same thing, with the key difference being that they require the process to be efficient and optimised, but above all consistent.

Remember I said that our cheese would be most of the time amazing? Cheese can go wrong, it can get infected with a bad bacteria, it can ferment differently, and it can taste, well, not so good. We could afford to lose a few cheeses, but a multi-million-dollar company can’t. So their process is controlled to the n’th degree, and out slightly hit-and-miss steps are eliminated. The hygiene, temperature, humidity, and every other possible variable are controlled exactly, to ensure that every cheese they make has the same flavour and texture, and time from milk to finished cheese is the same every time.
A slice of cheese on a cheese board, with a piece crumbled off.This is Wensleydale, a crumbly white acidic cheese from Yorkshire, UK. It’s one of my favourites. Jon Sullivan, Public Domain.
If I were asked, I would say that a commercial cheese from my supermarket is entirely as good a product as the most artisanal of farmhouse cheeses, and I think in terms of nutrition and quality, I would be right. Of course the farmhouse cheese would almost certainly taste a lot better because its production schedule is optimised for those qualities in a premium product rather than for low price, but I think it’s an important thing to say in order to head off those who’ll tell you that the cheaper stuff is not so good for you.

There certainly are cheeses that come closer to that, for example “pizza cheese analogue” which is a synthetic product, or plastic wrapped slices for which the name “Processed cheese” should be a clue, but in general if it’s “proper” cheese it’ll be real enough.

I hope now you know more about cheese from a hacker perspective rather than a culinary one than you did before you started. I’ve shared what I know about the agriculture behind it with an unflinching approach because I feel consumers should know what’s behind what they eat. Above all then, buy decent cheese, and enjoy it.


Featured Image: US Department of Agriculture, Public Domain


hackaday.com/2026/06/01/know-y…


Like a Wire Bender, But For Pop Tubes


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

Are you familiar with pop tubes? Resembling the corrugated section of a bendy straw, they are at the core of PopTuber, an intriguing research project from the Actuated Experience Lab at the University of Chicago.
With five motors and specialized gears a pop tube can be formed into complex, arbitrary shapes, and just as easily reset.
PopTuber shows how five motors and some specialized gears are all it takes to bend pop tubes into complex and stable 3D shapes. One can design the shapes in software, feed a pop tube into the shaper, and watch the device do the work. Importantly, the device can just as easily reset and re-use the tube. Watch the video (embedded below the page break) to see it in action and get a feel for what it can do.

In concept, it’s a little like a wire-bending machine, although wire benders are bulkier in comparison, more complex to scale, and unbending a wire is a separate process with its own hardware.

This project explores possibilities for a machine that can crank out complex curves on demand, such as oddball user interfaces, physical prototyping, and even a strange sort of physical display. But the real forward-thinking and interesting question researchers asked is whether this idea could be a form of programmable matter. The project shows that five actuators in a relatively compact package are all that’s needed to shape (and reset) a pop tube of arbitrary length in a programmable way, and it can scale easily to different sizes.

Using pop tubes in this way reminds us of an origami-inspired method we covered for making a tube form stable, complex shapes. But it’s also different because origami- and kirigami-inspired methods bake the transformation into the material itself, whereas PopTuber can create arbitrary shapes on demand.

youtube.com/embed/i7DatoXwSVQ?…


hackaday.com/2026/06/01/like-a…


Revisiting Making Your Own Internet Router in 2026


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

After my recent misadventures setting up an OpenWrt installation on a scruffy e-waste-level x86 PC, quite a few people chimed in with feedback, criticism and friendly hostility regarding things like a presumed ‘x86 bias’. There were also some system-related things that simply didn’t seem to want to work, such as booting from an SD card with a USB adapter, which cut short a lot of the actual OpenWrt testing that I had intended. This made it mostly an enlightening look at what issues you can run into when ‘quickly’ throwing an OpenWrt router together with some junk parts these days.

In this second article I’ll try to address as many of these points as possible, as well as attempt to show off an actual working OpenWrt installation in action. In addition, since just using random junk x86 PC parts was the way to go back in the late 90s/early 2000s doesn’t mean that this is still the way in 2026, so I’ll be taking a look at alternatives that exist today. This includes everything from mini PCs, to ancient business PCs being sold for peanuts, as well as more dedicated (ARM-based) hardware solutions.

The Hardware Landscape

Typical NE2000-compatible 10 Mbit Ethernet card you'd find aplenty in 90s junk bins. (Credit: Sönke Kraft, Wikimedia)Typical NE2000-compatible 10 Mbit Ethernet card you’d find aplenty in 90s junk bins. (Credit: Sönke Kraft, Wikimedia)
One of the aspects that I somewhat overlooked whilst scrounging through my junk bin was just how much faster internet connections have become compared to the early 2000s. My cable internet connection of the time was hooked up to a DOCSIS 1.x-based modem, with 40 Mbit/s as the theoretical maximum downstream capacity.

For this a 100 Mbps PCI or ISA NIC was plenty. Back then I was using NE2000-compatible 10 Mbit ISA cards and enjoying the ISA ‘Plug-and-Pray’ life to my utter dismay while configuring IRQs and other relevant settings. At least this taught me about legacy connectors like those for coax-based thick- and thinnet as well as AUI, I guess.

But fast-forward to today, and my current fiber internet connection could do at least 1 Gbps if I wasn’t a cheapskate with only a 300 Mbps downstream plan.

Thus 1 Gbit NICs are pretty much the absolute minimum you’d want to have on your DIY router, unless you’re somehow stuck in a digital wasteland where the very concept of such internet bandwidth numbers just makes you shake a powerless fist at the uncaring skies and lack of even high-ish bandwidth 5G LTE options or similar.

Of course, coupled with this you also want hardware that is capable of dealing with the requirements of such NICs and associated bandwidth. It’s one thing to provide basic routing, but consider the hardware requirements should you end up maxing out both up- and download limits for extended periods of time due to torrenting all those Linux ISOs.

When it comes to the rest of the hardware, you can still grab whatever junk PC, cheap Celeron-based mini PC, or e-waste/refurbished thin client you come across, as long as it can support at least two 1 Gbit network links. When we then finally drop our x86 bias and look on the ARM side of the fence things get a lot less easy, though.

RISCing ARM


Although some ARM-based SBCs do have 1 Gbit Ethernet NICs, like the AllWinner A20 based LeMaker Banana Pro that I have serving various networking tasks – including NAS duty via its SATA connector and the bandwidth-heavy task of a ZNC IRC bouncer – adding a second Gbit-level networking interface is impossible with just USB 2.0 ports. This is a pattern that repeats with other single-board computers (SBCs), including the gaggle of Raspberry Pis and clones of which I have plenty kicking around.

Until you hit the Raspberry Pi 4 with its USB 3.0 ports and PCIe-connected Ethernet controller, the best you could get out of these boards was ~300 Mbps over the USB 2.0 ports. The good news here is that OpenWrt’s support for all RPi SBCs is pretty substantial. As long as you can squirrel away that grafted-on second Ethernet port from a USB dongle or similar somewhere, it just might be a decent enough router for a Gbit-level internet connection.
The OpenWrt One PCB. (Credit: OpenWrt)The OpenWrt One PCB. (Credit: OpenWrt)
Beyond these options you also have various dedicated router boards, with the OpenWrt One and Banana Pi BPI-R4 being two viable options here. Expect to shell out at least $100 just for the bare board, sometimes even before adding an enclosure and other essentials. Here you’re basically buying a typical off-the-shelf router and doing the final assembly yourself.

The final result would be fairly similar to the OpenWrt-based Xiaomi router that I’m currently using. This fancily named Mi AIoT Router AX3600 is like many Xiaomi routers and other networking devices officially supported by OpenWrt. These thus make for another viable target to reflash with a clean OpenWrt image and no OEM customizations if that’s the one thing that irks you about these commercial offerings.

Clearly there are a lot of options here, hardware-wise, even if on the ARM side of things you’re probably just better off buying that existing OpenWrt-supported router as the most economical option, unless you happen to have a Raspberry Pi 4 SBC or equivalent gathering dust.

Booting Troubles


One issue that I ran into was the inability to boot from a properly prepared SD card, even after trying it in a variety of USB-SD card adapters. Here the assumption made by me was that to the BIOS this made zero difference compared to a USB stick with built-in Flash, but clearly this was wrong, especially when a USB stick did show up in the list of bootable devices. Of course, this doesn’t make any sense since either is just a USB Mass Storage Device and some sanity-related search engine consultation later I managed to confirm that I was correct.

Since I needed a different mainboard anyway for at least Gbit link speeds I opted to drag another system from the surely-that’s-e-waste pile, featuring a rather nice Intel D2500CC mainboard with onboard dual Gbit Ethernet and miniPCIe expansion option that I could slot quad 1 Gbit Ethernet Intel I350 modules into which I have also hoarded salvaged.

After taking the same SD card that failed to work before and slotting it into this 2012-era system, it booted into OpenWrt, terrible graphics courtesy of the VGA-to-HDMI adapter and stray reflections included:

After this momentous step I proceeded to triumphantly check for a network connection on the connected laptop, but saw that it didn’t even see an active network connection. That’s when I noticed the inactive link and activity LEDs on both of the D2500CC mainboard’s Ethernet jacks, which was rather worrisome.

I did have a poke at ifconfig to confirm that it had detected both onboard NICs and created connections for them, with indeed both an eth0 and eth1 interface created in addition to the loopback. Slightly baffled I did try to prod DHCP just in case, but at this point the console began to corrupt itself:

Although I’m pretty sure that I didn’t miss any steps, something is still clearly amiss. Whether it’s a hardware issue with the mainboard, some BIOS configuration glitch, an issue with the OpenWrt image, USB being USB or a quaint planetary alignment, I obviously wouldn’t be able to log into the graphical administration interface any time soon at this rate.

This mostly leaves me with more debugging to do, as well as the increasingly dismayed feeling that some things really were easier in the past.

Next Steps


Although I haven’t given up yet on reviving an old PC as a router, it’s clear that dealing with ISA PnP configuration nonsense from yesteryear doesn’t hold a candle to the fascinating troubleshooting you get to do these days. That said, assuming that this or the other D2500CC board that I have is functional, they should be pretty nice for router purposes as they both have 8 GB of DDR3 installed and the aforementioned plethora of expansion options.

This should allow for OPNSense to be quite happy as well, which is a more regular PC-focused router distribution anyway, should OpenWrt not work out somehow. The first priority here is of course to ensure that the hardware that you’re using is fully functional before you get too far into the weeds. In the case of the previous Intel mainboard, for example, I later found that Memtest86+ would immediately crash on start — probably a bad sign.

As usual I’m looking forward to all the feedback and comments as I’m gradually digging through my pile of junk parts. Hopefully the next article will feature some actual benchmarking and working systems, as fun as writing about things-that-don’t-work is.


hackaday.com/2026/06/01/revisi…


Digital Politics at 100: What I got wrong


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

Digital Politics at 100: What I got wrong
IT'S MONDAY, AND THIS IS DIGITAL POLITICS. I'm Mark Scott, and will be speaking at an online event about social media data access and attacks on independent research, organized by Columbia World Projects, the Centre for Digital Governance at the Hertie School and Tech Policy Press. It's at 16:00 CET / 10:00 ET on June 18. You can register here.

This week's edition marks Digital Politics' 100th newsletter. That's just under 260,000 words over 22 months on everything from Europe's stuttering digital rulebook to the United States' quixotic take on tech to the rise of the Middle Powers movement.

Not everything I've written stood the test of time. So I went back over the last two years to figure out what I got wrong, and why. Call it a mea culpa. Digital policymaking moves fast and the geopolitics have only grown more complex since 2024.

Thank you for reading along the way. I started this newsletter to understand what was going on around me. I find the weekly dispatches a useful way of framing my thinking. I hope you also find it useful.

Let's get started:



digitalpolitics.co/what-i-got-…