Build An 8-bit CPU To Know “But How Do It Know?”

Sometime around 2009, [J. Clark Scott] published a book aimed to demystify computers for everyone by walking through construction of an 8-bit CPU from scratch. The book had a catchy, but somewhat confusing title But How Do It Know?. The back story on the title goes something like this: Joe is a very nice fellow, but has always been a little slow. He goes into a store where a salesman is standing on a soapbox in front of a group of people. The salesman is pitching the miracle new invention, the Thermos bottle. He is saying, “It keeps hot food hot, and cold food cold….” Joe thinks about this a minute, amazed by this new invention that is able to make a decision about which of two different things it is supposed to do depending on what kind of food you put in it. He can’t contain his curiosity, he is jumping up and down, waving his arm in the air, saying “but, but, but, but…” Finally he blurts out his burning question “But how do it know?” Joe looked at what this Thermos bottle could do, and decided that it must be capable of sensing something about its contents, and then performing a heating or cooling operation accordingly. Joe’s concept of how the bottle worked was far more complicated than the truth. With that introductory opening, [J. Clark Scott] goes on to cover basic number theory, leading on to logic gates, and finally the 8-bit CPU.

[Patrick LeBoutillier] decided to build a hardware version of the CPU/computer as described in [John Clark Scott]’s book. In order to keep size and cost within reasonable bounds, he choose a hybrid construction using a combination of micro-controllers and SN74HC logic IC’s. When used as a companion project alongside reading the book, he hopes people can get their hands dirty and try it out for themselves. He has published a series of 14 videos covering construction of the CPU and the first Introductory video is embedded after the break below. For the micro-controller part of the project, he is using four Arduino Nanos, the code and install instructions for which are available at his Git repo. The Fritzing schematic, also available at the repo, might look a bit daunting at first look, but when you follow along his video series, it becomes easier. You can preview the first three chapters of the book at the “But How Do It Know?” website.

If FPGA’s are more of a thing for you, or you’d like to dip your feet learning FPGA, then [Patrick] has another series of 17 videos (embedded below) where he goes through the same process using a Digilent BASYS3 FPGA development board. These aren’t your only options — if you just want to understand how it works, without having to build the hardware, then check out the online, browser based implementation of the [Clark Scott] CPU.

If it seems the breadboard build of this 8-bit CPU looks complex, then this
Home Made 8-bit CPU Is A Wiry Blinky Build and a veritable rats nest of jumper wires.

Continue reading “Build An 8-bit CPU To Know “But How Do It Know?””

Robotic Melodica Student Is Enthusiastic But Terrible

Anyone who has through the process of learning to play a musical instrument for the first time, or listening to someone attempting to do so will know that it can be a rather painful and frustrating experience. [Alessandro Perini] apparently couldn’t get enough of the sound of a first-time musician, so he created a robot to play the melodica badly for hours on end, as demonstrated in the video after the break.

The project is appropriately named “AI’ve just started to learn to play”, and attempts to copy every melody it hears in real-time. The robot consists of the cartridge carriage from an old printer, mounted on a wooden frame to hold the melodica. The original carriage used a DC motor with an encoder for accurate movement, but since position accuracy was not desirable, [Alessandro] ditched the encoder. Two small trolley wheels are mounted on the cartridge holder to push down on the melodica’s key. A bistable solenoid valve controls airflow to the melodica from an air compressor. The DC motor and solenoid valve is controlled by an Arduino via a pair of LM298 motor drivers.

A host computer running software written in Cycling ’74 MAX listens to the melody it’s trying to imitate, and send serial commands to the Arduino to move the carriage and open the solenoid to try and match the notes. Of course, it keeps hitting a series of wrong notes in the process. The Arduino code and build instructions have been published, but the main Max software is only described briefly. [Alessandro] demonstrated the robot at a local festival, where it played YouTube tutorial snippets and jammed with a local band for a full 24 hours. You have to respect that level of endurance.

If listening to less error-prone electronically controlled instruments is more to your taste, listen to this building-sized pipe organ play MIDI files.

Continue reading “Robotic Melodica Student Is Enthusiastic But Terrible”

Ambience Lamp Ripples Like Water

After the year humanity has endured, we could all use a little more relaxation in our lives. This atmosphere lamp is just the thing to set a relaxing ambience for work, studying, or hanging out. Just touch the surface and the light ripples to life, resembling the concentric circles that form on the surface of still water when it is touched. When the light settles, it looks like an inviting pool that’s ready for a nighttime swim.

There aren’t really any surprises inside — the lamp is operated via capsense by touching the center of the top. Three NeoPixel rings and an RGB LED strip provide the lighting, and an Arduino UNO runs the show. [Qttting_F] used an inexpensive ceramic bowl with a piece of acrylic for a lid, but this could just as easily be printed in white PLA or something. Check it out in action after the break.

Ambience is nice, but sometimes you need something more functional. Those types of lamps can be printed, too.

Continue reading “Ambience Lamp Ripples Like Water”

Co41D 2020 MIDI Theremin Sounds Pretty Sick

As the pandemic rages on, so does the desire to spend the idle hours tinkering. [knaylor1] spent the second UK lockdown making a sweet Theremin-inspired noise machine with a low parts count that looks like a ton of fun.

It works like this: either shine some light on the photocells, cover them up, or find some middle ground between the two. No matter what you do, you’re going to get cool sounds out of this thing.

The photocells behave like potentiometers that are set up in a voltage divider. An Arduino UNO takes readings in from the photocells, does some MIDI math, and sends the serial data to a program called Hairless MIDI, which in turn sends it to Ableton live.

[knaylor1] is using a plugin called TAL Noisemaker on top of that to produce the dulcet acid house tones that you can hear in the video after the break.

If you’ve never played with light-dependent resistors before, do yourself a favor and spend a little bit of that Christmas cash on a variety pack of these things. You don’t even need an Arduino to make noise, you can use them as the pots in an Atari Punk console or make farty square waves with a hex inverting oscillator chip like the CD40106. Our own [Elliot Williams] once devoted an entire column to making chiptunes.

Continue reading “Co41D 2020 MIDI Theremin Sounds Pretty Sick”

Big Time Character LCD Clock

While the SSD1306 OLED has somewhat become the go-to display for up-to-date projects, the good old character displays with their Hitachi HD44780 controller don’t seem to be disappearing just yet either. And why would they, especially if you want to show just text, having a built-in font has certainly its perk compared to worrying about integrating your own characters — which you can still do on top as well. Or perhaps you can combine both worlds, which is what [oldmaninSC] did with his digital clock that takes an entire 16×2 LCD to show each single digit.

The whole clock uses 16 individual, upright rotated 16×2 LCDs that are arranged in two rows of eight LCDs each, turning the entire construct sort of into a giant 8×2 display itself. For some additional information such as the date, there’s also a smaller font available that uses only half the height, allowing up to four total rows of information. To communicate with each LCD via I2C, two TCA9548A I2C multiplexers are connected to an Arduino, along with an RTC to keep track of the time and date itself.

As the TCA9548A has three pins dedicated to define its own address, the entire clock could be scaled up to a total of 64 LCDs — so how about a 16×4 display made out of 16×4 displays? Sure, adding smooth scrolling might become a bit tricky at some point, but imagine playing Tetris on that one!

A Tiny LED Matrix Is Better With Friends

When we last heard from [lixielabs] he was building Nixie tube replacements out of etched acrylic and LEDs. Well he’s moved forward a few decades to bring us the Pixie, a chainable, addressable backpack for tiny LED matrix displays.

Each Pixie module is designed to host two gorgeous little Lite-On LTP-305G/HR 5×7 LED dot matrix displays, which we suspect have been impulse purchases in many a shopping cart. Along with the displays there is a small matrix controller and an ATTINY45 to expose a friendly electrical interface. Each module is designed to be mounted edge to edge and daisy chained out to 12 or more (with two displays each) for a flexible display any size you need. But to address the entire array only two control pins are required (data and clock).

[lixielabs] has done the legwork to make using those pins as easy as possible. He is careful to point out the importance of a good SDK and provides handy Arduino libraries for common microcontrollers and a reference implementation for the Raspberry Pi that should be easy to crib from to support new platforms. To go with that library support is superb documentation in the form of a datasheet (complete with dimensions and schematic!) and well stocked GitHub repo with examples and more.

To get a sense of their graphical capabilities, check out a video of 6 Pixie’s acting as a VU meter after the break. The Pixie looks like what you get when a hacker gets frustrated at reinventing LED dot matrix control for every project and decided to solve it once and for all. The design is clean, well documented, and extremely functional. We’re excited to see what comes next! Continue reading “A Tiny LED Matrix Is Better With Friends”

V12 Corvette Gets Electronic Gauge Mod

[Wesley Kagan] is building a Corvette with a V12 engine swap. Much of the driveline will be entirely replaced, which means the components to drive the mechanical speedometer and tachometer will no longer be present in the final car. Instead, [Wesley] came up with his own electronic gauge conversion to do the job.

It’s a build that respects the original aesthetic of the car, reusing the original gauges but driving them differently. In place of the original mechanical drives from the transmission and distributor respectively, the speedometer and tach instead get servos installed in the back with a 3D printed gear train. The odometer gets its own continuous rotation servo, too. An Arduino Nano is used to drive the servos, using data from a GPS module and the car’s ignition system.

Files are available for anyone wishing to 3D print parts to modify their own gauges. We can’t wait to see how the gauges look when finally installed. We can imagine some teething problems with slew rate or update speed, but we’re sure it’s nothing [Wesley] can’t engineer out with a few revisions. Custom gauges are something we’ve seen a few times around these parts; this digital setup is particularly useful for engine data. Video after the break.

Continue reading “V12 Corvette Gets Electronic Gauge Mod”