Cornerstone Project
Skills: SolidWorks, AutoCAD, Arduino, Laser Cutting, Woodworking, Soldering
Skills: SolidWorks, AutoCAD, Arduino, Laser Cutting, Woodworking, Soldering
My Cornerstone class organized a school-wide carnival where we were divided into groups to develop a carnival game. The theme for my class was Greek mythology, and each group was assigned a Greek God or Titan to base their game on.
We were assigned Cronos, the king of the Titans, and the God of time. He was the father of 6 Gods (the first generation of Olympians): Hestia, Demeter, Hera, Hades, Poseidon, and Zeus. When designing the game, we wanted to incorporate the time aspect of his domain as well as how he relates to other Greek Gods.
Our game was a button-based game that timed a user in a race to hit a correct number of buttons in a certain amount of time, with an LED screen displaying directions to the user.
Using SolidWorks, I designed the main structure of our game to prioritize accessibility and support for all the electronic components. First, an angled control panel for better visibility and embedded buttons for increased durability. The slot for the LED strip on the left has a hole to feed the strip through on the bottom and the rest is supported by the embed. In the middle, the button area all have smaller holes to feed the wiring through and the slot to the right is for the LCD display. To keep the electronics hidden but still accessible, side doors were added using hinges.
The button board is the wood supporting the buttons, LEDs, and LCD display. Because this component consists of various partial cuts and through cuts, it was divided into a top layer that would be laser cut and a bottom layer that would have only the cuts made all the way through the board. The final assembly of the button board is shown in the picture to the right.
This AutoCAD drawing was utilized to create a lasercut for the top layer of the button board to embed the buttons into our structure and support the LED strip. Two pieces of wood were stacked on top of each other with different cuts to create a place for the buttons in our structure and also make sure that they are secure. This layer was then painted with the God's names and relevant symbols
The game’s code underwent multiple iterations alongside evolving hardware, ultimately reaching around 300 lines for the game logic and 60 lines for the LED strip control, each running on separate Arduino boards. A significant portion of the game code comprised byte arrays representing images displayed on an LCD screen.
To render these images, we used the U8GLIB Arduino library and converted online images into byte data using a web-based converter. These arrays—composed of alphanumeric pixel data—grew with image size and consumed substantial memory, with the running code using approximately 8 GB of RAM.
To improve circuit stability, most components were soldered: all buttons and LCD pins were directly soldered to wires. However, connections to the breadboard couldn't be soldered, leading to occasional disconnections. Notably, the LED strip’s battery pack was custom-built, requiring soldered battery terminals—an unconventional but necessary choice.
Arduino Pseudocode