A digital map is shown with a series of red waypoints making a roughly C-shaped curve. A smaller group of green waypoints stays stationary near one of the corners of the map.

Defeating Satellite Spoofing With Galileo’s Encryption

Considering how important it is for everything from navigation to keeping clocks in sync, satellite navigation systems are surprisingly vulnerable to a variety of attacks, ranging from simple jamming to more sophisticated spoofing attacks. This may be changing, though, as Galileo, Europe’s GNSS, recently demonstrated its first cryptographically-secured position fix under spoofing conditions.

Most GNSS systems, including GPS, have no verification measures to keep an adversary from transmitting a false signal at a higher power and hijacking a receiver; since GNSS signals are extremely weak by the time they reach the ground, this presents no great difficulty to a moderately well-equipped attacker.

Galileo’s Signal Authentication System (SAS) aims to fix this. The Galileo ground station pre-selects signal spreading codes, which it then encrypts with a regularly-changing secret key and publishes. A receiver which anticipates needing a verified signal can then download these encrypted codes ahead of time and store them. Galileo satellites then transmit on the E6-C pilot signal, and the receiver records the signal. After transmitting a message block, it then transmits the decryption key on a separate signal, which the receiver uses to recover the spreading codes. The receiver then correlates these spreading codes with the recorded signal to find the satellite’s pseudorange.

It’s a rather complicated system, but it works: earlier this month in Andøya, Norway, the annual Jammertest GNSS testing event took place. For one week, a wide range of organizations tested the resilience of their GNSS systems against various attacks, including jamming, delayed retransmission, and spoofing. Using five Galileo satellites, the European Space Agency was able to obtain a stable lock on their receiver even during spoofing.

In principle, this method could be extended to other GNSS systems. There’s certainly motivation to do so; very large-scale attacks have been demonstrated recently.

Ways To Empirically Identify A Magnet’s Polarity

Every magnet has a north and a south pole, but which is which? Sometimes it matters. If a product one builds features a magnetic closure or other part, the polarity of those magnets should be consistent in assembly. So how does one ensure they never glue a magnet wrong again? [Clough42] shows several ways to identify a magnet’s north and south poles using things many of us probably have ready at hand, and goes into a bit of theory while he’s at it.

Probably the easiest way is to use a known-good and clearly labeled reference magnet. Same poles repel, and opposites attract. But if that’s not available, a simple magnetic compass can help. Because opposite poles attract, a compass’s north point will be attracted toward a magnet’s south pole, and vice versa.

A Hall effect sensor, or an electromagnet — the winding and current flow determine the polarity — are other ways to measure a magnet’s poles. And here’s where [Clough42] dives into some details of how magnetic fields actually act, because it explains some seemingly strange behavior.

For example, at around 4:08 he demonstrates a Hall effect sensor board that is documented as lighting an LED when the south pole of a magnet is held to its front. It does that, but it also lights the LED when the north end of the magnet is held to the sensor’s back. That’s because the sensor isn’t actually directly sensing the magnet’s pole, it’s sensing the orientation of a magnetic field. The lesson is clear: make sure you’re measuring what you think you’re measuring. Near the end of the video he demonstrates a similar experience with a handy mobile phone app that senses magnetic fields by reading the device’s internal magnetic compass; by waving a strong magnet around, the detected polarity flips back and forth even though the magnet’s orientation isn’t changed.

So what does one do after positively identifying a magnet’s north and south poles? Label it clearly for use as a known-good reference magnet in the future is our suggestion. Watch the whole video below, then take a few minutes to dive into the nitty-gritty of what magnets actually are and how they work.

Continue reading “Ways To Empirically Identify A Magnet’s Polarity” →

Enormous Fluid Simulation On Flip Dots Is Also Enormous Amount Of Work

Flip dot displays are cool, and more people realize that after [mitxela]’s fluid simulation on flip dots installation was on display at EMF 2026. As glorious as the result is, it was also an amazing amount of work!

Not only did [mitxela] need to source a large number of flip dots, he also needed to find a solution for driving them that didn’t end up more trouble than it was worth. Just about everything about the surplus flip dots — from electrical requirements to mounting — was a pain to work with in one way or another. Even his optimized method of integrating a custom backpack-style driver board into the existing PCB involved a staggering amount of soldering. This project was a long time coming, and the work never really let up.

The payoff, however, is exquisite. Check it out in the video (embedded below) which really shows it off. Flip dots are like nothing else, and the subtle rippling of sound that accompanies their physical movement is oddly soothing.

The installation at EMF 2026 had a GRAVITY CONTROL joystick that allowed folks to interactively shift the display, but [mitxela] also has an accelerometer mounted so that the display physically reacts to being moved. It’s a fantastic spectacle, even more impressive in light of the work it involved.

Unsure how, exactly, flip dots work? We’ve covered all the details about how these devices function. And while a large number would be prohibitively expensive for most projects, if your project can get away with only one dot you’re probably in luck.

Continue reading “Enormous Fluid Simulation On Flip Dots Is Also Enormous Amount Of Work” →

Reverse Engineering Apple’s Mikey Chip

On the old iPods, generally referred to here in the future as iPod Classic, there lives a tiny, undocumented chip called Mikey. It sits at the headphone output and performs only two functions: powering the Apple wired headset microphone and handling button presses from the three buttons. Despite these headphones and iPods having existed for nearly two decades, no one in the open source community has figured out the protocol Apple used for these buttons until now.

As [Hemant] discovered after finding a single archived blog post from 16 years ago about it, the chip is relatively simple by modern standards. Besides handling microphone bias, it sits on an I2C bus and monitors presses from the three buttons on the headset. Each button has its own resistive load, so a press from any of them drops the voltage on the line to a certain amount which the chip can read. The more involved part is a “chirp” that’s a sort of handshake between headset and iPod, which took a bit of work with a debugger that [Hemant] built into a custom Rockbox firmware.

With the chirp sorted out, [Hemant] built the feature into an existing version of Rockbox, and submitted the update to the Rockbox team for integration in future official builds. It’s a long overdue feature for those still using wired headphones and iPods from the turn of the century, but welcome. Some of those iPods are still working to this day, but only conditionally if they’re very cold.

When The Debugger Lies With Stale Cache Values

In a recent blog post by [Daniel Mangum] he goes over a scenario observed while debugging the Cortex-M33-based nRF54LM20, reading and writing values while running through a few scenarios. After initially it seemed to go seemingly without any issues, suddenly the GDB debugger would happily return values that suggested that a previous operation had not succeeded. Or, as the case turned out to be, stale cached values were being returned.

What follows is a very technical and low-level breakdown of how this MCU functions inside, especially its cryptographic features and Key Management Unit, which is used for storing sensitive information. The most amusing part is probably you can bypass the cached data by explicitly specifying the access port and memory address along with other parameters.

This ReadMemAP command supported by the JLinkGDBServer used here showed the right value, whereas the normal GDB read command using x kept returning the cached values. This raised the question of which cache was doing this. The direct read from the AHB-AP access port worked fine, so the suspicion is that the J-Link software’s own caching, with a run without the J-Link caching indeed working fine.

J-Link has had some hardware-related issues too, with this new issue pointing to an awkward software bug that could be table-flip-and-rage-quit worthy depending on how much time it wastes during a debug session. Fortunately [Daniel] seems to have caught this one quickly and had an easy way to bypass it, but we aren’t all that lucky.

 

Basically, Galvanizing Metal Without Acid

As useful as steel and iron are to the modern world, their tendency to rust is a major downside. There’s a spectrum of ways to prevent it, from quickly slapping on a coat of paint to alloying, chromizing, or physical vapor deposition. For a middle ground accessible to the home shop, galvanizing is a go-to method of rust prevention that deposits a layer of zinc onto the metal instead, but even this generally involves the use of strong acids. This method makes galvanizing accessible without any acids. (Spoiler alert: substitute strong bases.)

Although the acids are omitted, the solution is caustic, so similar safety measures are still advised. The first step in the process is to dissolve sodium hydroxide into a container of distilled water. Metallic zinc can then be dissolved in the solution, with a bit of sugar and liquid soap to improve the finished quality of the coating. An electric current is applied to the solution, using a graphite plate at the anode and the part to be electroplated as the cathode. After some time, the part will be uniformly coated in a layer of zinc, which can then be brightened in a solution of only-mildly-acidic citric acid if needed.

One of the benefits of using a strong base to galvanize a metal part, beyond the preference of avoiding strong acids, is that this process can be better at plating parts that are non-uniform in shape, so things with deep crevices or other odd shapes that might coat unevenly in acid. If there’s a preference for electroplating with acid, there are some ways of producing one’s own using various methods.

Continue reading “Basically, Galvanizing Metal Without Acid” →

A Modular Macro Keypad

The introduction of the ATmega32U4 microcontroller, with its integrated USB controller, made a lot of hardware tasks much simpler than they were before. One of the arenas it revolutionized was custom keyboards, making it much easier to build not only standard mechanical keyboards, but keyboards of all kinds of shapes and layouts and custom macro keyboards as well. This trend has continued on for the better part of the past decade with other microcontrollers beyond the 32U4 now available as well, but this modular macro keypad takes it to a new level by keeping that simplicity but also keeping costs down.

The suutari20, as it is called by its creator [Squalius] is able to achieve these aims by using 3.5 mm jacks commonly found in audio equipment. Each jack can support up to three keys, with the hub ultimately able to support 18 different keys. Those can include analog devices as well, such as volume knobs or jog controllers. The macro pad is powered by an RP2040 microcontroller from a Raspberry Pi Pico and uses QMK firmware, so those already familiar with custom keyboard programming will have no problem getting started.

From there, all that’s needed is a case, in this example a 3D printed one, and the commodity audio hardware to plug everything in to. It enables whatever functions can be thought of in a macro pad, and although the design focuses on simplicity and cost, this macro pad takes the concept to the extreme with modular keys that each have their own microcontroller built-in.

Continue reading “A Modular Macro Keypad” →