Hackaday Podcast 227: Open Source Software, Decoupling Caps, DIY VR

Elliot Williams and Tom Nardi start this week’s episode by addressing the ongoing Red Hat drama and the trend towards “renting” software. The discussion then shifts to homebrew VR gear, a particularly impressive solar-powered speaker, and some promising developments in the world of low-cost thermal cameras. Stay tuned to hear about color-changing breadboards, an unofficial logo for repairable hardware, and five lines of Bash that aim to unseat the entrenched power of Slack. Finally, we’ll take the first steps in an epic deep-dive into the world of DisplayPort, and take a journey of the imagination aboard an experimental nuclear ocean liner.

Check out the complete show notes below, and as always, let us know what you think in the comments.

Or download the episode directly in glorious DRM-free MP3.

Continue reading “Hackaday Podcast 227: Open Source Software, Decoupling Caps, DIY VR”

Importing EAGLE Projects Into KiCad 7, And How To Fix Them

Migrating a PCB design from one CAD software package to another is no one’s favorite task. It almost never works cleanly. Often there are missing schematic symbols, scrambled PCB footprints, and plenty of other problems. Thankfully [shabaz] shows how to import EAGLE projects into KiCad 7 and fix the most common problems one is likely to encounter in the process. Frankly, the information couldn’t come at a better time.

This is very timely now that EAGLE has gone the way of the dodo. CadSoft EAGLE used to be a big shot when it came to PCB design for small organizations or individual designers, but six years after being purchased by Autodesk they are no more. KiCad 7 is a staggeringly capable open-source software package containing some fantastic features for beginner and advanced designers alike.

Of course, these kinds of tutorials tend to be perishable because software changes over time. So if you’re staring down a migration from EAGLE to KiCad and could use some guidance, there’s no better time than the present. [shabaz]’s video showing the process is embedded below.

Thanks to [problemchild68] for the tip!

Continue reading “Importing EAGLE Projects Into KiCad 7, And How To Fix Them”

A Peek Inside A 747 Fuel Gauge

It isn’t that often that we civilians get the chance to closely examine the fantastic internals that make up the modern marvels of avionic engineering. Luckily for us, [Glen] got his hands on a 747 fuel gauge and tore it down for our benefit. Not only does he tear it down, but he also builds a controller to display values.

Unlike your typical automotive fuel gauge that reports the distance from the top of the tank to the fuel level, this gauge reports the number of pounds of fuel. The fact that the indicator pictured above can go all the way to 95,000 pounds of fuel hits home the sheer scale of the fuel tanks on a 747 compared to your Volvo. Of course, where this gets interesting is the teardown with the metal sleeve removed. A 400 HZ AC servo motor moves the pointer and counter through the gearing with the help of a feedback potentiometer. The resistance tolerance is only 3%, as there are adjustment knobs on the back. But the linearity spec is only 0.06%, putting this part in a different grade from most pots.

One of the indicators was in worse shape than the others, so [Glen] got to work tapping into the internals of the gauge to drive the motor directly. A custom AC power supply repurposed from another project provided power, and a Raspberry Pi Pico was the PID controller. For [Glen], it isn’t all roses. Unfortunately, a noisy spot around 22,500 prevents accurate placement around there.

The code is up on GitHub, and we love having a gauge on the desk to show whatever value we like. If you are curious about more 747 instruments, this retro control unit might interest you.

Continue reading “A Peek Inside A 747 Fuel Gauge”

C++17’s Useful Features For Embedded Systems

Although the world of embedded software development languages seem to span somewhere between ASM and C89 all the way to MicroPython, there is a lot to be said for a happy medium between ease of development and features that makes the software more robust without adding overhead or bloat to the final firmware image.

This is where C++ has objectively many advantages over even C99, and as [Çağlayan Dökme] argues in a recent blog post C++17 adds many developer critter comforts to C++98 and the more recent C++11 C++14 standards.

First stepping back a generation (technically two, with C++20 also being a thing already), the addition of binary literals (e.g. 0b1010'1100) in C++14 and the expanded use of constexpr is addressed, with the latter foreshadowing C++17’s increased focus on compile time optimizations. A new attribute in C++17 that is part of this is [[nodiscard]], which when added before to the return type of a function or method requires the return value to be used in some manner, much like with functions in Ada (contrasted with procedures).

As [Çağlayan] notes, the biggest strength of compile-time checks is that it can save a lot of deploy-test-fix round-trips, with the total number of issues caught after deployment that could have been caught during compilation ideally being zero. Here C++17 streamlines the static_assert() mechanism and simplifies using if constexpr to instantiate code depending on compile-time conditions. Beyond compile-time optimizations there are a few other niceties, such as C++17 guaranteeing copy elision (return value optimization) when an object is returned directly, which is a welcome feature in hard real-time environments.

With today even MCUs having enough grunt to run multi-threaded applications and potentially firmware compiled from a many-thousand LoC codebase, picking a programming language that assists the developer with such an arduous task is very important, with Ada being the primary choice for high-reliability embedded platforms, but C++ along with C enjoying the most widespread (free) compiler support. Even if C++ isn’t supported on every single MCU out there (8051-based and most PIC MCUs mostly), whenever it is an option, it’s a pretty solid choice, especially with knowledge of these new language features.

The MOS CIA Lives On, In 74HCT

It’s always pleasing to see a project we covered in its early stages reach maturity, so were very happy to bring you an update on [Daniel Molina]’s 74HCT6526. It’s a long-running effort to produce in 74 logic a faithful replica of the MOS Technologies CIA, the integrated I/O and timer chip found in so many of the 1980s Commodore machines. When we first covered it there was only one PCB, now the project has grown to a stack of three, with the remaining functions intended to fit on two more boards.

It was very common at the time for chips such as the CIA to integrate a set of common 8-bit peripherals onto one piece of silicon, both in general purpose with almost all functions of the original now implemented. hips and in more manufacturer specific parts such as this one. A project like this one is valuable because it provides a dive into the now less-common  world of interfacing directly to a microprocessor data and address line. It’s unlikely that many Commodore 64s will end up with this stack of boards inside them, but it’s not impossible the design may help a few old machines when put on an FPGA.

Meanwhile, remember it’s not the only custom 1980s home computer chip replaced with 74 logic.

What Is A Schumann Resonance And Why Am I Being Offered A 7.83Hz Oscillator?

Something that probably unites many Hackaday readers is an idle pursuit of browsing AliExpress for new pieces of tech. Perhaps it’s something akin to social media doomscrolling without the induced anger, and it’s certainly entertaining to see some of the weird and wonderful products that can be had for a few dollars and a couple of weeks wait. Every now and then something pops up that deserves a second look, and it’s one of those that has caught my attention today. Why am I being offered planar PCB coils with some electronics, described as “Schumann resonators”? What on earth is Schumann resonance, anyway? Continue reading “What Is A Schumann Resonance And Why Am I Being Offered A 7.83Hz Oscillator?”

Hackaday Podcast 218: Open Source AI, The Rescue Of Salyut 7, The Homework Machine

This week, Editor-in-Chief Elliot Williams and Kristina Panos have much in the way of Hackaday news — the Op Amp Challenge is about halfway over, and there are roughly three weeks left in the Assistive Tech challenge of the 2023 Hackaday Prize. Show us what you’ve got on the analog front, and then see what you can do to help people with disabilities to live better lives!

Kristina is still striking out on What’s That Sound, which this week honestly sounded much more horrendous and mechanical than the thing it actually is. Then it’s on to the hacks, beginning with the we-told-you-so that even Google believes that open source AI will out-compete both Google’s own AI and the questionably-named OpenAI.

From there we take a look at a light-up breadboard, listen to some magnetite music, and look inside a pair of smart sunglasses. Finally, we talk cars, beginning with the bleeding edge of driver-less. Then we go back in time to discuss in-vehicle record players of the late 1950s.

Check out the links below if you want to follow along, and as always, tell us what you think about this episode in  the comments!

Download and savor at your leisure.

Continue reading “Hackaday Podcast 218: Open Source AI, The Rescue Of Salyut 7, The Homework Machine”