A Bike-Friendly, DIY Action Cam Stereo Microphone

[DJJules] had two problems. Being an avid biker, recording audio on a bike-mounted action camera was less than ideal due to wind. In addition, the built-in microphone on action cameras is also just not as good as a dedicated stereo microphone setup. His solution: The Bike Mike.

The furry ends contain one mic each, mounted with foam.

The Bike Mike solves both problems at once by providing a windproof stereo microphone for [DJJules]’s bike-mounted action camera. It consists of a 3D printed frame and mount for two electret microphones. The mics each get a foam cover, and are surrounded by a cage upon which furry mic covers are applied.

The microphones are wired up to a 3.5 mm audio connector, which is a pretty straightforward soldering job. To make it compatible with the action camera, [DJJules] uses a super slim USB microphone adapter that accepts the 3.5 mm connector on one end, and provides a USB-C plug on the other. One can insert that directly into the camera and have it recognized as an external mic.

If this looks a bit familiar, it’s similar to his earlier design for a DIY external stereo mic for things like DSLR cameras. This one’s adapted for action cameras, integrating a USB adapter for a wider compatibility.

Embedded is a build video followed by sample footage, so give it a watch and listen for yourself.

Continue reading “A Bike-Friendly, DIY Action Cam Stereo Microphone” →

DIY Rooftop Tent Sets Up In A Jiffy

[CraftAndu] shares his DIY car rooftop tent design that looks like a pretty accessible build. It allowed him to test drive the concept to his satisfaction while spending a fraction of what a commercial unit would cost.

The rooftop tent consists of a folding platform of sturdy plywood bolted to the roof rack. The tent is attached, with the support rods cleverly anchored to the hinges so folding the platform stows the tent and mattress, and unfolding deploys it. Doing this in a way that also leaves suitable clearance between the sections when folded requires a special hinge design, but it’s mechanically straightforward. According to [CraftAndu], it’s also plenty strong and he never had any worries about stability. The final touch is a rain cover made from durable waterproof fabric that buckles around the whole thing.

There are a few nifty design elements we particularly like. The integrated aluminum ladder is a nice touch, as is the little folding table on the inside of the ladder. Also, since the platform folds out to the side, one can have a small roof overhead while sitting below. Hanging a tarp around the perimeter also creates a what he jokingly refers to as “the livingroom”.

[CraftAndu] also shares his thoughts after using it for a two-week trip. Chief among them is that while it worked very well and shows no signs of wear, it’s still just a tent. It’s a bit cramped, cold, and like any tent it needs to be dried out in the morning due to condensation even if there’s no rain. On the plus side, it’s ridiculously convenient and easy to set up. Check it out in the video, embedded just below.

If you want to see some other DIY vehicle-camper projects, don’t miss this DIY pop-up truck camper, the Toyota Corolla that sleeps two, and for a little something different here’s a van converted to off-grid camper-slash-remote office.

Continue reading “DIY Rooftop Tent Sets Up In A Jiffy” →

MousePods Reverse Engineers Head Tracking Data From Stubborn AirPods

[Matteo Gaudioso] released MousePods, a Python tool which accesses the motion sensors in Apple AirPods on Linux, turning them into mouse input. No Apple host required. Doing this required reverse-engineering how the devices work and communicate, because it turns out the AirPods 3 do things differently than other models.

Everything runs in a single Linux app, no Apple host involved.

Head tracking with AirPods has been around for years. Apple uses the motion data for spatial audio and gesture detection, and there are a number of open source tools to access that data. But there was always a blind spot: no one could figure out how to talk to the AirPods 3.

[Matteo] enlisted the help of Claude Code in digging out what was different, and found Claude pretty useful for running hundreds of probes and tests to the AirPods to eventually tease out what was going on, among other things. The findings are nicely summarized here. One interesting one is how the sensor data was indirectly hidden by the fact that on Linux the default MTU (Maximum Transmission Unit) is too small to hold the whole payload complete with motion sensors. Once the Linux MTU is increased to match the considerably larger iOS default, everything appears.

There’s one other feature we like: the ability to send the data to opentrack to use as head tracking input to things like flying or racing simulators. We’ve seen this done with flight sims using headphones for head tracking, which is a great way to use sensor data that already exists without impacting the audio functionality.

Some features are still experimental, but MousePods is confirmed to work with the Apple AirPods 3 and AirPods Pro 2. Check out the MousePods website for a bit more info if you’d like to give it a try.

The Goat Emoji Is 100% Valid Machine Code, And It Doesn’t Stop There

Did you know emojis can be executables? Well, they are if you treat them like Intel 8088 or 8086 machine code, anyway. [GloriousCow] shared this clever revelation, demonstrating that executable programs could be created entirely from emojis. To really appreciate why, it’s necessary to take a small step back.

It all started when [GloriousCow] happened to notice, entirely by chance, that ๐Ÿ (the goat emoji) was F0 9F 90 90. Anyone familiar with x86 assembly language probably recognizes 90h as nop,ย  or null operation, or “spend a cycle doing nothing”. What about F0 and 9F? Together they are lock lahf (assert the bus lock signal then copy some status flags into register AH) which, on an 8088 and 8086, essentially does nothing.

This means the goat emoji (F0 9F 90 90) is 100% technically valid machine code. It doesn’t do anything, but here’s where it gets even more interesting.

A short string of emojis is machine code that writes HELLO (lower right) by writing directly to video memory.

There are loads of emojis, and manyย of them start with F0 9F followed by two more bytes, and many of those other two-byte combinations are surely also valid machine code. Could one create a meaningful executable program consisting entirely of emojis? The answer is yes, and [GloriousCow] crafted a simple Hello World program to demonstrate.

The simple program looks like this: ๐Ÿธโ˜บ๏ธ๐Ÿฐ๐ŸŽโ™๐Ÿ—ƒ๏ธ๐Ÿงฏ๐Ÿงฏ๐Ÿงฏ๐Ÿฎ๐Ÿ’—๐Ÿฆฎ๐Ÿชโ™๐Ÿฐ๐Ÿน๐Ÿ—ƒ๏ธ๐Ÿงฏ๐Ÿงฏ๐Ÿงฏ๐Ÿงฏ๐Ÿ’—๐Ÿช—๐Ÿงฏ๐Ÿ˜—๐Ÿงฎ๐Ÿซช๐Ÿ˜—๐Ÿงฎ๐Ÿ˜—๐Ÿฎ๐Ÿ˜ช๐Ÿ˜”โญ. Save that string of emojis to a file, give it a .com extension, and run it in DOSBox with CPU type set to 8086. It’ll printย HELLO at the bottom-right of the screen by writing directly to video memory.

There are loads more details on the original blog post, including plenty of resources and tips for writing your own executables with emojis. There’s also a much more involved VGA demo program made from emojis, so give it a look.

Some of you may be aware that ASCII characters can also be used in a similar way (and more flexibly, since they are not four-byte combinations like emojis). This was used in BASIC programs as a way to cleverly embed machine code in things like REM statements, creating odd-looking code that did things in BASIC that shouldn’t have been possible.

Making Xibalba 64, A New N64 Release In 2026

[Dominic Szablewski] created something that we don’t see every day: a no-kidding new physical Nintendo 64 game for sale, complete with cartridge, manual, and box art. He wrote about what it was like to make Xibalba 64, a 3D FPS game built using his own game engine. It even supports two-player couch co-op and four-player deathmatch.

The N64 was a groundbreaking console that brought analog controls and fully 3D game worlds to mainstream console gaming. Architecture-wise it has its share of quirks, including a tiny (4 kB!) amount of texture memory to go around all that fancy 3D content.

Xibalba was originally a demo game for [Dominic]’s MIT-licensed game engine, high_impact. Turning it into a full-fledged title for the N64 meant revisiting all sorts of things from level and gameplay design to sound and music. [Dominic] talks about it all, including the fact that his engine is technically for 2D content but he makes it work for the 3D game by ensuring levels have no elevation. Since levels are flat, the engine never has to deal with a dimension beyond its understanding. Xibalba 64 even maintains a stable 60 frames per second, dipping somewhat only in four-player split-screen.

The N64 still gets a lot of action from dedicated enthusiasts, and there’s no need to start from scratch if you find yourself with a retro gaming itch and a desire to push a vintage console in directions it never knew. For example, we’ve seen an open world game engine for the N64, complete with long drawing distances that didn’t seem possible on the hardware.

Stunning Volumetric 3D Display Goes For A Spin

[AncientJames] gives us a detailed look at Vortex, one of his impressive volumetric displays made with two back-to-back LED panels that spin at high speed with a Raspberry Pi 4 driving it all. Vortex generates a true 3D image hanging in space that one can move around, and look at from different angles independent of anything else. The software for Vortex is up on GitHub which includes a simulator as well as CAD models for the 3D-printed parts.

The images move, but can also be viewed from any angle.

Accomplishing what Vortex does requires precisely matching the images rendered on the panels to the physical rotation. If there’s a mismatch, the displayed 3D image will drift, or appear distorted. There’s also the physical matter of ensuring the spinning elements are balanced and stable while spinning at high speeds, a nontrivial undertaking that involved more than a little trial and error.

The amazing build quality and attention to detail really shines through, not just with the design but with smart use of off-the-shelf items like a large plastic globe for the display cover. [AncientJames] uses what looks like a plastic globe shade meant for a lighting fixture, and designs a clever fixture that attaches to a small rotary tool with a cutting wheel. With that, he can carefully and precisely cut away the unneeded section. Here’s a link to him doing so (at the 15:17 mark) in the video; sometimes it’s worth making a one-off gadget if it helps get a job done right.

[AncientJames] has made many volumetric displays in the past, and they’re each a little different. Check out one that spins a perforated drum around LED panels to create a lightfield display, instead of spinning the panels themselves.

Continue reading “Stunning Volumetric 3D Display Goes For A Spin” →

Finger Joint Cutter Uses A Jigsaw Blade, But Not As We Know It

Around these parts, finger joints (or box joints) are usually the product of laser cutting. [bluesyann] shows us a method of using a stationary jigsaw, a custom blade, and 3D-printed jig to create a DIY box joint cutter whose results look impressive. What’s appealing is not just the end result, but the fact that the whole system is made from little more than an inexpensive tool, scrap wood, and common hardware.

A DIY wide blade cuts each notch in a single go.

In [bluesyann]’s system, the jigsaw is fixed in place to make a stationary cutter. The saw itself is nothing special; it’s the wide blade that makes the difference. It cuts a notch in a single go, and it’s made by epoxying together multiple blades to make a single extra-wide one. Jigsaw blades are not expensive, and they’re easy to snap into pieces. By using a total of three blades (snapping two of them into pieces) one can create the wide version shown here.

With a stationary jigsaw sporting an extra-wide blade that cuts the same notch every time, all that remains is a way to get the spacing right. The solution there is a 3D-printed jig that each freshly-cut notch fits onto as the next one is cut.

There are a few other details, but those are the important bits. One does have to do a bit of trial and error to get things dialed in, but once they are, it’s off to the races.

If one prefers a less hands-on method of cutting box joints, check out this robotic table saw which automates the process.