An Open Source Linear Capacitive Encoder

If you’ve ever pulled apart a set of digital calipers, you’ve probably marvelled at the capacitive encoder that does all the measuring work. There’s nothing stopping you from using the same techniques yourself, as [Nick] demonstrates with an open-source capacitive encoder of his own design.

The sensor PCB works by by having a grid of eight transmitting antennas, etched into a PCB, beneath a larger receiving antenna. The transmitting antennas pulse out a pattern as the sensor PCB moves, with the signals bouncing back from the reflector PCB which is fixed in place. The varying capacitance caused by the position of the reflector elements relative to the sensor PCB varies the strength of the pulses hitting the receiving antenna. A microcontroller—in this case an STM32—can read those pulses to determine the displacement of the sensor PCB relative to the reflector down to a very fine degree. In this case, to an accuracy of 40 micrometers. Not bad!

If you need ultra-fine linear tracking for something you’re building, you might find this project very useful. Files are available on Github for the curious, along with a great explainer on exactly how the capacitive coupling becomes a positional reading. You can also study previous teardowns we’ve featured on cheap digital calipers, just to round out your education further. If you’re working on your own impressive workshop equipment, or subcomponents of such things therein, don’t hesitate to let us know on the tipsline!

Keeping Old Wi-Fi Radios Alive With Stream Conversion

There are plenty of Wi-Fi radios out there that were built over the last two decades or so. However, many older models are now becoming less useful because many internet radio stations are switching to newer streaming formats that they don’t support. [Clifford Farrugia] has been working on a little project to save these appliances from the e-waste bin.

The HLS Radio Converter is the result of that work. It’s a small open-source tool that converts modern HTTP Live Streaming (HLS) protocol streams into regular old HTTP MP3 streams that older internet radio appliances are built to decode. You can run the tool on something as simple as an old Raspberry Pi. To make it work, you just give the tool the URL of the stream you’re looking to convert, and it then spits out a new URL to point your radio to which has the stream in the old-school format instead.

It’s a simple tool, but one that should prove very useful if you have a beloved old internet radio that can’t handle modern streams. We’ve featured lots of fun projects in this vein before, too, like this ultra-tiny internet radio build. If you’re working on your own projects in this space, be sure to let us know via the tipsline.

KiCad… In The Browser?

KiCad is a useful tool for designing printed circuit boards, but it’s of no use to you if you can’t install it on the computer you’re on. To get around that, [Akshay Rukade] has whipped up a browser-based alternative to help keep you working in less permissive environments. It’s called ZiroEDA.

Quite simply, ZiroEDA is a TypeScript port of KiCad 10.0.6’s C++ source code. You get the schematic editor, the PCB editor, the interactive router, and the electrical and design rule checkers all running in a browser. It can open .kicad_pro files as you’d expect, and you can edit and save them as you would if you were working in standard KiCad directly.

[Akshay] reports that KiCad’s own kicad-cli was used for compatibility testing, and that zone fills came out vertex-identical from ZiroEDA versus using KiCad itself. With that said, the project is still a work in progress, and some dialogs from the original software are still missing. Projects are said to be end-to-end encrypted, but you’ll hopefully lose your job quickly if you try and put anything important to national security through a tool like this. You can always try it, just to give your higher-ups a heart attack.

Source is available on GitHub if you want to see how it all ticks. We’ve featured other great KiCad hacks before, too, like this GPU-accelerated autorouter. If you’re working on PCB tools of your own, don’t hesitate to notify the tipsline.

Japan Launches Mission To Study Martian Moon

Humanity has been sending robotic explorers to Mars since the 1970s, and for our efforts we’ve been rewarded with not only incredible imagery of the Red Planet’s magnificent desolation, but a wealth of information about the alien world and how it’s changed over the last several billion years. But comparatively, we know almost nothing about the planet’s two moons, Phobos and Deimos. In fact, as recently as the 1960s, there were some scientists that believed the unusual shape, mass, and orbit of Phobos hinted at the possibility that it was no moon at all, and was in actuality a derelict spacecraft of some type.

Martian Moons eXploration Spacecraft

Once the first Viking probes arrived at Mars, we had the photographic evidence and up-close measurements to prove that Phobos wasn’t artificial. But even today, we still don’t know exactly what it is. The data suggests that it’s not solid rock, and that large voids may be hiding under its surface. While we can be fairly sure there won’t be any mummified remains of Martian astronauts to be found within Phobos, vast deposits of ice are a tantalizing possibility.

With the launch of the Martian Moons eXploration (MMX) mission earlier this week, the Japan Aerospace Exploration Agency (JAXA) hopes to bring us one step closer to understanding the formation and structure of Phobos. Should everything go to plan, MMX will deploy a small rover to its tenuous surface in 2029, and by 2031, a sample return capsule will bring pieces of the mysterious moon back to Earth for further study.

Continue reading “Japan Launches Mission To Study Martian Moon” →

Floating-Point Addition And Subtraction On Intel’s 8087

Although you can do basic floating point format operations like addition and subtraction just fine on any CPU, having specialized hardware for it can provide a significant speed boost. Here Intel’s 8087 was the first mainstream floating-point coprocessor to provide this option to a wide audience, with [Ken Shirriff] recently reverse-engineering using an 8087 die how these basic operations were implemented.

The real-world speed-up of even simple operations like adding two floating point numbers compared to the 8086 CPU was on the order of a hundred times, which is very relevant the moment you start doing interesting things with spreadsheets, not to mention rendering 3D scenes in CAD software or even games.

As always, the devil is in the details, with sneaky infinities and edge cases also providing the biggest potential for speed-ups in dedicated silicon, along with the large circuitry spent on the shifter. With floating point values being very much about aligning values with shifting by a number of bits, this circuitry along with the detecting of over- and underflows is the key element why the 8087 and its successors were so crucial in making floating-point operations at all feasible in PC applications.

How this shifting works in theory is detailed in the article by [Ken], along with how the 8087 implements this in its circuits. Naturally, a large part of this is implemented in microcode, the listing for which is also provided. From this it’s quite clear how what seems like a simple set of operations is actually quite complex, making even the now much maligned x87 ISA an improvement over doing it all in integer-based software.

Trying To Get Linux Running On A Nokia E6

The Nokia E6 is a smartphone from back in the old days when Symbian was a thing. [fluffleswaffled] has been doing the work to get the ancient handset running Linux instead, because that’s ultimately cooler than what the phone shipped with out of the box.

There isn’t an unlocked bootloader on the E6, so instead, [fluffleswaffled] used an altogether different route to boot Linux. A Symbian app is used to load the kernel and device tree into RAM, at which point the MMU and caches are turned off and the device jumps into Linux. It’s a one-way trip, from which there is no way back to Symbian without a power cycle. The setup nets a terminal on the phone’s own screen, and the hardware keyboard and touchscreen are functional. The display is controlled by a Broadcom VideoCore III, with [fluffleswaffled] capturing messages from Nokia’s original display driver to create a custom kernel driver that replays them.

There’s an issue, though. The phone doesn’t stay in Linux land for long — it always resets within a couple minutes of booting into the alternative OS. [fluffleswaffled] believes this is because the phone’s baseband chip is supervising the application processor, and killing things once it’s detected that the Symbian mobile stack has stopped running. They’re hoping that someone with experience with Nokia basebands or the relevant hardware can point them in the right direction to get this hack running for more than 3.5 minutes at a time.

There probably isn’t a great deal of utility in getting Linux running on a 2011 smartphone, but we love the hustle nonetheless. We’ve seen this done before, though, and it’s always interesting to learn what it takes to get the OS booting on a new platform. If you’re whipping up similar hacks in your home lab, don’t hesitate to let us know on the tipsline.

A person with blonde hair and light skin in a black t-shirt points at an image of a large QR code with what appear to be pictographic humans dancing in place of the usual blocky squares between the finding squares.

Reading QR Codes By Hand

QR codes can be a handy way to send a link or contact details without all that tedious mucking about with typing in a link, but they aren’t very useful without a smartphone to decode them. [Noel Friedrich] wondered if there was a way to do it by hand.

If it all seems a bit daunting at first, [Friedrich]’s write-up helps you work through copying a QR code to paper and then decoding it, as long as it’s version 1-5. Slashes in the template tell you where error correction has been applied to the code and you need to flip the bit back to what it was.

[Friedrich] then goes into some more details with a practical example of how the error correction works and how to exploit the ways QR codes are generated and read to make artistic QR codes. This even works to make human readable codes (without the worksheet), although the quality of the text still makes it somewhat challenging.

This isn’t the first time we’ve featured reading QR codes without a computer, but once you learn, maybe this QR code clock will be a bit more useful!

Continue reading “Reading QR Codes By Hand” →