The CRT display displaying a vector pattern created with a function generator.
Another vector graphics pattern.
Drawing patterns as a proof of concept.
The CRT tube in the CRT.
The magnet coils on the CRT.
Milling our custom PCBs for the controller at FirstBuild
Our boards after milling.
The front plates of our controllers with the buttons installed.
The classic retro game Space War!
What it does
Runs the classic game Space War with true Vector graphics, played with two custom-made controllers.
How we built it
The game system is built in modular sections. An Arduino Mega runs the base game, and communicates to the graphics display Arduino and the controllers via Serial Communication utilizing custom protocols. The controllers were 3D printed and operates off of a custom PCB circuit powered by an Atmel ATtiny84 chip running Arduino code. A Raspberry Pi emulates the vector graphics output since we didn't have the time to get an Arduino to drive the CRT TV we planned on displaying the game on.
Challenges we ran into
We didn't have enough time or manpower to get the CRT display up and functional with the game's graphics. Also, our first print of the controllers' backplates didn't have quite the right dimensions, so we had to modify and reprint them and this took a lot of time. We also didn't have the necessary hardware to build the display driver circuit. Most of us didn't know about what we were working on, so we had to learn most of our tech on the fly.
Accomplishments that we're proud of
This was our first time 3D printing, and also our first time making custom Printed Circuit Boards. And while we didn't have time to fully develop our CRT display driver circuit, we were able to make it display designs we wanted with a function generator, which was proof of concept.
What we learned
-How to 3D print -How to make custom PCBs -How to manually take control of the electron gun in a monochrome CRT
What's next for SPACE War
We plan to get the CRT display fully functional with an Arduino display driver circuit, and also intend to make better versions of the controllers, with more refined aesthetics, ergonomics and with significantly improved communications protocols. The aim is to make it a standalone game system running entirely on Arduinos.