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” →

A grid of screenshots of various applications on the CYD PDA

Cheap Yellow Display Dreams Of PDA

Everybody loves the Cheap Yellow Display (CYD) ESP32 dev boards, so why not treat yours to a little PDA? That’s right: turn it into a Portable Digital Assistant and relive the glory days of Palm with this project from [sau412].

For those readers who are too young to remember, a PDA was basically a phoneless and cameraless smart-phone, and devices running Palm Corporation’s Palm OS ruled the roost for most of the 90s and early 2000s. [sau412] hasn’t written an emulator or port of Palm OS; rather he’s created his own firmware for the ESP32-based CYD that is inspired by the PDAs of yore, and has many features you’d have expected back in the day. That includes a Gopher browser, to let you check out the undying alternative to the World Wide Web. There isn’t a general-purpose web browser, but there are RSS and Wikipedia readers, and what else do you need? At least you won’t end up doomscrolling.

There are also a passel of games and a BASIC interpreter, and the usual practical things like a calendar, calculator and contact list. Everything from ebook readers to translators, all of it by [sau421]. If you’ve got a CYD kicking around, you could do worse than give it a little PDA. Using the web-based flasher, we had it up and running in five minutes or so, but without an SD card we couldn’t test all the apps.

This is hardly the first ESP32 PDA  that we’ve featured, but leaning into the CYD means it’s the simplest project to replicate.  If you’re jonesing for the original Palm OS experience on more modern hardware, Pumpkin OS can get you going on x86 or ARM.