Skip to content

pcbcupid/soundbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

G-Kit SoundBox 🎵

A Modular Embedded Audio Learning Kit

Soundbox-Image

Overview

G-Kit SoundBox is a standalone MP3 player kit built around the Glyph Development Board, inspired by the charm of classic vintage boomboxes and powered by modern modular electronics.

This project combines digital audio processing, intuitive UI design, and hands-on hardware interaction into one compact build. More than just a music player, SoundBox is an educational platform designed to help you learn embedded audio systems while building something fun, tactile, and nostalgic.

Soundbox-circuit

Whether you're a beginner exploring embedded audio for the first time or an advanced maker experimenting with real-time audio pipelines, SoundBox offers a practical and rewarding learning experience, all within the Arduino ecosystem.


Learn Embedded Audio Design

At its core, SoundBox walks you through how digital audio systems work end to end:

Audio Pipeline

What You’ll Learn

  • Digital Audio Processing
    Understand how compressed audio files are decoded and streamed.
  • I²S Audio Interface
    Learn how digital audio data flows from the ESP32 to a dedicated audio chip.
  • Real-Time System Design
    Non-blocking audio playback keeps the UI and buttons fully responsive.
  • Live UI Feedback
    Track metadata, elapsed time, and playback status update instantly on the OLED.

Best part: Everything runs inside Arduino, making it approachable and hackable.


Inspired by the Classics

SoundBox takes visual and tactile inspiration from traditional boombox designs:

  • Symmetrical speaker & button layout
  • Physical controls with clear feedback
  • Minimal, purpose-driven interface
  • Nostalgic feel with modern internals

It’s designed to feel like real hardware not just another exploration platform.


Key Features

🎧 Audio Features

  • MP3 / WAV playback from SD card
  • Track navigation: Next / Previous / Play / Pause
  • Non-blocking audio loop for responsive UI
  • Track metadata support (title & duration)

🖥️ Display & UI

  • High-contrast OLED UI using U8g2lib
  • Track information screen
  • Play / pause state indicator
  • Elapsed time & total duration
  • Volume display (0–100%)
  • Simple UI navigation system (prev / next / select)

🎛️ Controls

  • 3 physical buttons:
    • Previous
    • Play / Select
    • Next
  • Debounced inputs using OneButton library
  • Expandable control logic:
    • Long press
    • Double click
    • Custom actions
  • Volume control range: 0–100%
  • UI ↔ Player sync ensures displayed values always match real output

Repository Contents

This repository contains:

  • Arduino source code for the SoundBox
  • Audio playback & UI logic
  • Button handling and control flow
  • Display rendering and metadata handling

Hardware design files and assembly instructions are not included in this repo.


Build Guide & Hardware

For the complete build guide, wiring diagrams, parts list, and enclosure details, visit:

Build Guide:
https://learn.pcbcupid.com/boards/g-kit/soundbox


Who Is This For?

  • Students learning embedded systems
  • Makers interested in audio electronics
  • Arduino & ESP32 developers
  • Educators teaching digital audio concepts
  • Anyone who loves building real hardware

License

This project is open-source under MIT license. Feel free to learn, modify, and build upon it.


Made with ❤️ by PCBCupid