forked from gronod/squeezelite-esp32
4.2 KiB
4.2 KiB
Guition JC4827W543C Board Setup Guide
This guide explains how to configure and build squeezelite-esp32 for the Guition JC4827W543C development board.
Board Features
- Processor: ESP32-S3-WROOM-1 (dual-core, 240MHz)
- Display: 4.3" ILI9488 LCD (480x272 pixels)
- Touch: GT911 capacitive touch controller
- Interface: QSPI display interface
- Memory: 4MB Flash, 4MB PSRAM
- Connectivity: WiFi, Bluetooth
Hardware Configuration
Display Connections (QSPI)
- CLK: GPIO47
- DATA0: GPIO21
- DATA1: GPIO48
- DATA2: GPIO40
- DATA3: GPIO39
- CS: GPIO45
- DC: Not used with QSPI
- RST: GPIO38 (if available)
I2C Connections (Touch)
- SDA: GPIO8
- SCL: GPIO4
- Touch INT: GPIO3
- Touch RST: GPIO38
Audio I2S (External DAC Required)
- BCK: GPIO15
- WS: GPIO16
- DO: GPIO17
- DI: (not used for output only)
Other GPIO
- Backlight: GPIO1 (PWM controlled)
Software Configuration
1. Build Configuration
Use the provided build script:
# Make the script executable
chmod +x build-guition.sh
# Configure and build
./build-guition.sh
Or manually:
# Set ESP32-S3 target
export IDF_TARGET=esp32s3
# Copy Guition configuration
cp squeezelite-esp32-Guition-sdkconfig.defaults sdkconfig.defaults
# Configure project
idf.py menuconfig
# Build
idf.py build
2. Menuconfig Settings
In idf.py menuconfig, select:
Target Configuration:
Squeezelite-ESP32→Guition JC4827W543C
Audio Settings:
- Configure I2S GPIO pins for your external DAC
- Default: BCK=15, WS=16, DO=17
Display Settings:
- Should be automatically configured as:
- Type: QSPI
- Driver: ILI9488
- Width: 480
- Height: 272
- CS: 45
- Speed: 20MHz
I2C Settings:
- SDA: 8
- SCL: 4
- Speed: 400kHz
- Port: 0
3. External Audio DAC
The Guition board does not have a built-in audio DAC. You must connect an external I2S DAC such as:
- PCM5102
- TAS575x series
- ES8388
- AC101
Connect the DAC to the I2S pins and configure it in the NVS settings or through the web UI.
Flashing the Firmware
# Flash to the board
idf.py -p /dev/ttyUSB0 flash
# Monitor output (optional)
idf.py -p /dev/ttyUSB0 monitor
First Boot Configuration
- Connect to the WiFi AP created by the device (SSID: SqueezeESP32-XXXXXX)
- Open the web configuration interface
- Configure your WiFi network
- Set up your audio DAC if needed
- Configure LMS server connection
Display Features
The ILI9488 driver supports:
- 16-bit RGB565 color
- Hardware acceleration
- Shadow buffering for performance
- Automatic dirty region tracking
- Rotation and flip options
Touch Support
Touch functionality is planned but not yet implemented. The GT911 touch controller is connected via I2C.
Troubleshooting
Display Not Working
- Check QSPI GPIO connections
- Verify CS pin is correctly set to GPIO45
- Ensure proper power supply (3.3V for display logic)
Audio Not Working
- Verify external DAC is properly connected
- Check I2S GPIO assignments
- Configure DAC model in web UI if using a supported DAC
Build Issues
- Ensure ESP-IDF supports ESP32-S3
- Check that all required components are included
- Verify GPIO pin assignments don't conflict
Performance Notes
- The 480x272 display requires significant memory bandwidth
- PSRAM is used for display framebuffer (≈260KB)
- Audio performance may be affected at high display refresh rates
- Consider reducing display update rate if audio issues occur
GPIO Map Summary
| GPIO | Function | Direction |
|---|---|---|
| 1 | Backlight PWM | Out |
| 3 | Touch INT | In |
| 4 | I2C SCL | Out |
| 8 | I2C SDA | I/O |
| 15 | I2S BCK | Out |
| 16 | I2S WS | Out |
| 17 | I2S DO | Out |
| 21 | QSPI DATA0 | Out |
| 39 | QSPI DATA3 | Out |
| 40 | QSPI DATA2 | Out |
| 45 | QSPI CS | Out |
| 47 | QSPI CLK | Out |
| 48 | QSPI DATA1 | Out |
| 38 | Touch RST | Out |
Support
For issues specific to the Guition board implementation:
- Check this README first
- Review the squeezelite-esp32 documentation
- Open an issue on the GitHub repository
For general squeezelite-esp32 questions, refer to the main project documentation and forums.