MouDio
MouDio: a compact and portable Bluetooth speaker with high-quality components for powerful, clear sound. Moudio is built using four PCBs and laser-cut acrylic grills with 3D printed parts, and it can be easily assembled using the provided instructions.
Install / Use
/learn @Mala2/MouDioREADME
Overview
Introducing the fully functional Bluetooth Speaker, featuring modern design and high-performance capabilities. With the choice of ATmega328P or ESP32 microcontroller at its core and compatibility with Arduino & Platformio, this portable speaker offers easy construction, allowing users to quickly and easily set it up, and the high-quality audio ensures that your music will sound great.
The speaker also boasts the Qualcomm® CSR8675 FSC-BT806 and 2x Texas Instruments® TAS5825M amplifiers, providing low distortion and powerful output of 2 x 30 W.
The PCB prototypes have been built and tested, with excellent results. The hardware design is complete, and we are now focusing on the software development. We invite you to explore the shared files for more information on this exciting project.
<p align="center"> <img src="https://raw.githubusercontent.com/Mala2/Bluetooth-Speaker/d2fb2cd54b1a1c7008afc3e6f91d7903d9749cc6/STL-Files/Pics/line%20logo%20v3.svg" width=1200>Features
-
Amplifier - 2x Texas Instruments® TAS5825M Which has low distortion can output 2x 30 W, 2.2 Mode (8-Ω, 24 V, THD+N=1%)
-
Connectivity - The FSC-BT806 Feasycom features Qualcomm® CSR8675 - Bluetooth V5.0 Support HSP, HFP, A2DP, AVRCP, PBAP,MAP,SPP,BLE profile - Coverage up to 15m - 2 microphone inputs - Audio interfaces: I²S/PCM and SPDIF
-
Power - Accept USB C IN Delivery Up to 2.5A Charge Current - USB A OUT Capable of 10W-5V,2A - Low idle power consumption - 7500mAh battery capacity upgradeable to 15000mAh
-
Arduino IDE Programmable Bluetooth-Speaker
Repository Contents
👩🚀 3D Files • The Bluetooth-Speaker components in many formats (probably what you are looking for to 3d print)
🔉 Hardware • The internal PCBs files (Gerber, Schematic)
💻 Software • Codes and Libraries for use with the MouDio
📄 Documentation • Datasheets, other references
🎲 Prototype • Evaluation board, Cases, etc.
<p align="center"> <img src="https://raw.githubusercontent.com/Mala2/Bluetooth-Speaker/d2fb2cd54b1a1c7008afc3e6f91d7903d9749cc6/STL-Files/Pics/line%20logo%20v3.svg" width=1200>Block Diagram
The following displays the latest Block Diagram; Things may change, and probably there may be some discrepancy between the schematic and the block diagram.
<p align="center"> <img src="https://raw.githubusercontent.com/Mala2/Bluetooth-Speaker/d2fb2cd54b1a1c7008afc3e6f91d7903d9749cc6/STL-Files/Pics/line%20logo%20v3.svg" width=1200>Schematics
The following displays the TOP Main PCB. It contain the Atmega328|ESP32 uC, LED Driver, Haptic Driver, RTC, Touch Sensor (TPR54|48), EEPROM*, Supervisory, Addressable LEDs

The following displays the BACK Charger PCB.It contain MAX77961 3S Charger, MAX17320 Fuel Gauge, MAX25231ATCA 5V Buck, MAX77503BEWC33 3V3 Buck, 3S Battery.


The following displays the BOTTOM Amplifier PCB.It contain the Amplifier - 2x Texas Instruments® TAS5825M and The FSC-BT806 Feasycom Bluetooth Moduel.


The following displays the FRONT Speaker PCB.To hold the Speakers and front acrylic grill


Working Principal
1. First, I am going to use the TPR54 Touch Sensor Modules to turn ON/OFF the system, if pin [I/O-2] "TAP" it is pressed >2s. This module can send active High signal output to the ATmega328p pin 2 [INT0].
2. After waking up, the ATmega328 will send a high signal to turn on the Bluetooth Module BT-806 through pin [8] "Vreg" and the TAS5825 circuitry through pin [A3] "PDN".
🔸 Startup Procedures: [I/O_2] "TAP" pressed for >2s
-
The ATmega328p wakes up upon High signal on pin 2 [INT0].
-
Send a 3V3 high signal to haptic driver to enable the IC.
-
initialize the LED driver IS31FL3195 to wakeup. -
Turn on the haptic driver as an indication for 1s.
-
Turn on the LED driver to play a motion from left to right as wake up inication.
-
Turn on the LED driver to reflect the current SOC% of the battery with the help of the fuel gauge MAX17320 and check whether the charger is presnt or not set the LEDs accordingly.
-
Send a 3V3 high signal of more than 100ms to Bluetooth Module BT-806 through VREG_IN (PLAY/PAUSE) pin to boot the module, then bring the signal back to low.
-
Once power supplies are stable, bring up PDN of TAS5825 to High and wait 5ms.
-
Set the Amplifier TAS5825 into the HiZ state and enable DSP via the I2C control port.
-
Wait 5ms at least. Then initialize the DSP Coefficient, then set the TAS5825 to Play state.
-
<br />initialize the charger MAX77961.
🔸 Shutdown Procedures: [I/O_2] "TAP" pressed for >2s
-
Configure the Register 0x03h -D[1:0]=10 (Hiz) via the I2C control port and Pull PDN low.
-
Wait at least 6ms (this time depends on the LRCLK rate, digital volume, and digital volume ramp-down rate).
-
Send a 3V3 high signal of more than 100ms to Bluetooth Module BT-806 through VREG_IN (PLAY/PAUSE) pin to turn off the modul
Related Skills
docs-writer
99.3k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
338.7kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
Design
Campus Second-Hand Trading Platform \- General Design Document (v5.0 \- React Architecture \- Complete Final Version)1\. System Overall Design 1.1. Project Overview This project aims t
ddd
Guía de Principios DDD para el Proyecto > 📚 Documento Complementario : Este documento define los principios y reglas de DDD. Para ver templates de código, ejemplos detallados y guías paso



