A New, Smarter Universal Remote

The remote for [Dillan Stock]’s TV broke, so he built a remote. Not just as a replacement but as something new. For some of us, there was a glorious time in the early 2000s when a smart remote was needed and there were options you could buy off the shelf. Just one handy button next to the screen had a macro programmed that would turn on the receiver, DVD player, and TV, and then configure it with the right inputs. However, the march of technological convenience has continued and nowadays soundbars turn on just in time and the TV auto switches the input. Many devices are (for better or worse) connected to WiFi, allowing all sorts of automation.

[Dillan] was lucky enough that his devices were connected to his home assistant setup. So this remote is an ESP32 running ESPHome. These automations could be triggered by your phone or via voice assistant. What is more interesting is watching [Dillan] go through the design process. Deciding what buttons there should be, where they should be placed, and how the case would snap together takes real effort. The design uses all through-hole components except for the ESP32 which is a module.

This isn’t the first thing [Dillan] has made with an ESP32, as he previously revamped a non-standard smart lamp with the versatile dev board. The 3d printable files for the remote are free available. Video after the break.

Continue reading “A New, Smarter Universal Remote”

Building A DIY Chicken Incubator

If you want to keep eggs warm to hatch, you’ll need an incubator. You could buy one off the shelf, but they’re not so complex — just a nicely-controlled warm box you could easily whip up yourself. As it turns out, that’s precisely what [RCLifeOn] did. 

The incubator is built out of wooden panels screwed together to make a simple box. The frame of the front door is also wood, but it features 3D printed hinges and handles, because that’s the easiest way to make hardware when you’re a printing wizard like [RCLifeOn].

The box is fitted with controls for humidity and temperature to ensure the best possible conditions for hatching chicken eggs inside. As you might have guessed, a heated bed from a 3D printer was used to control the temperature inside. As for humidity, a sensor tracks the conditions in the box, and triggers an ultrasonic mister to increase the level as necessary. There’s also a little motion introduced via a moving platform run by a motor and some step-down gearing, which apparently aids in the hatching process.

[RCLifeOn] calls it “a machine that creates life,” and that honestly sounds about fair. We’ve seen similar projects along these lines before, too.

Continue reading “Building A DIY Chicken Incubator”

A black and white slide with the Supercon 8 logo in the top left, the text, "Nanik Adnani" and "A Hacker's Guide to Analog Design in a Digital World" is in the bottom left. To the right is a circularly cropped image of An image of a college student in glasses and a cap sitting with a black camera in his lap.

Supercon 2024: A Hacker’s Guide To Analog Design In A Digital World

We often think of analog computing as a relic of the past, room-sized monstrosities filled with vacuum tubes doing their best to calculate Monte Carlo simulations or orbital velocities. Analog isn’t as dead as it might seem though, and analog mix signal design engineer [Nanik Adnani] gave us a crash course on analog circuits at Supercon 2024.

Continue reading “Supercon 2024: A Hacker’s Guide To Analog Design In A Digital World”

AI Brings Play-by-Play Commentary To Pong

While most of us won’t ever play Wimbledon, we can play Pong. But it isn’t the same without the thrill of the sportscaster’s commentary during the game. Thanks to [Parth Parikh] and an LLM, you can now watch Pong matches with commentary during the game. You can see the very cool result in the video below — the game itself starts around the 2:50 mark. Sadly, you don’t get to play. It seems like it wouldn’t be that hard to wire yourself in with a little programming.

The game features multiple AI players and two announcers. There are 15 years of tournaments, including four majors, for a total of 60 events. In the 16th year, the two top players face off in the World Championship Final.

There are several interesting techniques here. For one, each action is logged as an event that generates metrics and is prioritized. If an important game event occurs, commentary pauses to announce that event and then picks back up where it left off.

We really want to see a one- or two-player human version of this. Please tell us if you take on that challenge. Even if you don’t write it, maybe the AI can write it for you.

Continue reading “AI Brings Play-by-Play Commentary To Pong”

Optical Contact Bonding: Where The Macro Meets The Molecular

If you take two objects with fairly smooth surfaces, and put these together, you would not expect them to stick together. At least not without a liberal amount of adhesive, water or some other substance to facilitate a temporary or more permanent bond. This assumption gets tossed out of the window when it comes to optical contact bonding, which is a process whereby two surfaces are joined together without glue.

The fascinating aspect of this process is that it uses the intermolecular forces in each surface, which normally don’t play a major role, due to the relatively rough surfaces. Before intermolecular forces like Van der Waals forces and hydrogen bonds become relevant, the two surfaces should not have imperfections or contaminants on the order of more than a few nanometers. Assuming that this is the case, both surfaces will bond together in a way that is permanent enough that breaking it is likely to cause damage.

Although more labor-intensive than using adhesives, the advantages are massive when considering that it creates an effectively uninterrupted optical interface. This makes it a perfect choice for especially high-precision optics, but with absolutely zero room for error.

Continue reading “Optical Contact Bonding: Where The Macro Meets The Molecular”

Improving Flying Drones By Mimicking Flying Squirrels

With the ability to independently adjust the thrust of each of their four motors, quadcopters are exceptionally agile compared to more traditional aircraft. But in an effort to create an even more maneuverable drone platform, a group of South Korean researchers have studied adding flying squirrel tech to quadcopters. Combined with machine learning, this is said to significantly increase the prototype’s agility in an obstacle course.

Flying squirrels (tribe Pteromyini)) have large skin flaps (patagium) between their wrists and ankles which they use to control their flight when they glide from tree to tree, along with their fluffy squirrel tail. With flights covering up to 90 meters, they also manage to use said tail and patagium to air brake, which prevents them from smacking with bone jarring velocities into a tree trunk.

By taking these principles and adding a similar mechanism to a quadcopter for extending a patagium-like membrane between its rotors, the researchers could develop a new controller (thrust-wing coordination control, TWCC), which manages the extending of the membranes in coordination with thrust from the brushless motors. Rather than relying on trial-and-error to develop the controller algorithms, the researchers trained a recurrent neural network (RNN) which was pre-trained prior to first flights using simulation data followed by supervised learning to refine the model.

During experiments with obstacle avoidance on a test-track, the RNN-based controller worked quite well compared to a regular quadcopter. A disadvantage is of course that the range of these flying squirrel drones is less due to the extra weight and drag, but if one were to make flying drones that will perch on surfaces between dizzying feats of agility in the air, this type of drone tech might just be the ticket.

Continue reading “Improving Flying Drones By Mimicking Flying Squirrels”

Hardware Built For Executing Python (Not Pythons)

Lots of microcontrollers will accept Python these days, with CircuitPython and MicroPython becoming ever more popular in recent years. However, there’s now a new player in town. Enter PyXL, a project to run Python directly in hardware for maximum speed.

What’s the deal with PyXL? “It’s actual Python executed in silicon,” notes the project site. “A custom toolchain compiles a .py file into CPython ByteCode, translates it to a custom assembly, and produces a binary that runs on a pipelined processor built from scratch.” Currently, there isn’t a hard silicon version of PyXL — no surprise given what it costs to make a chip from scratch. For now, it exists as logic running on a Zynq-7000 FPGA on a Arty-Z7-20 devboard. There’s an ARM CPU helping out with setup and memory tasks for now, but the Python code is executed entirely in dedicated hardware.

The headline feature of PyXL is speed. A comparison video demonstrates this with a measurement of GPIO latency. In this test, the PyXL runs at 100 MHz, achieving a round-trip latency of 480 nanoseconds. This is compared to MicroPython running on a PyBoard at 168 MHz, which achieves a much slower 15,000 nanoseconds by comparison. The project site claims PyXL can be 30x faster than MicroPython based on this result, or 50x faster when normalized for the clock speed differences.

Python has never been the most real-time of languages, but efforts like this attempt to push it this way. The aim is that it may finally be possible to write performance-critical code in Python from the outset. We’ve taken a look at Python in the embedded world before, too, albeit in very different contexts.

Continue reading “Hardware Built For Executing Python (Not Pythons)”