You don’t have to literally design the [FPGA board](https://www.onzuu.com/category/embedded-complex-logic-fpga-cpld) yourself to “build a MiSTer” — almost everyone assembles a MiSTer system from ready-made parts and then installs the MiSTer software stack.

I’ll walk you through the realistic DIY route:
**1. Understand what a MiSTer actually is**
A MiSTer setup is basically:
1. Terasic DE10-Nano FPGA dev board (the heart, with Intel [Cyclone V](https://www.vemeko.com/cyclone-v/) [FPGA](https://www.ampheo.com/c/fpgas-field-programmable-gate-array) + ARM [SoC](https://www.ampheo.com/c/system-on-chip-soc)).
2. SDRAM add-on board (for many arcade / console cores).
3. Optional IO board (VGA, analog audio, [fan](https://www.onzuu.com/category/fans), buttons, etc.).
4. Optional USB hub board (for controllers, keyboards, Wi-Fi, etc.).
5. A microSD card with the MiSTer Linux image and cores.
6. Case, fan, PSU, and cables.
“Building your own MiSTer” = getting (or cloning) those pieces and putting them together.
Designing your own DE10-Nano alternative PCB is possible but much harder and not a beginner project.
**2. Absolute minimum hardware you need**
At the simplest:
* DE10-Nano board
* MicroSD card (32 GB or more is nice)
* 5V [power supply](https://www.onzuu.com/category/external-internal-power-supply) (DE10-Nano usually ships with one)
* HDMI cable + display
* USB OTG adapter + USB hub (or the MiSTer USB board)
* [Keyboard](https://www.onzuu.com/category/keyboards) / gamepad
Many cores also strongly recommend:
* 128 MB or 32 MB SDRAM MiSTer module
So the minimal cheap build is:
DE10-Nano + SDRAM module + microSD card + basic USB hub + HDMI + controller
**3. Optional, but very nice to have**
These things turn it from “bare dev board” into a polished console:
* IO Board (Analog IO board or Digital IO board)
* VGA output, 3.5 mm audio, fan power, extra buttons, etc.
* Official MiSTer USB hub or a good external USB hub
* Case (3D-printed, metal, acrylic, etc.)
* Small fan + heatsinks for cooling
**4. Step–by–step: assemble a basic MiSTer**
**Step 1 – Get a DE10-Nano**
Buy a Terasic DE10-Nano from an authorized reseller.
(Most MiSTer documentation assumes this exact board.)
**Step 2 – Add MiSTer SDRAM module**
* Get a MiSTer-compatible SDRAM add-on (plug-in board).
* Power off DE10-Nano.
* Align the SDRAM module with the GPIO header (commonly labeled JP1).
* Carefully press it in so it sits firmly, pins all aligned.
**Step 3 – (Optional) Mount IO board & USB board**
If you bought an IO + USB board stack:
* IO board goes on top of the DE10-Nano using the long pin headers.
* USB board usually attaches on the bottom or side, depending on revision.
* Mount with standoffs/screws so nothing flexes.
If not using official boards:
* Use a USB OTG adapter cable on the DE10-Nano’s micro-USB OTG port.
* Plug in a powered USB hub for keyboard, controller, Wi-Fi, etc.
**Step 4 – Cooling and case**
* Add a small 40 mm fan blowing across or onto the FPGA.
* Add heatsinks to the warm chips if desired.
* Mount the whole stack in a case (3D printed designs and commercial cases exist), or at least on a non-conductive surface with standoffs.
**5. Install MiSTer software on the microSD card**
**Step 1 – Download MiSTer image**
On a PC:
1. Download the MiSTer main image (a .img file) from the official MiSTer repositories (usually the main GitHub / project page).
2. Use an imager like:
* balenaEtcher
* Raspberry Pi Imager (with “Use custom”)
* Or dd on Linux
**Step 2 – Flash the SD card**
* Insert the microSD in your computer.
* Flash the MiSTer image to it.
* Safely eject the card.
**Step 3 – First boot + update scripts**
1. Insert the microSD card into the DE10-Nano.
2. Connect:
* Power
* HDMI to your monitor
* Keyboard / controller via USB
* Ethernet cable (for fast updating)
3. Power on.
4. On first boot, it’ll create partitions and bring you to the MiSTer menu.
5. Run the update script (like update_all or update) from the Scripts menu:
* This downloads & installs:
* Cores (console, arcade, computers)
* BIOS/ROM packs sometimes (depending on legality / script options)
* You’ll then have a working system with lots of cores.
**6. If you truly mean “design my own MiSTer-compatible board”**
That’s a much harder route and only worth it if you:
* Already know [FPGA](https://www.ampheoelec.de/c/fpgas-field-programmable-gate-array) + high-speed DDR3 layout
* Can design and manufacture a board equivalent to DE10-Nano:
* Cyclone V SoC FPGA
* DDR3 memory
* Power supplies for all rails
* Ethernet PHY, USB PHY, HDMI
* Then port MiSTer’s HPS + FPGA part to your custom hardware
This is not a beginner hardware project. It’s a professional-level board design task.
Realistically, “build your own MiSTer” means:
* Assemble the stack from the DE10-Nano plus MiSTer add-ons.
* Maybe design your own IO board or case, which is a fun DIY project.
**7. Quick checklist: “I built a working MiSTer”**
You can happily say you’ve built one yourself once:
* DE10-Nano in hand
* SDRAM MiSTer module installed
* SD card flashed with MiSTer image
* USB input (keyboard/gamepad) connected
* Cooling (fan) installed
* Update script run (cores downloaded)
* You can load at least one core (e.g., NES, Genesis, Minimig, etc.) and play something