Rotary Phone Puzzle for My Breakout Game

About: student and maker

A couple of weeks ago i bought a old rotarie telephone on the internet. Finally i had some free time to make a new puzzle part voor my breakout game. My idea is to use the telephone as a input device, a player have to try to fine the right phonenumber.

because i am not so good in programming i first lookt on the web for some samplescodes en lucky enough i found a youtube video from a guy here in the netherlands. I send him an e-mail with a request if it whas possible that he send me his arduino code of his project. Lucky enough i received a email back with the arduino code en schematics.

my rotary model have 3 wires : blue , yellow and red

Step 1:

Step 2: Step 2:



  • Arduino Contest 2019

    Arduino Contest 2019
  • Trash to Treasure

    Trash to Treasure
  • Tape Contest

    Tape Contest

2 Discussions


1 year ago

Hey guys.
I’ll tell you what... I’ve been down this road and I have several phones running in escape rooms.
I just finished my newest iteration of my SD card version. Which uses an SD card to store and play custom audio recordings. It also lets you control up to 7 pins based on number dialed should you decide to have multiple triggers based on phone number..
I’ve also built in file based pin configuration and triggering.
Best part is that I use no shields.


1 year ago

As I am making a final version of this, I chose the Adafruit Feather + Feather Music Maker for my hardware platform. But this board works on 3.3.V instead, and I didn't know how to change the resistors.

So I decided to do the following with my Dutch PTT / Ericsson phone: connected Blue to pin 3, Red to pin 4, Yellow to Ground. No more resistors. Use INPUT_PULLUP and you're done, basically.

The Blue wire will connect to ground when the dial is turned a bit: an indicator that someone's using the dial.

A very short piece of code to let you see what happens on both pins:

int inRed = 4;
int inBlu = 3;
unsigned long tijd = 0;

void setup()
pinMode(inRed, INPUT_PULLUP);
pinMode(inBlu, INPUT_PULLUP);
Serial.println("Setup gereed");

void loop()
int readRed;
int readBlu;

readRed = digitalRead(inRed);
readBlu = digitalRead(inBlu);

if (readBlu == 0) {
Serial.print("Pin2: ");
Serial.print(" Pin3: ");
Serial.print(" Tijd: ");
Serial.print(millis() - tijd);
if (tijd == 0) {
tijd = millis();