CNC Ouija Board



The goal of this project was to use the knowledge we built about microcontrollers and mechanical design to develop a full-scale scenic or prop effect.

Design Process

I decided to design a CNC-actuated Ouija Board, such that the planchette could appear to be moved by a ghost or spirit.

Mechanical Design

In order to focus on the software side of the project, I chose to use 2 pre-designed linear motion actuator kits and limit switches from the Open Builds Parts Store.

V-Slot NEMA 17 Linear Actuator Bundle (Belt Driven)

Image courtesy Open Builds Parts Store

Proof of Concept

Testing mechanical assembly by hand


Per the assignment requirements, I used an Arduino Uno as the control board. During testing, I flashed it with GRBL (an open-source CNC control firmware). However, for the final version, I wrote a custom program which followed the logic in this flowchart:

The control system communicated via the Serial Monitor in the Arduino IDE as a text-based GUI.

Final Product


Overall, I am pleased with how the project came out.

The main issue I ran into was writing the code for the control firmware. I had minimal prior experience with Arduino and C++, so I spent a good portion of my time learning how to interact with the stepper control libraries I used.

Another issue was the lack of accuracy on the planchette. There were magnets on the carriage that mated with magnets on the planchette. The logic behind this choice was that it allowed the carriage to move the planchette 'wirelessly' (i.e. no visible mechanics at work, which is important in theatre and film). However, the planchette lagged behind the carriage, which is visible in the video. Were I to redo this project, I would use stronger magnets or find a different actuation method.