Jupiter’s Moon Io Could Play Host To Life

It was many years ago now when David Bowie asked if there was life on Mars. Since then, we’ve concluded there isn’t, much to everyone’s disappointment. That left scientists the world over to start looking elsewhere for new lifeforms for us to talk to, conquer, or play bridge with. Or perhaps more likely, look at under a microscope.

The latest candidate for hosting nearby life is Jupiter’s moon, Io. Let’s take a look at what makes Io special, and what we might hope to find there.

Continue reading “Jupiter’s Moon Io Could Play Host To Life”

Create Your RTL Simulations With KiCAD

[Bob Alexander] is in the process of designing a homebrew discrete TTL CPU, and wanted a way to enter schematics for digital simulations via a Verilog RTL flow. Since KiCAD is pretty good at handling hierarchical schematics, why not use that? [Bob] created a KiCAD plugin, KiCadVerilog allowing one to instantiate and wire up the circuits under consideration, and then throw the resulting Verilog file at your logic simulator of choice.

KiCadVerilog doesn’t do all the hard work though, as it only provides the structure and the wiring of the circuit. The actual guts of each TTL instance needs to be provided, and a reference to it is manually added to the schematic object fields. That’s a one-time deal, as you can re-use the component library once generated. Since TTL logic has been around for a little while, locating a suitable Verilog library for this is easy. Here’s ice-chips-verilog by [TimRudy] on GitHub for starters. It’s intended as a collection for Icestudio (which is also worth a look). Still, the Verilog code for many TTL series devices is presented ready for the taking, complete with individual test benches in case you need them.

Check out the project GitHub page for the module source code, and some more documentation about the design process.

We’ve seen many RTL hacks over the years, here’s an interesting way to generate a PCB layout with discrete logic, direct from the RTL.

Ask Hackaday: The Ten Dollar Digital Mixing Desk?

There comes a point in every engineer’s life at which they need a mixing desk, and for me that point is now. But the marketplace for a cheap small mixer just ain’t what it used to be. Where once there were bedroom musicians with a four-track cassette recorder if they were lucky, now everything’s on the computer. Lay down as many tracks as you like, edit and post-process them digitally without much need for a physical mixer, isn’t it great to be living in the future!

This means that those bedroom musicians no longer need cheap mixers, so the models I was looking for have disappeared. In their place are models aimed at podcasters and DJs. If I want a bunch of silly digital effects or a two-channel desk with a crossfader I can fill my boots, but for a conventional mixer I have to look somewhat upmarket. Around the three figure mark are several models, but I am both a cheapskate and an engineer. Surely I can come up with an alternative. Continue reading “Ask Hackaday: The Ten Dollar Digital Mixing Desk?”

Surfing The Web Like It’s 1978 — Carbonyl

[Fathy] gets a kick out of doing odd things with Chromium, and Carbonyl is a clever byproduct of that hobby. In this case, it’s what you get when you connect chrome’s renderer to an SVG output module and then convert that SVG to colored characters on a terminal. See, html2svg is an earlier project, taking Chromium’s Skia engine and plugging it into an SVG back-end. And once you have SVG, why not render it to the terminal?


And the results are actually pretty impressive. Imagery is rendered using Unicode 2584, a half-block character. The background and foreground color can be set per character, giving us two controllable pixels per character. Text is handled a bit differently, rendering using the normal text fonts, making for readable pages.

The source is very much a work in progress, but there are some neat ideas already coalescing around the project, like using sixels for better rendering. There’s already decent mouse support and audio output, making for an impressive terminal experience. This might be a project to keep an eye on.

Ikea Clock Gets Wanderlust

We always enjoy unique clocks, and a recent 3D print from [David Kingsman] caught our eye. It converts an Ikea clock into a very unusual-looking “wandering hour” clock that uses a Geneva drive to show a very dynamic view of the current time. The concept is based on an earlier wandering clock, but [David] utilized a different mechanism.

To read the clock, you note which hour numeral is in range of the “minute arc” and read the time directly. So if the 12 hour is over the 20-minute mark, the time is 12:20. Besides the clock, you need a fair number of printed parts, although they all look like relatively simple prints. You’ll also need 13 bearings and some metric hardware. A piece of cardboard used for the face rounds out the build.

Modifying the clock is more than just taking it apart. There is a template file to print, and you’ll need to align it and drill holes as indicated.

If you haven’t seen a Geneva drive before, it translates a continuous rotation into intermittent rotation. This isn’t the first clock we’ve seen use this kind of drive, although the last one we saw represented time differently. If you want something even more mechanical, try a chain-driven clock.

Equipping Rats With Backpacks To Find Victims Under Rubble

When it comes to demining or finding victims after a disaster, dogs are well-known to aid humans by sniffing out threats and trapped humans with ease. Less well-known, but no less impressive are rats, with the African giant pouched rat being the star of the show. Recently a student at the Dutch Technical University of Eindhoven (TU/e) has demonstrated how these rats can sniff out buried victims, aided by a high-tech backpack that gives them a communication link back to their human handler.

All of this is done in association with the Belgian-registered and Tanzania-based NGO APOPO, whose achievements include training gold medal winner Magawa the rat, who helped find 71 landmines and dozens more types of UXO over a 5-year career. These landmine-hunting rats are known as HeroRATs and have been helping demine nations since the 1990s. They may be joined by RescueRats in the near future.

Each RescueRat is equipped with a backpack that contains a camera and battery, as well as GPS and altimeter. Each backpack includes a button that the rat is trained to press when they have found a victim — essentially dropping a pin on their human rescuer’s maps.

Figuring out the location of the victim inside the rubble pile is the real challenge. This is where a (LoRa) radio beacon in the backpack is triangulated using receivers placed around the area, allowing the rescuers to determine with reasonable accuracy where to focus their efforts.

(Thanks to [Roel] for the tip!)

Continue reading “Equipping Rats With Backpacks To Find Victims Under Rubble”

Hacking The Python For Loop

In the early days of C, you’d occasionally see someone — probably a former Pascal programmer — write something like this:

#define BEGIN {
#define END }

This would usually initiate complaints about abusing the preprocessor and generally being anti-C. Surely no modern language would permit such things, right? Perhaps not. Consider [Tushar Sadhwani] who wanted to create a classic C-style for loop inside of Python. He did it, and the journey is perhaps more interesting than the result.

First, you can’t just transport straight C for loops into Python. There has to be some concession to Python syntax. The initial attempt was clever but not clever enough. However, the disassembly of the Python code was telling. The second attempt, however, was particularly interesting.

That attempt used an odd feature to examine the interpreter’s tree structure for the code and then modify it. This is sort of like a very painful C preprocessor but more powerful. That version works although it is pretty convoluted.

Ironically, [Tushar] then set up a third attempt after seeing code that tries to replace Python indentation with braces using a codec. In Python-speak, a codec lets you convert different text encodings. However, you can do other things than text encoding conversion. This is closest in spirit to the C preprocessor method. You can wade through the source code ahead of processing and make whichever changes you see fit.

Is any of this really useful? Probably not as it is. But you never know when you might need to do something exotic and one of these techniques could save the day. You probably couldn’t get away with some of this on MicroPython, of course. Your mileage may vary depending on where you find your Python running — like the Web.