Full Milky Way gate with a motorized inner ring (NEMA 17).
Join our community of builders on Discord to share your progress, ask for troubleshooting, or just chat about the project!
💬 Join the OpenGate DiscordDownload the Gerber files for the official SG-1 Motorized PCB and send them straight to any PCB fab (JLCPCB, PCBWay, etc.) to get your board manufactured — a how-to-order text file is included in the zip.
Not comfortable ordering or assembling a PCB yourself? Reach out on Discord — we can help you get one fully assembled.
Download the 3D models for the motorized SG-1 gate:
Electronic parts that can't be assembled on the official PCB — if you want to order them:
Hardware to plan for:
Printing tips: use at least 80% infill for the motor gear and the rotating glyph ring. No supports are needed for any part except the rotating glyph ring.
Practical tips: sand the back of the rotating glyph ring to prevent friction during rotation. The gate is very easy to take apart — if something feels off, don't hesitate to backtrack a step.
Place the NEMA17 onto the ramp and screw it in using the two lower screws.
Then screw the ring core onto the ramp using the two lateral M3 screws, plus the two lower central screws — these also secure the top of the NEMA17.
Note: a few extra, more lateral holes are already there for possible future ramp designs.
Once the gate is firmly mounted, run the 5mm 5V COB LED strip for the chevrons around the outside of the gate.
A small hole near the lower right of the motor lets the cable pass through.
Place the NEMA17 gear and its spacer directly onto the motor shaft.
The spacer is optional, but it helps keep the gear from sliding back over time — it should be 10 to 12mm (adjust the size as needed). What matters most is that, once assembled, the rotating glyph ring and the gear stay well aligned and parallel.
Run the event horizon LED strip between the notch that holds the inner ring and the tabs that hold the rotating glyph ring.
A few dots of glue are recommended to keep the strip from rubbing against the rotating ring.
Place the inner ring — this is the final piece of the mechanical assembly.
Both the DRV8825 stepper driver and the LM2596 buck converter need to be calibrated before they're plugged into the PCB — it's much easier to reach the trim potentiometer with a multimeter probe while the board is bare.
1) DRV8825 — current limit (Vref)
Follow this video for the actual calibration procedure (multimeter on the trim pot, small screwdriver adjustment).
For the target value: these driver boards almost all use the same 0.1Ω sense resistors, which gives the standard formula Vref = motor current ÷ 2. With the 1.3–1.5A motors recommended above, that puts you around 0.65V — a safe starting point with plenty of torque for a decorative gate, without pushing the driver into excess heat. If you notice missed or skipped glyphs after assembly, nudge it up toward ~0.75V; if the driver gets hot to the touch, back it down instead.
2) LM2596 buck converter — output voltage
Follow this video and set the output to exactly 5.0V. This is what powers the ESP32, DFPlayer, and LED strips — double-check it before plugging anything else in.
You can order this PCB blank from the Gerber files (step 1), or have it pre-assembled — the parts were deliberately chosen to generally be in stock at JLCPCB, so the same Gerber works fine for their assembly service.
<-- USELESS --> on the silkscreen.
Connect your ESP32 to your computer using a USB cable and open the flash tool via Google Chrome or Edge at /flash/.
Select SG-1 (Motorized), connect, and hold the BOOT button to start. Once complete, it will start in Wi-Fi Hotspot mode.
While you're at it: format your microSD card as FAT32, put the mp3 folder (downloaded in step 3) at its root, and insert it into the DFPlayer.
⚠️ Make sure the DRV8825 and buck converter are already calibrated (step 10, above) before powering the board on for the first time.
Compiling from source instead? Open stargate.txt in the Arduino IDE (save/rename it as a .ino), keeping sg1_motor.h and webpage_sg1.h in the same folder. Near the top of the file, under "PROFIL DE PORTE", uncomment the line #define GATE_SG1_MOTOR — make sure it's the only GATE_* line uncommented — then select your board and port and upload as usual.
Once flashed, the gate boots into its own Wi-Fi hotspot for setup — same as every other OpenGate model, covered next.
Connect to the Stargate-Setup-XXXX Wi-Fi network your gate creates (open, no password needed). A setup page should open automatically — if it doesn't, just open a browser and it'll redirect you there.
Enter your home Wi-Fi details, plus your MQTT credentials if you've already joined the official network. Save & reboot: the gate connects to your Wi-Fi, and the confirmation page tells you exactly where to find it — http://Stargate-<name>-XXXX.local/. Bookmark that address; it's how you'll reach your gate's DHD from now on.
That .local address not resolving on your device or network? Check your router's connected-devices list for the gate's IP instead, and use that.
To support more than 100 simultaneous connections and keep things running smoothly, the project runs on a dedicated server. To join the official network, a voluntary donation of at least €1 is asked to cover server costs — buymeacoffee.com/opengateproject — and you'll receive your personal credentials to enter in that same setup form.
You can also register your Stargate on the public directory to receive incoming wormholes — that part is optional.