An ultrasonic transducer with two wires attached to it by alligator clips floats very slightly suspended over a glass surface.

A Different Kind Of Ultrasonic Levitation

Ultrasonic levitation is by now a familiar trick: one or more ultrasonic transducers create a standing wave, and small objects can be held in the nodes of this standing wave. With a sufficiently large array of transducers, it’s even possible to control the movement of the object. This isn’t the only form of ultrasonic levitation, however, as [Steve Mould] demonstrated with his ultrasonic air hockey table.

This less familiar form of levitation was discovered by [Bob Collins] while working on torpedo guidance systems: when he tried to place a glass lens on an ultrasonic transducer it immediately slid off. He found during further experimentation that an ultrasonic transducer would levitate over any sufficiently flat and smooth surface. It works by trapping a very thin layer of air between the transducer and the smooth surface. When the transducer moves sharply toward the surface, it compresses a layer of air in between, and forces some air out, and the reverse happens while pulling back. However, during the downstroke, the gap through which air can escape is narrower than during the upstroke, and there is more surface-induced drag, meaning that the inflow and outflow of air through a narrow gap isn’t completely equal. At a certain distance, inflow and outflow balance, and the transducer floats on a thin layer of air. Continue reading “A Different Kind Of Ultrasonic Levitation”

The Challenges Of 3D Printing Reliable Springs

Springs are great, but making them out of plastic tends to come with some downsides, for fairly obvious reasons. Creating a compliant mechanism that can be 3D printed and yet which doesn’t permanently deform or wear out after a few uses is therefore a bit of a struggle. The complaint toggle mechanism that [neotoy] designed is said to have addressed those issues, with the model available on Printables for anyone to give a shake.

The model in question is a toggle, which is the commonly seen plastic or metal device that clamps down on e.g. rope or cord and requires you to push on it to have it release said clamping force. Normally these use a metal spring inside, but this version is fully 3D printable and thus forms a practical way to test this particular compliant mechanism with a variety of materials.

The internal spring is a printed spiral spring, with the example in the video printed in PETG. You can of course also print it in other materials for different durability and springiness properties. As noted in the video, PLA makes for a very poor spring material, so you probably want to skip that one.

We covered compliant mechanisms in the past for purposes like blasters, including some that you can only see under a microscope.

Continue reading “The Challenges Of 3D Printing Reliable Springs”

2026 Green Powered Challenge: Adding Low-Power Sleep To Microcontrollers

When building a project to operate on battery power for long periods of time, having a microcontroller with a reliable and extremely low-power sleep mode is critical. When processing power isn’t needed, it should be able to wait around using almost no energy until an interrupt triggers it. Once triggered, the CPU performs its tasks and then puts itself right back to sleep, making sure the battery lasts as long as possible. Unfortunately, not every microcontroller has sleep capabilities or has an acceptably low level of power use for maximizing battery life. For these systems, a tool like this power manager might come in handy.

Continue reading “2026 Green Powered Challenge: Adding Low-Power Sleep To Microcontrollers”

Register Renaming

[Shreeyash] asks an interesting question: how many registers does your CPU have? The answer is probably more than you think. The reason? Modern CPUs — at least many of them — execute instructions out of sequence so they can perform multiple instructions per clock cycle. To do this, they may need to execute instructions that change registers that other instructions are still reading. In addition, you might be writing a result speculatively — a branch might make it where your result won’t wind up in the target register. The answer to both of these problems is register renaming.

The ARM CPU he looks at has many physical registers you can’t see. These get mapped to the registers you use on the fly. So when you read a register in software, you are really getting an underlying physical register. Which one? Depends on when you read it.

Continue reading “Register Renaming”

Trying Pair Programming With An LLM Chatbot

When it comes to software developers, there are a few distinct types. For example, the extroverted, chatty type, who is always going out there to share the latest and newest libraries and projects with everyone, and is very much into bouncing ideas off others, regardless of whether they know what you’re talking about. Then there is the introverted loner, who prefers to tackle programming challenges by bouncing things around inside their own minds and going on long walks to mull things over before committing to anything significant.

This leads to interesting scenarios when it comes to management-enforced ‘optimization’ strategies, like Pair Programming. This approach involves two developers sharing the same computer and keyboard, theoretically doubling the effective output by some kind of metric, but realistically often leading to at least one side feeling pretty miserable and disconnected unless you put two of the chatty types together.

As a certified introverted loner developer, the idea of using an LLM chatbot as a coding assistant naturally triggers unpleasant flashbacks to hours of forced awkward pair ‘programming’. However, maybe using an LLM chatbot could be more pleasant because you can skip the whole awkward socializing bit. In order to give it a shake, I put together a little experiment to see whether LLM-based coding assistants is something that I could come to appreciate, unlike pair programming.

Continue reading “Trying Pair Programming With An LLM Chatbot”

How Pizza Tycoon Simulates Traffic On A 25 MHz CPU

Although the game Pizza Tycoon – known as Pizza Connection in Europe – probably doesn’t ring a bell for many folk, this 1994 DOS title is special enough for [cowomaly] to write an open source engine to bring it into the modern age as Pizza Legacy. Along the way, some questions popped up, such as how to animate the little cars that you see driving around in the simulated city and how the heck this was done back in the day on a 25 MHz 386 CPU.

Continue reading “How Pizza Tycoon Simulates Traffic On A 25 MHz CPU”

A Trackball 3D Controller

We use CAD packages in our 3D work, and it’s likely that many of us have become annoyed by the limitations of controlling the view of a 3D object using a 2D interface, our mouse. Joystick-like 3D controllers exist for this purpose, but [David Liu] found them inconvenient. He tried a trackball, but that didn’t improve matters. His response was to take the trackball and change the way it controlled the software, turning it from the equivalent of a ball rolling over a surface to a ball representing the object on the screen itself. He can turn and rotate the object intuitively just by moving the ball.

He started with a Kensington off-the-shelf trackball and adapted its electronics and handy twin optical sensors such that it worked in the required fashion. There was a lot of iterating and tuning to get the control feeling right, but he’s ended up with a peripheral that replaces both mouse and 3D joystick, and leaves the other hand free for those keyboard shortcuts.

Continue reading “A Trackball 3D Controller”