Skip to main content

Documentation Index

Fetch the complete documentation index at: https://learn.pcbcupid.com/llms.txt

Use this file to discover all available pages before exploring further.

The G-Kit SoundBox is a standalone MP3 player kit built around the Glyph Development Board designed to capture the charm of a vintage boombox while showcasing the power and flexibility of modern modular electronics. SoundBox This project combines digital audio, intuitive UI design, and hands-on hardware interaction in one compact build. It’s not a music player — it’s an educational platform that teaches fundamentals of audio electronics, embedded programming, and system design. Learn Embedded Audio Design
  • Audio Pipeline: From MP3 decoding → I²S transmission → DAC/amplifier → speaker output.
  • I²S Audio Interface: Learn how digital sound data flows from ESP32 to a dedicated audio chip.
  • Real-Time Feedback: Track metadata, elapsed time, and progress sync instantly on OLED display.
  • All within Arduino!
Inspired by the Classics The SoundBox replicates the look and feel of a classic boombox, reimagined with modern components. Speaker and button placement mirror traditional stereo layouts.

Key Features

Audio Features

  • MP3 / WAV Playback from SD card.
  • Track Navigation: Next, Previous, Play, Pause.
  • Non-blocking Audio Loop — keeps UI and buttons responsive.
  • Track Metadata Handling: Displays song title and duration.

Display & UI Features

  • High-contrast OLED UI with U8g2lib.
  • Track Info Screen: Title, total time, play/pause state.
  • Volume Display (0–100%).
  • UI Navigation System (prev/next/select).

Controls

  • 3 Physical Buttons (Prev, Play/Select, Next).
  • Debounced Input using OneButton library.
  • Volume control Range: 0–100%.
  • UI & Player Sync — ensures displayed volume equals actual volume.

Build Guide

Build your SoundBox! Follow each step in order — wiring, flashing firmware, assembling the case, and first power-on tests.

Step 1: Hardware Required

Get Your Electronics Ready

S. No.ImageComponent NameFunction
1glyphGLYPHMain Microcontroller (C3 / C6 / S3)
2audioGMOD-NAU8325I2S CODEC + 3W AMP
3oled1.3inch SH1106 OLEDVisual output
4sdcardGMOD-MicroSDAudio file storage
5kitG-Kit SoundboxBase board
6speaker4Ohm 3W SpeakerAudio output
7batteryBatterySystem power
8switchSwitchPower control
9buttonButtonsUser input
10usbType C USBUSB connectivity

Get Your 3D Printed Parts Ready

S. No.ImagePart NameFunction
1Main-caseSoundbox-shellEncloses entire circuit and speaker system
2Heat-InsertsHeat-insertsAdded to soundbox shell
3Button CapsCustom Button CapsEngraved functions on caps
4Speaker-holderSpeaker-MountSpeaker holder
5Back-plateBack-plateCovers soundbox shell
6Handle-HolderHandle-holderAttaches to soundbox shell

Step 2: Pin Configuration

Table shows how each module connects to the controller (assuming Glyph C6) internally on the G-Kit base board.
ComponentFunctionGlyphC6 Pin (GPIO)
SD CardCS17
MISO23
MOSI22
SCK21
Audio Codec (I²S)MCLK16
BCLK15
WS (LRCK)14
DOUT18
ButtonsPrevious3
Play / Select2
Next9
OLED Display (I²C)SDA4
SCL5

Step 3: Circuit Diagram

Follow the circuit below to build the SoundBox yourself with a breadboard and jumpers, without needing the PCB. SoundBox Circuit

Step 4: Assembly

This section walks through complete assembly — from preparing components to final enclosure fitting.
Make sure to follow Step 5 and Step 6 for installation first. This ensures Glyph has necessary firmware to run SoundBox features and tests all electronics.

Start with the Buttons

Place the 3D printed button cap on top of G-MOD 3x1 Key Array. It won’t snap-fit but works great without glue or adhesive. 1 The enclosure is printed to tight tolerances so components fit snugly. Before proceeding, check all mounting points and openings are clear of print residue. The button array with the 3D printed cap will snap-fit on the extrusion to hold the button array in place. 2 Align mounting holes on the button array to snap-fit points on the enclosure. Guide the button so the header faces away from the soundbox. 3 Apply pressure on one side until mounting holes snap fit, then the other side.
The snap-fit may be very tight and can hold the button array firmly — difficult to remove once in place.
4 Double-check the button fits well and header pin faces toward you. This is critical as the G-Kit base board will access it. 5 6

Installing the Speakers

A 3D printed adapter holds the speaker to the enclosure. 7 8 Align the speaker adapter to mounting points on the enclosure. Repeat for both speakers. 9 Use M3 screws from the kit to fasten in place. 10 Ensure speaker wire connectors face toward the display for easier connection to the G-Kit base board. 11

Installing the OLED

Assemble the OLED with 10mm nylon standoff to hold it firmly to the PCB.
Connect the OLED display to the base board.
Align the OLED so standoffs install correctly. No bolt needed on the other side — the base board and 3D printed parts provide support.

Installing the Base Board

Once the display is placed, position the base board into the enclosure. 12 Ensure the header on top of the base board fits onto the button placed earlier. 13 Fasten in place using M2.5mm bolts. 14 Add the toggle button for power on/off. 15 Connect speaker and toggle switch connectors to the base board.
Apply double-sided tape to the battery to prevent movement inside the soundbox.
Place the battery as shown. 20

Installing the Audio CODEC

Place the audio codec module onto the G-Kit. 21

Installing the SD Card

Place an 8mm nylon spacer on the G-Kit PCB to support the GMOD-microSD. 22 Place the GMOD-microSD card module and check the SD card is accessible outside the box. 23 Insert the SD card with pre-loaded music into the SD-Card Module. 24

Installing the USB

Insert the Type C USB from outside. 25 Ensure it fits snugly in the groove made for the C-port on the 3D model. 26 Add 2mm bolts and nuts to the Type C USB port to hold it together with the 3D model. 27 Solder the wires to the GLYPH board (Black → GND, Red → USB). 29 Add the back panel to finish. 31 SoundBox after full assembly: 32 Toggle the switch to start! 33 After a few seconds the SoundBox boots up. 30 Navigate and select songs to play. 35

Step 5: Code Setup

  1. Open Arduino IDE.
  2. Make sure to install required libraries.
  3. Copy and paste the following code into the Arduino IDE.
The code is broken down into multiple files. Download from our GitHub Repo.

Step 6: Upload the Code

  1. Connect the Board — Connect your GLYPH board to your computer.
  2. Select the Board and Port
    • Tools > Board > esp32 > Pcbcupid GLYPH C6
For Pcbcupid Glyph C6 to appear under Tools > Board > esp32, the esp32 board version installed in Arduino IDE should be ≥ 3.1.0.
  • Tools > Port — select the port connected to your GLYPH.
  • Tools > USB CDC on BootEnabled
If USB CDC on BOOT is not enabled, you won’t see serial data on Arduino IDE.
  1. Upload the Code — Click the upload button (➡️) or use CRTL + U in Arduino IDE.

Step 7: Observe the Output

Expected Visual + Audio Behavior:
  • Music playback from SD card over I2S DAC.
  • OLED UI with track title, duration, elapsed time, volume.
  • Buttons for control (Prev / Play / Next / Vol Up / Vol Down).
  • UI updates in sync with audio (progress bar, elapsed time).