Introduction: Escape Room Decoder Box
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
Attachments
Supplies
To complete this project you will need the following parts:
Hardware:
- 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
Electronics:
- 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!
11 Comments
2 years 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.
Reply 2 years ago
Unfortunately Instructables doesn't allow upload of Zip files. All the PCB design documents can be downloaded from here: https://www.dropbox.com/s/zjaysx3coymgrwn/ER_PCB_F...
Question 2 years ago
- 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 2 years ago
Thanks for letting me know. I've included the additional files. Apologies for leaving them out initially
3 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 3 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
3 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 4 years ago
Hi, is it possible to make it without printed PCB ?
Answer 4 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 4 years ago
Cool thanks! Can you tell me where i can download the code and the libraries?
Reply 4 years ago
Ok i found them in folders!!! Thank you ;)