Back to the BASICs with DAISY-1
DAISY-1 is a custom, Arduino-powered faux retro computer that brings back the pure joy of early hacking.
Moore’s Law is perhaps the most widely known observation in the history of computer science, stating that computers will become smaller, faster, and cheaper with time. There is another law that is equally true, but it doesn’t get much attention. In fact, it doesn’t even have a name (I may have just made it up.) This law deals with the inverse relationship between computer power and fun. As machines become more powerful, they become less fun to work with.
Anyone who has worked with a computer from the early days of personal computing can attest to the truth of this law. Machines used to be an open book. You could open their cases and expand their capabilities with a soldering iron and some creativity. Without even touching the internal hardware, you could PEEK and POKE your way to hacking greatness. But now? Not so much. Manufacturers aren’t handing out schematics anymore, and if you crack that case open, you void your warranty.
Joe is an embedded systems software engineer who wanted to bring back the experience of working with early personal computers. These machines are becoming more scarce with time, so rather than using actual vintage components, Joe built a faux retro computer called DAISY-1 entirely from modern hardware. That hardware is housed in a 1980s VTech Laser 50 case to give it the right look and feel.
The system is powered by three Arduino boards working together as dedicated subsystems. An Arduino Due acts as the primary controller and runs DaisyBASIC, the custom operating environment and interpreter. An Arduino Mega handles video generation, while an Arduino Uno is dedicated to sound synthesis. The boards communicate over a lightweight UART-based protocol because the timing requirements for NTSC video generation are too strict for more common interconnect methods like I²C or SPI.
The video system produces monochrome 40x25 character graphics over composite video. Joe implemented dual character sets that allow both text and custom graphics to coexist on screen, while a semigraphics mode provides an effective 80x50 pixel display with optional dithering for pseudo-grayscale effects. Despite the hardware limitations, the machine supports drawing commands for lines, circles, polygons, and flood fills.
The Uno-based sound processor generates two pulse-wave channels and a dedicated noise channel modeled after the legendary SID 6581 chip found in the Commodore 64. Features like pulse-width modulation, pitch slides, and programmable sound effects give the little machine some very rich audio capabilities.
A Wi-Fi modem based on an ESP8266 running ZiModem firmware allows the computer to connect to online bulletin board systems through a built-in VT52 terminal emulator. BASIC programs can communicate directly over TCP connections using commands like NETPRINT and NETINPUT, enabling multiplayer games or remote-control applications.
More information and the firmware will soon be released. Be sure to check back in if you’d like to build your own DAISY-1.