A PLL For Perfect Pitch

When Hackaday runs a contest, we see all manner of clever projects. But inevitably there are some we don’t see, because their builders didn’t manage to get them finished in time. [Park Frazer]’s phase-locked loop is one of them. The circuit is an all-discrete PLL that derives a 440 Hz output from a 1 Hz input, and it arrived just too late for our 1 Hz contest.

If you aren’t familiar with a phase-locked loop, in this context you can think of them as a programmable frequency multiplier. A voltage-controlled oscillator is locked to an input frequency by comparing the two with a phase detector. Multiplication can be achieved by putting a frequency divider between the oscillator and the phase detector. It’s at the same time a complex and easy to understand circuit. In this case, when broken down into a set of multivibrators, it makes sense. The charge pump phase detector is a little different from the XOR gate we were expecting, but as he explains, it’s better.

If PLLs are a mystery, have a look at this video from a [Jeri Ellsworth] and [Bil Herd].

RP2040 Assembly Language Mix And Match

[David] is building a project with an OLED, a keyboard, and an RP2040. He’s perfected a scanning routine in C to work with the keyboard, but he still had some places he wanted to use even lower-level instructions. That was as good an excuse as any to experiment with inline assembly language inside the C program.

The goal was to grab the keyboard’s input and stick it into a memory address register so the data at that address could be shown on the display. However, there was a complication because memory access of this type has to be word-aligned.

Sure, you could mask the low bits of the address, do the read, and then set an index to pick the specific byte, but assembly is easy, and it is good to know how to put it in your code, anyway.

Continue reading “RP2040 Assembly Language Mix And Match”

Hackaday Links Column Banner

Hackaday Links: August 24, 2025

“Emergency Law Enforcement Officer Hologram program activated. Please state the nature of your criminal or civil emergency.” Taking a cue from Star Trek: Voyager, the Seoul Metropolitan Police Agency is testing a holographic police officer, with surprisingly — dare we say, suspiciously? — positive results. The virtual officer makes an appearance every two minutes in the evening hours in a public park, presumably one with a history of criminal activity. The projection is accompanied by a stern warning that the area is being monitored with cameras, and that should anything untoward transpire, meat-based officers, presumably wearing something other than the dapper but impractical full-dress uniform the hologram sports, will be dispatched to deal with the issue.

Continue reading “Hackaday Links: August 24, 2025”

ESP32 bus pirate

ESP32 Sets Sail As A Modern Bus Pirate Powerhouse

Bus Pirate is nearly a household name in the hardware hacking world. The first version came out way back in 2008, and there have been several revisions since then. You can buy pre-built Bus Pirate devices, but there’s also the option now to build our own. The ESP32 Bus Pirate project has everything you need to turn an ESP32 device into a protocol sniffing/decoding powerhouse—all on a board you may have sitting around from another project.

There are a ton of solutions when it comes to talking to different buses —I2C, UART, JTAG, you name it, there’s a purpose-built device for it. Over a decade ago, Dangerous Prototypes released the Bus Pirate, offering a Swiss Army knife of a tool to interface with this ever-expanding list of communications standards. The ESP32 Bus Pirate project is open-source firmware for ESP32s that gives them the ability to be the multi-tool that lets us communicate with a long list of protocols.

It supports a wide variety of devices, from the straightforward ESP32 S3 Dev Kit available from a long list of suppliers to the more specialized M5 Cardputer equipped with its own keyboard. The original Bus Pirate required plugging the board into a PC to use it; with this being ESP32-based, that’s no longer a limitation. So long as you can supply power to the ESP32, you can connect and control it via WiFi and a web browser. In addition to the Bus Pirate protocols, the project allows us to directly control the pins on the ESP32 board, should you want to do more with it besides interfacing with one of the supported protocols. Be sure to check out some of our other articles about Bus Pirate, as it’s been a fantastic tool for the hacker community over the years.

Wire Photo Fax Teardown

Fax machines had a moment in the sun, but they are actually much older than you might expect. Before the consumer-grade fax machines arrived, there was a thriving market for “wire photos” used by, for example, news organizations and the weather service. In the United States, the WEFax from Western Electric was fairly common and shows up on the surplus market. [Thomas] has an English unit, a Muirhead K-570B, that is very clearly not a consumer-oriented machine. His unit dates back to 1983, but it reminds us of many older designs. Check out his teardown in the video below.

The phone line connection on this device is a pair of banana jacks! There are even jacks for an external meter. Inside, the device is about what you’d expect for a 1983 build. PCBs with bare tinned conductors and lots of through-hole parts.

Continue reading “Wire Photo Fax Teardown”

A golden robotic hand is shown in the main picture performing the sign for the letter "g": pointing to the left, with all fingers except for the index finger curled. In the top left of the image, a human hand is shown imitating this position.

Ambidextrous Robot Hand Speaks In Signs

As difficult as it is for a human to learn ambidexterity, it’s quite easy to program into a humanoid robot. After all, a robot doesn’t need to overcome years of muscle memory. Giving a one-handed robot ambidexterity, however, takes some more creativity. [Kelvin Gonzales Amador] managed to do this with his ambidextrous robot hand, capable of signing in either left- or right-handed American Sign Language (ASL).

The essential ingredient is a separate servo motor for each joint in the hand, which allows each joint to bend equally well backward and forward. Nothing physically marks one side as the palm or the back of the hand. To change between left and right-handedness, a servo in the wrist simply turns the hand 180 degrees, the fingers flex in the other direction, and the transformation is complete. [Kelvin] demonstrates this in the video below by having the hand sign out the full ASL alphabet in both the right and left-handed configurations.

The tradeoff of a fully direct drive is that this takes 23 servo motors in the hand itself, plus a much larger servo for the wrist joint. Twenty small servo motors articulate the fingers, and three larger servos control joints within the hand. An Arduino Mega controls the hand with the aid of two PCA9685 PWM drivers. The physical hand itself is made out of 3D-printed PLA and nylon, painted gold for a more striking appearance.

This isn’t the first language-signing robot hand we’ve seen, though it does forgo the second hand. To make this perhaps one of the least efficient machine-to-machine communication protocols, you could also equip it with a sign language translation glove.

Pong Cloned By Neural Network

Although not the first video game ever produced, Pong was the first to achieve commercial success and has had a tremendous influence on our culture as a whole. In Pong’s time, its popularity ushered in the arcade era that would last for more than two decades. Today, it retains a similar popularity partially for approachability: gameplay is relatively simple, has hardwired logic, and provides insights about the state of computer science at the time. For these reasons, [Nick Bild] has decided to recreate this arcade classic, but not in a traditional way. He’s trained a neural network to become the game instead.

Continue reading “Pong Cloned By Neural Network”