I made this project with the goal of making a little game console to play Tetris.
I wanted to customize the device as much as possible, by defining both the hardware and the software. I chose the MakeCode Arcade platform which is a code editor to build Retro Arcade games for the browser and handheld consoles.
Although this project focuses on making a Tetris gaming console, the device can run all games made with Makecode Arcade.
The code of the game is made in Typescript.
I used Microsoft's reference design to create a PCB using a STM32F411RET6 microcontroller.
The PCB is manufactured by JLCPCB which have a CAD software on line really interesting for hobbyists.
The housing was modeled in Fusion 360 and printed on an Alfawise U30.
It took a few extra steps of sanding, machining, painting and varnishing to achieve the final result.
Use the gerber files to order the PCB from the company of your choice. You'll also find the schematics that will allow you to modify some aspects and route your own PCB if wishes.
2
Order the components and solder
You'll find the BOM that you can use to make the order. Some of the components are pretty small and will require some skills.
3
Flash the bootloader
Connect the board to a PC using a STlink in order to flash the MCU with the bootloader file.