Photo of the head unit , with "Hacked by greenluigi1" in the center of the UI

Hacker Liberates Hyundai Head Unit, Writes Custom Apps

[greenluigi1] bought a Hyundai Ioniq car, and then, to our astonishment, absolutely demolished the Linux-based head unit firmware. By that, we mean that he bypassed all of the firmware update authentication mechanisms, reverse-engineered the firmware updates, and created subversive update files that gave him a root shell on his own unit. Then, he reverse-engineered the app framework running the dash and created his own app. Not just for show – after hooking into the APIs available to the dash and accessible through header files, he was able to monitor car state from his app, and even lock/unlock doors. In the end, the dash got completely conquered – and he even wrote a tutorial showing how anyone can compile their own apps for the Hyundai Ionic D-Audio 2V dash.

In this series of write-ups [greenluigi1] put together for us, he walks us through the entire hacking process — and they’re a real treat to read. He covers a wide variety of things: breaking encryption of .zip files, reprogramming efused MAC addresses on USB-Ethernet dongles, locating keys for encrypted firmware files, carefully placing backdoors into a Linux system, fighting cryptic C++ compilation errors and flag combinations while cross-compiling the software for the head unit, making plugins for proprietary undocumented frameworks; and many other reverse-engineering aspects that we will encounter when domesticating consumer hardware.

This marks a hacker’s victory over yet another computer in our life that we aren’t meant to modify, and a meticulously documented victory at that — helping each one of us fight back against “unmodifiable” gadgets like these. After reading these tutorials, you’ll leave with a good few new techniques under your belt. We’ve covered head units hacks like these before, for instance, for Subaru and Nissan, and each time it was a journey to behold.

The word clock on a desk, with "tien", "over", "half" and "twaalf" lit

An Impeccably Documented Word Clock In Dutch

[Maarten Pennings] shares a word clock project – but not the regular kind. For a start, this clock is a shining demonstration of hobbyist-available 3D printing technologies, with embedded light guides for the letters printed in transparent filament, thanks to a dual-extruder printer. For a word clock, it’s surprisingly small – in fact, it uses an 8×8 addressable LED matrix, with words shown in different colors. If you’re looking to build a novel word clock, you’re all set here – [Maarten] tells all about this project’s story and provides a treasure trove of insights into designing all of its aspects!

The 8×8 limitation was initially set because he wanted to use a low-cost MAX7219 8×8 LED matrix module as a base for the clock. Thankfully, in Dutch, time can be expressed using shorter words — still, it had to be limited to 5-minute intervals. Extra effort had to be spent designing the layout — [Maarten] mentions his friend writing a solver that found a way to fit some words onto the layout diagonally. At some point, he switched from LEDs to Neopixels, and dug deep into addressable LED technology. For instance, he demonstrates Neopixel power measurements and current consumption calculations. This shows that the calculations indeed match the clock’s real consumption when measured by an external meter.

In the best of hacker traditions, all the source files are on Github — if you fancy yourself a Dutch word clock, you can build [Maarten]’s design easily! He provides extensive instructions on building this clock in the README, including a flashing and configuration tutorial, complete wiring diagrams, and a soldering guide. A manufacturing-grade amount of build information that won’t leave you guessing. He’s also added a fair number of animations, put plenty of effort into clock precision verification, and even investigated some Neopixel protocol minutiae. All in all, our hacker went all in on the capabilities while embracing the constraints. This reminds us of the similarly well-documented haptic word clock we covered just a year ago – check that one out, too!

Continue reading “An Impeccably Documented Word Clock In Dutch”

On the left side, there's a smartphone. On the right side, there's a hairdryer turned on. On the smartphone screen, you can see the working end of the hairdryer shown, as well as a jet of air coming out of that end. In the background, there's an LCD screen showing a noise pattern.

Observe Airflow Using Smartphone And Background-Oriented Schlieren

Multiple people have recently shared this exciting demonstration (nitter) with us – visualizing airflow using a smartphone, called ‘background-oriented schlieren’. On a hot summer day, you might see waves in the air – caused by air changing density as it warms up, and therefore refracting the light differently. Schlieren photography is an general set of techniques for visualizing fluid flow, but of course, it can also be applied to airflow. In this case, using some clever optical recognition tricks, this schlieren method lets you visualize flow of air using only your Android smartphone’s high resolution camera and a known-pattern printed background! Continue reading “Observe Airflow Using Smartphone And Background-Oriented Schlieren”

Insect class-order-family-genus-species chart with drawn examples

Neural Network Identifies Insects, Outperforming Humans

There are about one million known species of insects – more than for any other group of living organisms. If you need to determine which species an insect belongs to, things get complicated quick. In fact, for distinguishing between certain kinds of species, you might need a well-trained expert in that species, and experts’ time is often better spent on something else. This is where CNNs (convolutional neural networks) come in nowadays, and this paper describes a CNN doing just as well if not better than human experts.

Continue reading “Neural Network Identifies Insects, Outperforming Humans”

Showing an Ortur lasercutter control module in front of a screen. There's a serial terminal open on the screen, showing the "Ortur Laser Master 3" banner, and then a Grbl prompt.

Watch Out For Lasercutter Manufacturers Violating GPL

For companies that build equipment like CNC machines or lasercutters, it’s tempting to use open-source software in a lot of areas. After all, it’s stable, featureful, and has typically passed the test of time. But using open-source software is not always without attendant responsibilities. The GPL license requires that all third-party changes shipped to users are themselves open-sourced, with possibility for legal repercussions. But for that, someone has to step up and hold them accountable.

Here, the manufacturer under fire is Ortur. They ship laser engravers that quite obviously use the Grbl firmware, or a modified version thereof, so [Norbert] asked them for the source code. They replied that it was a “business secret”. He even wrote them a second time, and they refused. Step three, then, is making a video about it.

Unfortunately [Norbert] doesn’t have the resources to start international legal enforcement, so instead he suggests we should start talking openly about the manufacturers involved. This makes sense, since such publicity makes it way easier for a lawsuit eventually happen, and we’ve seen real consequences come to Samsung, Creality and Skype, among others.

Many of us have fought with laser cutters burdened by proprietary firmware, and while throwing the original board out is tempting, you do need to invest quite a bit more energy and money working around something that shouldn’t have been a problem. Instead, the manufacturers could do the right, and legal, thing in the first place. We should let them know that we require that of them.

Continue reading “Watch Out For Lasercutter Manufacturers Violating GPL”

Open Firmware For PinePhone LTE Modem – What’s Up With That?

In their monthly announcement, among all the cool things Pine64, they talked about the open firmware for PinePhone’s LTE modem. The firmware isn’t fully open – a few parts remain closed. And Pine emphasizes that they neither pre-install nor officially endorse this firmware, and PinePhones will keep shipping with the vendor-supplied modem firmware image instead.

That said, the new firmware is way more featureful – it has less bugs, more features, decreased power consumption, and its proprietary parts are few and far between. I’d like to note that, with a special build of this firmware, the PinePhone’s modem can run Doom – because, well, of course.

And with all that, it’s become way easier to install this firmware – there’s fwupd hooks now! You can think of fwupd as the equivalent of Windows Update for firmware, except not abusive, and aimed at Linux. A perfect fit for keeping your open-source devices as functional as they can be, in other words.

What’s the deal? If open firmware is that much cooler, why don’t more of our phones have open firmware options available? Continue reading “Open Firmware For PinePhone LTE Modem – What’s Up With That?”

photo of the CNC controller, with the PLCC socket for the CPU, surrounded by driver ICs

Old CNC Brain Swapped With An Arduino

[Sebastian] and [Stefan Shütz] had a ISEL EP1090 CNC machine at home, sitting unused, and they decided to bring it to life. With pretty good mechanical specs, this CNC looked promising – alas, it was severely constrained by its controller. The built-in CPU’s software was severely outdated, had subpar algorithms for motor driving programmed in, and communication with the CNC was limited because the proprietary ISEL communications protocol that isn’t spoken by other devices.The two brothers removed the CPU from its PLCC socket, and went on to wiring a grbl-fueled Arduino into the controller box.

The interposer PCB, with an extra 74HC245 buffer on itThey reverse-engineered the motor driver connections – those go through a 74HC245 buffer between the original CPU and the drivers. Initially, they put an Arduino inside the control box of the CNC and it fit nicely, but it turned out the Arduino’s CPU would restart every time the spindle spun up – apparently, EMC would rear its head. So, they placed the Arduino out of the box, and used two CAT7 cables to wire up the motor and endstop signals to it.

For tapping into these signals, they took the 74HC245 out of its socket, and made an interposer from two small protoboards and some pin headers – letting them connect to the STEP and DIR lines without soldering wires into the original PCB. There’s extensive documentation, GRBL settings, and more pictures in their GitHub repo, too – in case you have a similar CNC and would like to learn about upgrading its controller board!

After this remake, the CNC starts up without hassles. Now, the brothers shall CNC on! Often, making an old CNC machine work is indeed that easy, and old controller retrofits have been a staple of ours. You can indeed use an Arduino, one of the various pre-made controller boards like Gerbil or TinyG, or even a Raspberry Pi – whatever helps you bridge the divide between you and a piece of desktop machinery you ought to start tinkering with.