Files
pi-dashboard/components/ExternLib/codec_board/README.md
Mikkeli Matlock 19db125619 initial commit
2026-02-15 02:48:59 +09:00

2.1 KiB

Codec_board

Overview

codec_board is a simple implementation of board support for a variety of ESP32 series boards. Its main purpose is to:

  • Gather board-specific peripheral settings from user.
  • Add drivers for the supported peripherals.
  • Provide high-level APIs to interact with the peripherals or abstract the peripherals into manageable handles.

Supported Peripherals

  • Codec
    Currently support ES8311, ES8388, ES7210, ES7243, user can add other codec also.
    After init_codec is called, codec is abstracted into esp_codec_dev handle.
    Then use can use esp_codec_dev API to do playback and record.
    Simple configuration of codec as:
out: {codec: ES8311, pa: 38, use_mclk: 0, pa_gain:6}
in: {codec: ES7210, i2s_port: 1}
  • SDcard
    Users can configure SDCard related GPIO then use API mount_sdcard to mount sdcard to use it.
    SDcard configuration as:
sdcard: {clk: 43, cmd: 44, d0: 39, d1: 40, d2: 41, d3: 42}
  • Camera
    Currently support DVP and MIPI camera, use can get camera settings use API get_camera_cfg

  • LCD
    Currently only support LCD on S3_Korvo_V2 and ESP32_P4_FUNCTION_EV. User can get LCD handle through API board_get_lcd_handle after board_lcd_init

Customized a New Board

To reuse the pre-defined devices, follow these steps:

  1. Add a new section to the board_cfg.txt file and modify corresponding GPIO settings as needed.
  2. Call set_codec_board_type with the name of the newly added section.
    For new devices, you will need to manually modify the code.

Comparison with esp-bsp

esp-bsp supports almost all devices carried on board while this module only support media related devices. It provides a quick verification option if reusing the same device with different GPIO settings. Users can easily replace this module with esp-bsp by making the following substitutions:

  • bsp_audio_codec_speaker_init: Replaces get_playback_handle
  • bsp_audio_codec_microphone_init: Replaces get_record_handle
  • bsp_display_new: Replaces board_get_lcd_handle