Cassette tapes were originally developed to store audio, and that is what they’re best known for. But retrocomputing enthusiasts know that they were also commonly used to store computer data like software and games. In the 8-bit home computer era, most computer models had either a built-in or external cassette deck available. That could be used to load data from or store data on a cassette tape. But finding those tapes in working order today can be tricky. That’s why JamHamster created an Arduino cassette tape to easily load ZX Spectrum software downloaded from the internet.
There are ways to load downloaded cassette tape audio files without a device like this. If you have a ZX Spectrum, you can plug your smartphone into the cassette tape port and play audio files from that. If, like JamHamster, you have a ZX Spectrum +2 with a built-in tape deck, you can do the same thing using an auxiliary cable to cassette adapter. This project is just a tidier and more convenient way to achieve the same results. JamHamster’s unit is a specialized version of a TZXDuino, which is an open source Arduino device designed for storing and playing ZX Spectrum tape files.
The typical TZXDuino is a bit bulky, but JamHamster’s version fits entirely inside of a cassette tape’s plastic shell. That includes the tape heads, so this can be inserted into a tape deck and used like a normal cassette. Inside of the enclosure are an Arduino Nano board, a 0.96” I2C OLED screen, a microSD card reader module, headphone socket, volume wheel, and five tactile switches for control. Space was very limited, so the Arduino’s USB port had to be relocated and many of the boards were trimmed in order to make everything fit. The standard TZXDuino firmware was used, which works with the ZX Spectrum range, ZX81, and Amstrad CPC computers. But it should be possible to adapt this project to work with just about any computer from that era.