
Stm32
ackom-a-o/stm32f446-development-board
Custom STM32F446ZET6 development board in KiCad. Prototype hardware, design review and validation log; hardware testing pending.

A high-quality audio playback cartridge for Nintendo® Game Boy® and Game Boy Color®.
Cart is an open-source printed circuit board by psobot, from the psobot/musicboy repository on GitHub, published under the MIT licence. It is a 2-layer board of 51.4 × 61 mm with 20 parts on 125 nets, routed with 519 tracks and 38 vias.
It is built around the STM32F446ZET6, W25Q128JVSIQ and MIC5219YMM. Its parts include 10 capacitors, 3 ICs, 1 resistor and 1 connector. It belongs with the retro computing and games boards and the STM32 boards of this library.
A high-quality audio playback cartridge for Nintendo® Game Boy® and Game Boy Color®.

(Note: this project is not approved, condoned, or endorsed by Nintendo®.)
Music Boy is a custom hardware cartridge and accompanying software to play back high quality audio on the Nintendo® Game Boy® and Game Boy Color® handheld game consoles1. Music Boy fits in a standard Game Pak® cartridge casing and requires no additional modifications - it plays like a standard game.
Music Boy was originally created as a unique distribution mechanism for PUSHER's 2016 New Laces EP. While it can be repurposed to work with other Game Boy games, Music Boy currently only plays music in the background of a modified copy of Super Mario Land.
For a more detailed story of Music Boy, see my 2019 talk from !!con: "Even more vintage: releasing music on a custom-built Game Boy cartridge!":
1Music Boy may work on other consoles, like the Super Game Boy®, but will not work on the Game Boy Pocket®, Game Boy Advance® or Nintendo DS® due to fundamental hardware differences.
Music Boy is a highly non-standard cartridge - or rather, a cartridge emulator, built upon an ARM Cortex-M4 (the STMicroelectronics STM32F446 family) system-on-chip. This hardware acts as both a flash emulator, providing the Game Boy with instructions to execute on its own CPU, and a rudimentary co-processor, providing the Game Boy with additional facilities and control over a high-quality analog audio output that can output up to 96kHz at 12 bits.
flash.bin.Music Boy uses a combination of software written in C, ARM Assembly, Python, and Game Boy assembly (a variant of Z80 assembly), all working together in sequence:
flash.bin file that contains all of the audio
data required for playback, and saves metadata about this binary audio data as
a C header file for use by the STM32F4./RST pin low to force the Game Boy to restartAssuming you're on macOS, you'll need:
brewThen:
brew install rbgds stlink rsync ffmpeg
pip install -r code/requirements.txtNote that if you want to compile the project completely, you'll need:
code/gbrom/baserom.gb, with the sha1 418203621b887caa090215d97e3f509b79affd3emusic folder, of any format accepted by ffmpeg, sorted lexicographically. Each successive file will be used as background music for each level. Note that if you provide more than 9 files, any files after the 9th will not be used.The hardware directory contains a KiCad project and all of its dependencies.
If you plan to print circuit boards, make sure you use 0.8mm thick PCBs. The PCB dimensions should be 61mm*51.4mm, with a notch on one corner.
If you're not comfortable soldering super-fine-pitch surface mount components (like me) then I recommend using a third-party assembly service such as Seeed Studio.
Music Boy was developed between 2016 and 2019 by Peter Sobot, but leaned heavily on prior art and help by a number of brilliant people:
This project is a hacked together custom Game Boy cartridge, based on third-party code, and - for demoing - using a modified version of a commercial Nintendo game from 1989.
All of my original code and hardware designs in this project are licensed under the MIT License. Some STM32 library files are licensed with the MCD-ST Liberty SW License Agreement V2, as they were open-sourced by STMicroelectronics, and further helper libraries are licensed by their own various licenses.
If you're trying to build this yourself, you'll need to supply your own copy of Super Mario Land and your own audio files. I take no responsibility for any derivative works created from this project.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100nF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C2, C4, C5, C6, C7 |
| 3 | 2.2uF | Capacitors_SMD:C_0603 | C9, C10, C11 |
| 1 | 10k | Resistors_SMD:R_0603_HandSoldering | R1 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C1 |
| 1 | 470pF | Capacitors_SMD:C_0402 | C3 |
| 1 | 47uF | Capacitors_Tantalum_SMD:CP_Tantalum_Case-A_EIA-3216-18_Hand | CP1 |
| 1 | DNF | Gekkio_MountingHole:MountingHole_2.3mm | MK2 |
| 1 | DNF | Gekkio_MountingHole:MountingHole_7.2mm | MK1 |
| 1 | Game Boy GamePak Connector | Gameboy:GameBoy_Cartridge_1x32_P1.50mm_Edge | J1 |
| 1 | MIC5219 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | STM32F446ZET6 | Package_QFP:LQFP-144_20x20mm_P0.5mm | U1 |
| 1 | W25Q128JVSIQ | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | for flashing audio | SparkFun:1X06_LOCK | SPIHDR1 |
| 1 | for flashing code | SparkFun:1X05_LOCK | SWDHDR1 |

ackom-a-o/stm32f446-development-board
Custom STM32F446ZET6 development board in KiCad. Prototype hardware, design review and validation log; hardware testing pending.



ALECIA13/EEE3088F-2025
This repository contains the Power Module for a Micro-Mouse robot project, developed as part of the EEE3088F (2025) course.



linalin8589/RisingSunTapestry
Just lighting a bunch leds when the sun rises. Teehee

themagicfrog/lightwandprogress
a pcb with neopixel lights attached and a gyroscope! for arcade and the Trail
It measures 51.4 × 61 mm and has 2 copper layers, 1.6 mm thick.
20 parts, built around the STM32F446ZET6, W25Q128JVSIQ and MIC5219YMM. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the psobot/musicboy repository on GitHub, at the commit this page was made from: the board is hardware/cart.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).