BOCS is an extensible platform for creating puzzles. A cohesive software layer connects various Arduinos, each running multiple BOCS inputs and/or outputs (e.g. a numeric keypad, a piano keyboard, an Adafruit Trellis with light-up buttons).
This interface then allows developers to write their own games for the BOCS, without even knowing how the internals of the BOCS work. You can even submit puzzle statistics (e.g. time to completion, incorect attempts) to the leaderboard server to be displayed on our website! Check out our wiki to see how you can write a puzzle for the BOCS.
New I/O devices can also be easily added to the BOCS. Just program an Arduino to follow some basic protocol, plug it into the computer (e.g. a Raspberry Pi) running the core software, and away you go!
An overview of the software system can be seen below:
The BOCS was created as part of the fall 2017 iteration of Principles of Engineering at Olin College of Engineering. For more details on the project, including our implementation of the electrical system, check out our project website.