One Of The Worst Keyboards Ever, Now An Arduino Peripheral

For British kids of a certain age, their first experience of a computer was very likely to have been in front of a Sinclair ZX81. The lesser-known predecessor to the wildly-successful ZX Spectrum, it came in at under £100 and sported a Z80 processor and a whopping 1k of memory. In the long tradition of Sinclair products it had a few compromises to achieve that price point, the most obvious of which was a 40-key membrane keyboard. Those who learned to code on its frustrating lack of tactile feedback may be surprised to see an Arduino project presenting it as the perfect way to easily hook up a keyboard to an Arduino.

Like many retrocomputing parts, the ZX81 ‘board has been re-manufactured, to the joy of many a Sinclair enthusiast. It’s thus readily available and relatively cheap (we think they can be found for less than the stated 20 euros!), so surprisingly it’s a reasonable choice for an Arduino project. The task of trying to define by touch the imperceptible difference in thickness of a ZX81 key will bring a true retrocomputing experience to a new generation. Perhaps if it can be done on an Mbed then someone might even make a ZX81 emulator on the Arduino.

We’re great fans of the ZX81 here at Hackaday, for some of us it was that first computer. Long may it continue to delight its fans!

A diagram showing an LED on the left, a lever-style plumbing valve in the center, and an Arduino Uno on the right.

Plumbing Valves As Heavy Duty Analog Inputs

Input devices that can handle rough and tumble environments aren’t nearly as varied as their more fragile siblings. [Alastair Aitchison] has devised a brilliant way of detecting inputs from plumbing valves that opens up another option. (YouTube) [via Arduino Blog]

While [Aitchison] could’ve run the plumbing valves with water inside and detected flow, he decided the more elegant solution would be to use photosensors and an LED to simplify the system. This avoids the added cost of a pump and flow sensors as well as the questionable proposition of mixing electronics and water. By analyzing the change in light intensity as the valve closes or opens, you can take input for a range of values or set a threshold for an on/off condition.

[Aitchison] designed these for an escape room, but we can see them being great for museums, amusement parks, or even for (train) simulators. He says one of the main reasons he picked plumbing valves was for their aesthetics. Industrial switches and arcade buttons have their place, but certainly aren’t the best fit in some situations, especially if you’re going for a period feel. Plus, since the sensor itself doesn’t have any moving parts, these analog inputs will be easy to repair should anything happen to the valve itself.

If you’re looking for more unusual inputs, check out the winners of our Odd Inputs and Peculiar Peripherals contest or this typewriter that runs Linux.

Continue reading “Plumbing Valves As Heavy Duty Analog Inputs”

Arduino hearing test device overview

DIY Arduino Hearing Test Device

Hearing loss is a common problem for many – especially those who may have attended too many loud concerts in their youth. [mircemk] had recently been for a hearing test, and noticed that the procedure was actually quite straightforward. Armed with this knowledge, he decided to build his own test system and document it for others to use.

audiogram showing the results of the arduino hearing test device
Resultant audiogram from the device showing each ear in a different color

By using an Arduino to produce tones of various stepped frequencies, and gradually increasing the volume until the test subject can detect the tone, it is possible to plot an audiogram of hearing threshold sensitivity.  Testing each ear individually allows a comparison between one side and the other.

[mircemk] has built a nice miniature cabinet that holds an 8×8 matrix of WS2812 addressable RGB LEDs.  A 128×64 pixel OLED display provides user instructions, and a rotary encoder with push-button serves as the user input.

Of course, this is not a calibrated professional piece of test equipment, and a lot will depend on the quality of the earpiece used.  However, as a way to check for gross hearing issues, and as an interesting experiment, it holds a lot of promise.

There is even an extension, including a Class D audio amplifier, that allows the use of bone-conduction earpieces to help narrow down the cause of hearing loss further.

There’s some more information on bone conduction here, and we’ve covered an intriguing optical stimulation cochlear implant, too.

Continue reading “DIY Arduino Hearing Test Device”

Barilla’s Open Source Tool For Perfect Pasta

Cooking pasta is perhaps one of the easiest things you can do in the kitchen, second only to watching a pot of water boil. But as pasta maker Barilla points out on their website, you can reduce your meal’s CO₂ emissions by up to 80% if you simply let the pasta sit in the hot water rather than actively boil it the whole time — a technique known as passive cooking.

The trick is getting the timing right, so in a fairly surprising move, Barilla has released the design for an open source device that will help you master this energy-saving technique. Granted it’s not a terribly complex piece of hardware, consisting of little more than an Arduino Nano 33 BLE, an NTC probe, and a handful of passive components wrapped up in a 3D-printed case. But the documentation is great, and we’ve got to give Barilla credit for going way outside of their comfort zone with this one.

Magnets in the 3D printed case let it stick to the lid of your pot, and when it detects the water is boiling, the gadget alerts your phone (at least for this version of the device, an Android or iOS application is required) that it’s time to put in the pasta. A few minutes later it will tell you when you can turn off the burner, after which it’s just a matter of waiting for the notification that your passively-cooked pasta is ready to get pulled out.

Like the prop making video Sony put out after the release of Ghostbusters: Afterlife, we recognize that on some level this is an advertisement for Barilla pasta. But if developing useful open source gadgets that can be built by the public is what a company wants to spend their advertising dollars on, you won’t catch us complaining. Hell, we might even spring for a box of Barilla next time we’re in the store.

Continue reading “Barilla’s Open Source Tool For Perfect Pasta”

A small keyboard form factor retrocomputer with blue keys on a black background sits in front of a display and a LEGO model of the Space Shuttle. There are a number of jumper wires and a breadboard coming from an open panel on the right side of the machine.

Aqua PCB Is A Big Upgrade For The Mattel Aquarius

In case you weren’t around in the 80s, or you happened to blink, you may have missed the Mattel Aquarius computer. [Nick Bild] has a soft spot in his heart for the machine though and built the Aqua cartridge to make the Aquarius into a more usable machine.

Originally equipped with a mere 4 KB of RAM and a small, rubbery keyboard, it’s not too surprising that the Aquarius only lasted five months on the market. [Nick] decided on the cartridge slot to beef up the specs of this little machine given the small number of expansion ports on the device. Adding 32 KB of RAM certainly gives it a boost, and he also designed an SD card interface called Aqua Write that connects to the Aqua cartridge for easily transferring files from a more modern machine.

The Aqua Write uses an Arduino Mega 2560 to handle moving data between the SD card and the system’s memory. This is complicated somewhat because a “PLA sits between the Z80 and data bus that XORs data with a software lock code (initialized to a random value on startup).” [Nick] gets around this by running a small program to overwrite the lock code to zero after startup.

Getting data on and off retrocomputers can certainly be a challenge. If you’re trying to get files on or off another old machine, check out this Simple Universal Modem or consider Using a Raspberry Pi as a Virtual Floppy Drive.

Arduino Lo-Fi Orchestra closeup thumbnail

Lo-Fi Orchestra Learns Tubular Bells

Hardware projects often fall into three categories: Those that flash lights, those that make sounds and those that move. This virtuoso performance by [Kevin]’s “Lo-Fi Orchestra” manages all three, whilst doing an excellent job of reproducing the 1973 musical classic Tubular Bells by Mike Oldfield.

Producing decent polyphonic sounds of different timbres simultaneously is a challenge for simple microcontroller boards like Arduinos, so [Kevin] has embraced the “More is more” philosophy and split up the job of sound generation in much the same way as a traditional orchestra might. Altogether, 11 Arduino Nanos, 6 Arduino Unos, an Arduino Pro Mini, an Adafruit Feather 32u4, and a Raspberry Pi running MT32-Pi make up this electronic ensemble.

Arduino servo drumkit
Arduino Servo & Relay Drumkit

The servo & relay drumkit is a particular highlight, providing some physical sounds to go along with the otherwise solid-state generation.

The whole project is “conducted” over MIDI and the flashing sequencer in the middle gives a visual indication of the music that is almost hypnotic. The performance is split into two videos (after the break), and will be familiar to fans of 70’s music and classic horror movies alike. We’re astonished how accurately [Kevin] has captured the mood of the original recording.

If this all looks slightly familiar, it may be because we have covered the Lo-Fi Orchestra before, when it entertained us with a rousing rendition of Gustav Holst’s Planets Suite. If you’re more interested in real Tubular Bells than synthesized ones, then check out this MIDI-controlled set from 2013. Continue reading “Lo-Fi Orchestra Learns Tubular Bells

Tiny Thin Client Is Small But Compatible

We were impressed with [moononournation’s] tiny thin client project. It claims to use an Arduino, but as you might guess it is using the Arduino software along with a network-enabled microcontroller like an ESP32. The impressive part is that it is standards-compliant and implements VNC’s RFB protocol.

The original coding for RFB on Arduino is from [Links2004] and armed with that, the thin client is probably easier to create than you would guess. However, this project wanted to use a larger screen and found that it led to certain problems. In particular, the original code had a 320×240 display. This project was to use an 800×480 display, but with the limits on the ESP32, the frame rate possible would be under 7 frames per second. The answer was to combine a 16-bit parallel interface with better compression back to the VNC server.

The little keyboard is probably not very practical, but it is compact. That would be another easy thing to modify. Currently, the keyboard uses I2C, but it would be straightforward to change things up. This would be a worthy base to build a bigger project on top. A 3D printed enclosure would be nice, too.

We’ve seen a number of projects built around commercial thin clients. Some from defunct businesses are good sources for obscure parts, too.

Continue reading “Tiny Thin Client Is Small But Compatible”