Special When Lit: Using Go to Bring a Pinball Machine Back to Life!

February 26, 2024 32 min Free

Description

In this talk, Jeremy Fleitz demonstrates how concurrency and WaitGroups were used to build an event-driven package called GoFlip to implement the game rules for a pinball machine controlled by a Raspberry Pi. Arduinos provide the peripheral interfaces, while TinyGo is evaluated to further improve the overall design of this now fully functional pinball machine powered by Go. The presentation covers the anatomy of a pinball machine, interfacing with old hardware, abstracting hardware interactions with Go, and implementing game logic using the observer pattern.