Escape Room Decoder Box




Introduction: Escape Room Decoder Box

About: RAMPS is a multidisciplinary engineering Research and Development team based out of La Trobe University. RAMPS engineers design and fabricate functional prototypes in areas related to Robotics, Automation, Mec…

Escape Rooms are awesomely fun activities which are highly engaging and great for teamwork.

Have you ever thought about creating your own Escape Room? Well with this decoder box you can be well on your way! Even better have you thought about using escape rooms in education? We have and students love using them to learn, revise and engage with the material.

This escape room decoder has the following features:

  • 3 Rounds of codes with arbitrary length (1-8 digits)
  • Configurable count-down timer
  • Automated clue delivery (every 5 minutes)
  • Configurable wrong-answer penalties
  • In-game sound effects


To complete this project you will need the following parts:


  • 4x Bolt M3 25mm
  • 3x Bolt M3 14mm
  • 4x Bolt M3 6mm
  • 4x M3 Standoff 6mm
  • 5x Lock Nut M3
  • 4x Knurled Nut M3
  • 3AAA Battery holder with leads
  • Key Switch
  • Dupont 2-way crimp connector (for battery holder)
  • 9x Jumper Wires (F-F) 20cm


  • 1x 10K Trimpot
  • 1x Arduino Nano
  • Speaker
  • LCD Screen
  • Keypad
  • PCB
  • 2x 7Way Single IDC Header
  • 1x 7Way Dual IDC Header

Fabricated Parts (3D Printed/Laser Cut):

  • 3D Printed Enclosure
  • 3D Printed Keypad Bracket
  • 3D Printed or lasercut LCD bracket
  • 3D Printed or lasercut faceplate

Step 1: Preparing the Decoder Box

The enclosure for this project is 3D printed so you will need access to 3D printing facilities or will need to purchase a kit.

After the enclosure is 3D printed the knurled nuts will need to be inserted into each of the screwholes. These nuts allow screws to be easily tightened and loosened multiple times (the 3D print would wear out too quickly).

To insert the nuts use a soldering iron and apply gentle pressure to the knurled nut. As the nut heats up it will melt and embed itself in the plastic as shown in the pictures.

Step 2: Soldering the Modules

The keypad, LCD and Arduino Nano all need to have headers soldered onto them.

Ensure you solder the headers onto the correct side of the board as shown in the photographs.

Step 3: Attaching the Keypad and Key Switch

Using the 3D printed keypad bracket use 3x 14mm M3 Screws with locknuts to affix the keypad to the fascia.

Trim the end of some jumpers and solder the jumper wires onto the key switch and mount the keyswitch on the fascia as shown in the diagram.

Step 4: PCB

Its time to solder the PCB - but we can't do it all at once.

The following order is suggested:

  • Solder standoff headers (for power and keypad)
  • Solder trimpot
  • Solder buzzer
  • Solder Arduino Nano ensuring that it is soldered the correct way around

Step 5: LCD Screen

Use the 25mm screws, the LCD standoff and the M3 standoffs to attach the LCD screen to the fascia

Slowly lower the PCB onto the back of the LCD screen. Solder the LCD in place and attach a some nuts to ensure that it doesn't move.

Step 6: Connecting the Wires

It is now time to connect all the jumper wires which will ensure that everything works.

You will need to crimp a Dupont connector onto the battery holder if you haven't already done so.

  • First connect the battery terminals ensuring you have the correct polarity
  • Next connect the keyswitch terminals (polarity does not matter)
  • Finally connect the keypad

Step 7: Commissioning

Use the Arduino IDE to load the code onto the device using a Mini-USB cable.

In the Code you may wish later to change the following variables:

  • The actual keys
  • If a time penalty is applied for wrong guesses
  • The time participants have to complete the escape room

Once the code is loaded on you may need to adjust the contrast of the LCD with the potentiometer until text is visible on the screen.

Finally, after putting some batteries in the holder, screw the box shut and start writing some escape room games!

Be the First to Share


    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest
    • Build a Tool Contest

      Build a Tool Contest
    • Remote Control Contest

      Remote Control Contest



    1 year ago

    Hi there, in your PCB zipfile, a *.drr file is included, which is an Altium Designer file. It seems to be quite difficult to convert it into a *.drl file, since I only can dispose of a viewer version of Altium. My PCB supplier couldn't cope with the *.drr files neather, so my question would be, if you could add the Gerber drill files to your ZIP?
    Kind regards, Jos.


    Question 1 year ago

    I miss 2 files to make it i miss the
    • 3D Printed Keypad Bracket
    • 3D Printed or lasercut LCD bracket
    Could you please give me those 2 files?
    That really would help me out. Please give me it asap i need it for school

    Answer 1 year ago

    Thanks for letting me know. I've included the additional files. Apologies for leaving them out initially


    2 years ago

    Hi again, I've found the issue with the display so that's all fixed the only remaining issue is the Matrix Keypad wiring. I see that these matrix switches can be wired quite differently. I have two questions.

    What are the Row Column designators for the Arduino ie which of the Pin's 12,11,10,9,8,7,6 are Row 1 column 1 etc...or if you can give me the wiring for your matrix I could work it out?

    Plus, the second question is I can't work out what <KeyMatrixPhone.h> library is??? Is it something you bespoke perhaps? I can't find any reference for it on the web in Github etc? If it is bespoke can you send me a copy perhaps please? Maybe that is why my keypad does not work correctly? Wired as per your diagram only some keys work and not the correct ones... Ie pressing 5 might display 8 or pressing 1 appears to be Hash etc.

    Sorry to be a pain but I'm there apart from the key entry not working correctly.

    Many thanks Nick


    Reply 2 years ago

    Dear Nick,
    Thanks for getting in touch and glad that you are building your own.
    Firstly for the library:
    In the Arduino IDE goto: Sketch -> Include Library -> Manage Libraries
    Search for KeyMatrix and install this library

    For the keypad connection:
    Pin 1 on the keypad (see the uploaded image) is connected to: D12
    2 -> D11
    3 -> D10
    4 -> D9
    5 -> D8
    6 -> D7
    Pin 7 on the keypad is connected to: D6


    2 years ago

    Hi there, a very nicely implemented project which I need a little help with. I'm confused over the circuit diagram you provided as it does not reconcile with the code? It appears that the Keypad mapping may be wrong and the display wiring is incorrect for most common parallel 2 line displays. In particular the power lines are incorrect and the contrast is normally on pin 3 of the display? It would be brilliant if you could provide me a picture of the PCB as I can then trace your wiring exactly. I appreciate the PCB info is available but sadly I don't have the correct software to open it on a Mac unless you can advise otherwise? Many thanks for posting such a great project I'm looking forward to getting it working. Best regards Nick


    Question 2 years ago

    Hi, is it possible to make it without printed PCB ?


    Answer 2 years ago

    Good question - it is possible (you can use jumper wires to all the different components. It will get a little bit messy when doing so, hence a PCB is recommended. The attached image shows basically how it should be connected up. It might be helpful putting some hot glue on the terminals so they don't slip out.


    Reply 2 years ago

    Cool thanks! Can you tell me where i can download the code and the libraries?


    Reply 2 years ago

    Ok i found them in folders!!! Thank you ;)