YOU CAN BUILD YOUR OWN ENIGMA MACHINE
Press a key, a different letter lights up — the same encryption logic that Alan Turing's team broke at Bletchley Park, running on an Arduino you print at home.
Open-hardwareDisplays
Built withArduino3D printing
- difficulty
- ●●●○○
- time
- a weekend-plus
- license
- license not specified
- repo
- repo STABLE (NO COMMITS SINCE MARCH 2022)34 stars
●●●○○ · a weekend-plus · license not specified · 34 stars · repo STABLE (NO COMMITS SINCE MARCH 2022)
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is an electronic replica: the rotors are in software, the lamps are WS2812b LEDs, and a single LCD1602 shows the three rotor positions. It implements the real Enigma logic (rotors I-VIII, reflector B, ring settings, plugboard), but there are no mechanical rotors stepping inside; rotor positions are set with six push buttons. The print files are there, the code is complete, and the result is striking, but documentation is minimal: one wiring PDF (keyboard matrix, LCD and LED strip) plus a modes diagram. The single biggest risk is ordering incompatible hardware: the parts are only named briefly in the creator's video description, not in the repo. If you have built keyboard projects before and can read a wiring diagram, this is a solid weekend-plus build. The GitHub repo has no licence file (the Printables models are public domain), so clarify terms before reusing the code commercially.
IN THE REPO
GOOD TO KNOW
- —25 STL files in the GitHub repo (keyboard, lampboard, case, lids, switches, letters, logo).
- —Arduino sketch enigma.ino implements rotors I-VIII, reflector B, and plugboard logic.
- —One hand-drawn wiring PDF in the repo, no step-by-step assembly guide.
- —Parts list exists only in the video description, not in the repository.
- —GitHub repo has no licence file; Printables version is CC0 Public Domain.
- —No BOM spreadsheet and no vendor links; print notes are limited to 'PLA on a Prusa MK3S with MMU2S' on Printables.
Parts to buy
6 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
Arduino 3D printed Enigma Machine - Sergio Morales
The creator's own video of the finished machine, posted on his Menyiques channel; the parts list is in its description. The GitHub repo does not link it.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the hand-drawn wiring PDF in the repo and sketch your own labelled version before ordering parts.(The diagram labels every pin (keyboard rows A0-A5, columns A6-A11, LCD in 4-bit mode, LED data on D3); it also includes a diagram of the machine's operating modes.)
- 2.Check the video description for the parts list — it is not in the GitHub repo.(You need exact switch types and LED strip specs that fit the printed keycaps and lampboard.)
- 3.Print the keyboard base and one keycap first to test your switch fit.(If the switches are loose or too tight, you will need to scale or redesign before printing all 26 caps.)
- 4.Flash enigma.ino to the Mega and test the rotor logic on the serial monitor before wiring the displays and LEDs.(Confirms the code runs and helps you understand the rotor sequence before hardware debugging starts.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The parts list is in the video description, not the repo. If the video disappears or you miss a part number, you are guessing which key switches fit the printed caps.
- The wiring diagram is a sketch: it labels the pins (keyboard matrix A0-A11, LCD D4-D7, LED data D3) but gives no wire lengths, connectors or assembly order, so plan the physical routing yourself.
- The GitHub repo has no licence file. The Printables version is CC0, but if you derive from the GitHub code, the legal status is unclear.
- There are no detailed print settings: the creator only says it was printed in PLA on a Prusa MK3S with MMU2S. Keycaps and the lampboard need to fit tightly, so test-print one keycap first.
- If you have never wired a WS2812b LED strip, expect an afternoon learning the Adafruit NeoPixel library, which the code uses without explaining setup.
- No assembly photos or video walkthrough in the repo. You are working from the wiring PDF and your own test fits.
Does it have mechanical rotors like a real Enigma?
No. The rotors are simulated in software. A single LCD1602 shows the three rotor positions, and you step them up or down with six extra push buttons, but there are no physical wheels stepping inside.
Does the encryption actually match a real Enigma?
The code implements the real Enigma wiring for rotors I-VIII, reflector B, ring settings and a plugboard of up to 10 pairs. The creator does not publish a comparison against another simulator, so check a few messages against an online Enigma simulator yourself.
What licence is this under?
The Printables version is CC0 Public Domain. The GitHub repo has no licence file, which technically means all rights reserved by default. If you plan to sell kits, clarify with the creator.
Can I use different key switches?
Only if they have the same footprint as the ones in the video. The keycaps are sized for specific switch mounts, and there is no parametric model to adjust them.
Is there a PCB or is it all hand-wired?
All hand-wired. The keys are scanned as a matrix on the Mega's analog pins, the 26 WS2812b LEDs share one data pin, and a single LCD1602 runs in 4-bit parallel mode. No custom PCB.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
This replica runs the rotor logic of the Enigma on an Arduino Mega with a single LCD showing the rotor positions. What message would you encrypt first?
Sergio Morales
Sergio Morales (GitHub Menyiques) built this electronic replica of the Enigma cipher machine on an Arduino Mega and published the STL files, the Arduino sketch and a wiring PDF on GitHub, with the models also on Printables under a public-domain licence.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM9d agoedited
Practical notes from our verification: the repo has 25 STL files, the Arduino sketch and a hand-drawn wiring PDF. The parts are named only briefly in the creator's own YouTube video description: an Arduino Mega, WS2812B LEDs, switches, one LCD1602 and a wooden box. The single 16x2 LCD shows all three rotor letters and runs in 4-bit parallel mode, and the keys are scanned as a matrix on the analog pins. The GitHub repo has no licence file, so reuse rights for the code are unclear. The single biggest gotcha is buying switches that fit the printed keys, because there are no part numbers in the repository. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.