C Project Turns Into Full-Fledged OS

While some of us may have learned C in order to interact with embedded electronics or deep with computing hardware of some sort, others learn C for the challenge alone. Compared to newer languages like Python there’s a lot that C leaves up to the programmer that can be incredibly daunting. At the beginning of the year [Ethan] set out with a goal of learning C for its own sake and ended up with a working operating system from scratch programmed in not only C but Assembly as well.

[Ethan] calls his project Moderate Overdose of System Eccentricity, or MooseOS. Original programming and testing was done in QEMU on a Mac where he was able to build all of the core components of the operating system one-by-one including a kernel, a basic filesystem, and drivers for PS/2 peripherals as well as 320×200 VGA video. It also includes a dock-based GUI with design cues from operating systems like Macintosh System 1. From that GUI users can launch a few applications, from a text editor, a file explorer, or a terminal. There’s plenty of additional information about this OS on his GitHub page as well as a separate blog post.

The project didn’t stay confined to the QEMU virtual machine either. A friend of his was throwing away a 2009-era desktop which [Ethan] quickly grabbed to test his operating system on bare metal. There was just one fault that the real hardware threw that QEMU never did, but with a bit of troubleshooting it was able to run. He also notes that this was inspired by a wiki called OSDev which, although a bit dated now, is a great place to go to learn about the fundamentals of operating systems. We’d also recommend checking out this project that performs a similar task but on the RISC-V instruction set instead.

Billy Bass Gets New Job As A Voice Assistant

For those who were alive and conscious before the modern Internet, there were in fact things that went “viral” and became cultural phenomenon for one reason or another. Although they didn’t spread as quickly or become forgotten as fast, things like Beanie Babies or greeting a friend with an exaggerated “Whassup?” could all be considered viral hits of the pre-Internet era.

Another offline hit from the late 90s was the Billy Bass, an absurdist bit of physical comedy in the form of a talking, taxidermied fish. At the time it could only come to life and say a few canned lines, but with the help of modern hardware it can take on a whole new life.

This project comes to us from [Cian] who gutted the fish’s hardware to turn it into a smart voice assistant with some modern components, starting with an ESP32 S3. This chip has enough power to detect custom “wake words” to turn on the fish assistant as well as pass the conversation logic to and from a more powerful computer, handle the audio input and output, and control the fish’s head and tail motors. These motors, as well as the speaker, are the only original components remaining. The new hardware, including an amplifier for the speaker, are mounted on a custom 3D printed backplate.

After some testing and troubleshooting, the augmented Billy was ready to listen for commands and converse with the user in much the same way as an Alexa or other home assistant would. [Cian] built this to work with Home Assistant though, so it’s much more open and easier to recreate for anyone who still has one of these pieces of 90s kitch in a box somewhere.

Perhaps unsurprisingly, these talking fish have been the basis of plenty of hacks over the years since their original release like this one from a few years ago that improves its singing ability or this one from 2005 that brings Linux to one.

Continue reading “Billy Bass Gets New Job As A Voice Assistant”

A New Cartridge For An Old Computer

Although largely recognizable to anyone who had a video game console in the 80s or 90s, cartridges have long since disappeared from the computing world. These squares of plastic with a few ROM modules were a major route to get software for a time, not only for consoles but for PCs as well. Perhaps most famously, the Commodore VIC-20 and Commodore 64 had cartridge slots for both gaming and other software packages. As part of the Chip Hall of Fame created by IEEE Spectrum, [James] found himself building a Commodore cartridge more than three decades after last working in front of one of these computers.

[James] points out that even by the standards of the early 80s the Commodore cartridges were pretty low on specs. They’re limited to 16 kB, which means programming in assembly and doing things like interacting with video hardware directly. Luckily there’s a treasure trove of documentation about the C64 nowadays as well as a number of modern programming tools for them, in contrast to the 80s when tools and documentation were scarce or nonexistent. Hardware these days is cheap as well; the cartridge PCB and other hardware cost only a few dollars, and the case for it can easily be 3D printed.

Burning the software to the $3 ROM chip was straightforward as well with a TL866 programmer, although [James] left a piece of memory management code in the first pass which caused the C64 to lock up. Removing this code and flashing the chip again got the demo up and running though, and it’ll be on display at their travelling “Chips that Changed the World” exhibit. If you find yourself in the opposite situation, though, we’ve also seen projects that cleverly pull the data off of ancient C64 ROM chips for preservation.

2025 Component Abuse Challenge: Digital Logic With Analog Components

[Tim] noticed recently that a large number of projects recreating discrete logic tend to do so with technology around 70 years old like resistor-transistor logic (RTL) or diode-transistor logic (DTL). To build something with these logic families nowadays requires an intense treasure hunt of antique components bordering on impossible and/or expensive. Rather than going down this rabbit hole he decided to invent a somewhat new logic system using analog components in this entry in our Component Abuse Challenge.

The component in question here is an analog multiplexer, which is normally used to select one of two (or several) signal lines and pass them through to an output. Unlike digital multiplexers which only pass 1s and 0s, analog multiplexers can pass analog signals since the transistors aren’t driven to saturation. He has come up with an entire system of logic gates using these components, with trickier devices like latches eventually implemented with help from a capacitor.

The first attempt at using this logic system had a small mistake in it which caused these latches to behave as oscillators instead, due to a polarity mistake. But a second attempt with simplified design and reduced component count ended up working, proving out [Tim]’s concept. Not only that but his second prototype is functioning at an impressive 15 MHz, with a possibility of an even higher clock speed in future designs. Not bad!

A High Resolution ADC From Scratch

It’s a well-known conundrum that while most computers these days are digital in nature, almost nothing in nature is. Most things we encounter in the real world, whether it’s temperature, time, sound, pressure, or any other measurable phenomenon comes to us in analog form. To convert these signals to something understandable by a digital converter we need an analog-to-digital converter or ADC, and [Igor] has built a unique one from scratch called a delta sigma converter.

What separates delta sigma converters apart is their high sampling rate combined with a clever way of averaging the measurements to get a very precise final value. In [Igor]’s version this average is provided by an op-amp that integrates the input signal and a feedback signal, allowing for an extremely precise digital value to be outputted at the end of the conversion process. [Igor] has built this one from scratch as well, and is using it to interface a magnetic rotary encoder to control digital audio playback.

Although he has this set up with specific hardware, he has enough detail in his video (including timing diagrams and explanations of all of the theory behind these circuits) for anyone else to build one of these for other means, and it should be easily adaptable for plenty of uses. There are plenty of different ADC topologies too, and we saw many different ones a few years ago during our op-amp challenge.

Continue reading “A High Resolution ADC From Scratch”

The Internet We Didn’t Get

Collective human consciousness is full of imagined or mythical dream-like utopias, hidden away behind mountains, across or under oceans, hidden in mist, or deep in the jungle. From Atlantis, Avalon, El Dorado, and Shangri-La, we have not stopped imagining these secret, fantastical places. One of these, Xanadu, is actually a real place but has been embellished over the years into a place of legend and myth, and thus became the namesake of an Internet we never got to see like all of those other mystical, hidden places.

The Xanadu project got its start in the 1960s at around the same time the mouse and what we might recognize as a modern computer user interface were created. At its core was hypertext with the ability to link not just other pages but references and files together into one network. It also had version control, rights management, bi-directional links, and a number of additional features that would be revolutionary even today. Another core feature was transclusion, a method for making sure that original authors were compensated when their work was linked. However, Xanadu was hampered by a number of issues including lack of funding, infighting among the project’s contributors, and the development of an almost cult-like devotion to the vision, not unlike some of today’s hype around generative AI. Surprisingly, despite these faults, the project received significant funding from Autodesk, but even with this support the project ultimately failed.

Instead of this robust, bi-directional web imagined as early as the 1960s, the Internet we know of today is the much simpler World Wide Web which has many features of Xanadu we recognize. Not only is it less complex to implement, it famously received institutional backing from CERN immediately rather than stagnating for decades. The article linked above contains a tremendous amount of detail around this story that’s worth checking out. For all its faults and lack of success, though, Xanadu is a interesting image of what the future of the past could have been like if just a few things had shaken out differently, and it will instead remain a mythical place like so many others.

Improved 3D Printer Cannibalizes Two Older Printers

In the late 2010s, the Ender 3 printers were arguably the most popular line of 3D printers worldwide, and for good reason. They combined simplicity and reliability in a package that was much less expensive than competitors, giving a much wider range of people access to their first printers. Of course there are much better printers on the market today, leaving many of these printers sitting unused. [Irbis3D] had an idea that with so many of these obsolete, inexpensive printers on the secondhand market, he could build something better with their parts.

The printer he eventually pieces together takes parts from two donor Ender printers and creates a printer with a CoreXY design instead of the bedslinger (Cartesian) design of the originals. CoreXY has an advantage over other printer topologies in that the print head moves in X and Y directions, allowing for much faster print times at the expense of increased complexity. There are some challenges to the design that [Irbis3D] had to contend with, such as heating problems with the extruder head that needed some modifications, as well as a resonance problem common with many printer designs which can generally be solved by replacing parts one-by-one until satisfactory prints are achieved.

Of course, not all of the parts for the new printer come from the old Ender printers. The longer belts driving the print head needed to be ordered, as well as a few other miscellaneous bits. But almost everything else is taken from these printers, which can be found fairly cheaply on the secondhand market nowadays. In theory it’s possible to build this version for much less cost than an equivalent printer as a result. If you’re looking for something even more complicated to build, we’d recommend this delta printer with a built-in tool changer.

Thanks to [BusterCasey] for the tip!

Continue reading “Improved 3D Printer Cannibalizes Two Older Printers”