--- active: true tags: - project - eg created: 2025-01-13 10:59 --- ## Goal Create a simulator with: - Puzzle controller RPi - Push button puzzle - Locked box using solenoid with internal lights - Sounds - Firewall - NATS - 24VDC power supply with power take-off for testing external puzzles - Room controller RPi - Server software - Web UI - Ethernet hub between controller and puzzles ## Active Tasks - [ ] Re-wire the 5V/12V power to the PWM board ➕ 2026-01-11 - [ ] Add another light to the top of the board with a MOSFET ➕ 2026-02-07 - [ ] Finish merging control code from `odin` back to the simulator ➕ 2025-12-28 - [ ] Finish creating a simple puzzle code using buttons➕ 2025-04-03 - [ ] Check all logging and and ensure consistency ➕ 2026-01-04 - [ ] Make a latch for the box ➕ 2026-01-26 - [ ] Install lip and LED lights in locked box ➕ 2025-02-22 - [ ] Add MOSFET switch for the latch ➕ 2025-12-07 - [ ] Rewire 12V power to a MOSFET switch ➕ 2025-12-07 - [ ] Add sound effects that can be played ➕ 2025-12-08 - [ ] Install handles on the box ➕ 2025-05-30 - [ ] Install servo latch in box ➕ 2025-04-29 - [ ] Create simple puzzle using RFID readers ➕ 2025-05-31 ## Future Tasks - [ ] Install an ADC with a touch puzzle ➕ 2026-01-11 - [ ] Design a case for the LED panel ➕ 2025-12-28 - [ ] Design a case for the LEDs ➕ 2025-12-28 - [ ] Rewire the power to the I2C PWM module ➕ 2025-12-07 - [ ] Add optical sensor to the simulator ➕ 2025-11-06 - [ ] Add sound sensor to the simulator ➕ 2025-12-08 ## Archived Tasks - [x] Install the switch/plug box on the simulator ➕ 2026-02-04 ✅ 2026-02-06 - [x] Re-install a power supply for `sim-ctrl` ➕ 2026-01-11 ✅ 2026-02-04 - [x] Create Flutter app to monitor puzzle ➕ 2025-04-03 ✅ 2025-12-07 - [x] Install RFID readers next to buttons ➕ 2025-03-31 ✅ 2025-12-07 - [x] Install colored LEDs above the buttons with resin ➕ 2025-04-18 ✅ 2025-12-07 - [x] Create puzzle controller setup scripts and check in to source control ➕ 2025-05-21 ✅ 2025-06-03 - [x] Setup RPi development system ➕ 2025-05-14 ✅ 2025-06-03 - [x] Create model for holding the NVRAM SSD for the development RPi 4 ➕ 2025-05-29 ✅ 2025-05-31 - [x] Solder a new GPIO v3 board ➕ 2025-05-30 ✅ 2025-06-02 - [x] Create an RFID reader box ➕ 2025-03-31 ✅ 2025-05-30 - [x] Install false bottom in lock box ➕ 2025-04-29 ✅ 2025-05-30 - [x] Design and print 12VDC power supply end cover ➕ 2025-01-13 ✅ 2025-05-04 - [x] Reflash the RPi with new WiFi password ➕ 2025-04-29 ✅ 2025-05-04 - [x] Install some buttons ➕ 2025-01-13 ✅ 2025-04-29 - [-] Route a channel for LED light lip in box ➕ 2025-01-16 ❌ 2025-04-29 - [x] Figure out which 12VDC relay to use with RPi ➕ 2025-01-31 ✅ 2025-04-29 - [x] Design box for 12VDC relay ➕ 2025-01-17 ✅ 2025-04-29 - [x] Configure `nftables` for `sim-ctrl` ➕ 2025-03-31 ✅ 2025-04-03 - [x] Disable WiFi connection on `sim-ctrl` ➕ 2025-03-30 ✅ 2025-04-03 - [x] Test `ssh` tunneling through to `sim-puz1` ➕ 2025-02-22 ✅ 2025-04-03 - [x] Install NATs server on `sim-ctrl` ➕ 2025-04-03 ✅ 2025-04-03 - [x] Test pub/sub from puzzle machine ➕ 2025-04-03 ✅ 2025-04-03 - [x] Configure `dnsmasq` on `sim-ctrl` and configure DHCP and DNS ➕ 2025-02-22 ✅ 2025-03-30 - [x] Install mag lock box to simulator ➕ 2025-01-13 ✅ 2025-03-16 - [x] Install Ubuntu on `sim-room` controller ➕ 2025-02-22 ✅ 2025-02-24 - [x] Rename system to `sim-room` ➕ 2025-02-24 ✅ 2025-02-24 - [x] Configure `sim-room` WiFi for `Valhalla` ➕ 2025-02-22 ✅ 2025-02-24 - [x] Configure static IP on `eth0` ➕ 2025-02-24 ✅ 2025-03-16 - [x] Install Raspian on `sim-puzzle-1` controller ➕ 2025-02-22 ✅ 2025-03-16 - [x] Design and print 12VDC mounting brackets ➕ 2025-01-13 ✅ 2025-01-13 - [x] Design and print mounting bracket for RPi units ➕ 2025-01-13 ✅ 2025-01-13 - [x] Install 12VDC power supply ➕ 2025-01-13 ✅ 2025-01-14 - [x] Design and print network switch holder ➕ 2025-01-14 ✅ 2025-01-14 - [x] Install outlet with 12VAC plug ➕ 2025-01-13 ✅ 2025-01-16 - [x] Install controller RPi ➕ 2025-01-13 ✅ 2025-01-16 - [x] Install ethernet switch ➕ 2025-01-13 ✅ 2025-01-16 - [x] Design better box for buck converters ➕ 2025-01-13 ✅ 2025-01-17 - [x] Design better box for puzzle RPi breakout board ➕ 2025-01-17 ✅ 2025-01-31 - [x] Install 12VDC bus bars ➕ 2025-01-17 ✅ 2025-01-31 - [x] Install puzzle RPi ➕ 2025-01-13 ✅ 2025-01-31 - [x] Install breakout board for puzzle RPi ➕ 2025-01-13 ✅ 2025-01-31 - [x] Install buck converter for 5VDC power for puzzle RPi ➕ 2025-01-13 ✅ 2025-01-31 - [x] Install a buck converter for 5VDC power to controller RPi ➕ 2025-01-13 ✅ 2025-01-31 - [x] Make a network cable from hub to controller RPi ➕ 2025-01-31 ✅ 2025-02-06 - [x] Make a network cable from hub to puzzle RPi ➕ 2025-01-31 ✅ 2025-02-06 - [x] Set two buck boards at 5VDC for 12VDC input ➕ 2025-01-31 ✅ 2025-02-06 - [x] Make a cable from power bar to controller RPi buck board ➕ 2025-01-31 ✅ 2025-02-06 - [x] Make a cable from power bar to puzzle RPi ➕ 2025-01-31 ✅ 2025-02-06 - [x] Build the mag lock box ➕ 2025-01-13 ✅ 2025-02-11 - [x] Fix icon for UI ➕ 2025-12-07 ✅ 2025-12-07 - [x] Push to `git.mozayik.net` ➕ 2025-12-07 ✅ 2025-12-07 - [x] Install `sim-puz` ➕ 2025-12-07 ✅ 2025-12-07 - [x] Install `sim-ctrl` ➕ 2025-12-07 ✅ 2025-12-07 - [x] Get System tab working ➕ 2025-12-07 ✅ 2025-12-07 - [x] Get Lighting tab working ➕ 2025-12-07 ✅ 2025-12-07 - [x] Test out Rhai scripting to see how to pass structures in and out ➕ 2025-12-10 ✅ 2025-12-13 - [x] Finish the first button puzzle sequence ➕ 2025-12-13 ✅ 2025-12-13 - [x] Timeout the success and failure buttons ➕ 2025-12-13 ✅ 2025-12-13 - [x] Support unknown state when button sequence starts ➕ 2025-12-13 ✅ 2025-12-13 - [x] Now send completed or failed status back in state ➕ 2025-12-13 ✅ 2025-12-13 ### Button Puzzle States ```mermaid stateDiagram-v2 NotRunning --> Waiting Waiting --> Error : timeout Waiting --> Error : wrong button Waiting --> Completed : last right button Waiting --> Waiting : right button Error --> NotRunning Completed --> NotRunning ```