This is an old revision of the document!
| Name | Giurgiu Andrei-Ștefan |
|---|---|
| Group | 335CA |
The project consists of creating a karaoke mechanism, using a speaker for the instrumental and an LCD screen for the lyrics. The user can choose from a preset selection of songs, loaded on a microSD card. The songs which are listed at the beginning on the screen, can be selected using buttons. The speaker volume can also be adjusted using a potentiometer.
The goal of the project is to create a relaxing and fun atmosphere for the users.
The **ESP32** is the main component of the project, since it will be in charge of reading data from the card and send the audio signal to an amplifier using the I2S protocol. The amplifier will take the digital signal from the ESP32 and transform it into a strong analogue signal. After this the sound will be sent to the speaker. The main storage component is a 16GB microSD card, formatted as Fat32. The instrumental files are stored in the ''.mp3'' format and the lyrics files in the ''.lrc'' format, which is a text format with timestamps before the text, so that syncing with the instrumental is easier. The user interface is made of three classes of components: the display, the volume adapter and the buttons. The display is a simple LCD with an I2C module attached, which at the beginning will show the available songs on the device. Using the buttons, the user can select a song and play it.
The list of components used is:
| Component | Pin Name | Connected To |
|---|---|---|
| ESP32-DEVKITC-32D | 3V3 | Potentiometer (Top Pin) |
| IO34 | Potentiometer (Wiper) | |
| IO27 | PLAY/PAUSE BUTTON | |
| IO14 | UP BUTTON | |
| IO13 | DOWN BUTTON | |
| GND | Common GND | |
| 5V | MB102 (VCC2) | |
| IO23 | Micro SDHC reader (MOSI) | |
| IO22 | PCF8574 (SCL) | |
| IO21 | PCF8574 (SDA) | |
| IO19 | Micro SDHC reader (MISO) | |
| IO18 | Micro SDHC reader (SCK) | |
| IO5 | Micro SDHC reader (CS) | |
| IO16 | MAX98357A (DIN) | |
| IO26 | MAX98357A (BCLK) | |
| IO25 | MAX98357A (LRC) | |
| MB102 Power Supply | VCC2 | ESP32 (5V), MAX98357A (Vin), PCF8574 (VCC), Micro SDHC reader (VCC) |
| GND | Common GND | |
| VCC1 | Not Connected | |
| MAX98357A | LRC | ESP32 (IO25) |
| BCLK | ESP32 (IO26) | |
| DIN | ESP32 (IO16) | |
| GAIN | Not connected | |
| SD | Not Connected | |
| GND | Common GND | |
| Vin | MB102 (VCC2) | |
| + | Speaker (+) | |
| - | Speaker (-) | |
| PCF8574 | VCC | MB102 (VCC2) |
| GND | Common GND | |
| SDA | ESP32 (IO21) | |
| SCL | ESP32 (IO22) | |
| Micro SDHC reader | CS | ESP32 (IO5) |
| SCK | ESP32 (IO18) | |
| MOSI | ESP32 (IO23) | |
| MISO | ESP32 (IO19) | |
| VCC | MB102 (5V) | |
| GND | Common GND | |
| Potentiometer | Top Pin | ESP32 (3V3) |
| Wiper | ESP32 (IO34) | |
| Bottom Pin | Common GND | |
| PLAY/PAUSE BUTTON | Pin 1 | ESP32 (IO27) |
| Pin 2 | Common GND | |
| UP BUTTON | Pin 1 | ESP32 (IO14) |
| Pin 2 | Common GND | |
| DOWN BUTTON | Pin 1 | ESP32 (IO13) |
| Pin 2 | Common GND | |
| Speaker | + | MAX98357A (+) |
| - | MAX98357A (-) |
Under construction while I think about using State Machine or FreeRTOS.
To be determined after Software Milestone.
To be determined after Software Milestone.
Click here.
| Component | Link Datasheet |
|---|---|
| ESP32-WROOM-32D | Datasheet microcontroller |
| Amplifier MAX98357A | Datasheet MAX98357A |
| LCD 20×4 | Datasheet display |
| MB102 Power supply module | Datasheet MB102 |
| MicroSDHC reader module | Datasheet MicroSDHC |