ESP-Mosaico Smart Interaction Development Board User Guide

ESP-Mosaico is an expandable smart interaction development kit based on ESP32-S31. It targets magnetic expansion, motion sensing, square touch display, and edge multimedia scenarios. The device integrates a 480 × 480 QSPI square touch display, audio codec and amplifier, a 6-axis IMU, dual magnetometers, SPI NAND flash, and left/right 2 × 10P, 2.54 mm pitch module headers for camera and other expansions.

ESP-Mosaico Appearance


1. Board Appearance and Core Components

ESP-Mosaico consists of a CoreBoard and a BaseBoard. The front views and their main components are shown first, followed by the back views and their main components.

Description of Components

Front

ESP-Mosaico Front (click to enlarge)

ESP-Mosaico CoreBoard Front (click to enlarge)

ESP-Mosaico BaseBoard Front (click to enlarge)

No.Key ComponentDescription
CoreBoardCore board integrating the SoC, RF antenna, power management, display connector, audio codec, and sensors.
1ESP32-S31NRV16ESP32-S31 SoC, RISC-V 32-bit dual-core up to 320 MHz with 16 MB in-package PSRAM; supports 2.4 GHz Wi-Fi 6, Bluetooth 5.4 (LE + BR/EDR), and IEEE 802.15.4.
2KH-3216-A35 Ceramic Antenna2.4 GHz chip ceramic antenna for Wi-Fi and Bluetooth RF.
3Orange LEDProgrammable mono status LED on GPIO3, active-low.
4TLV62569Buck (DCDC) converter that converts the input supply to the system 3.3 V rail.
5BMM1503-axis magnetometer (BMM150 #2), I2C address 0x11.
6SY7088Boost (BOOST) converter for rails higher than the battery voltage.
7Display ConnectorConnects the 480 × 480, 2.16-inch QSPI touch display (CO5300 driver + CST9220 touch).
8TP4057Li-ion battery charger for the onboard battery.
9BQ27220Fuel gauge at I2C address 0x55 for voltage, current, state of charge (SOC), and related status.
103V3 Power LEDLights when the 3.3 V rail is present after power-on; turns off when the device is powered off.
11HUSB320USB Type-C interface controller that handles CC detection and controls the USB power direction.
12Charge LEDCharge status indicator: red while charging, green when fully charged.
13SAM8108Power on/off controller used with the POWER button.
14HE9073A33LDO providing a dedicated supply to the audio codec to reduce noise.
15NS4150BLow-EMI, filterless 3 W mono Class-D amplifier for the speaker.
16ES8311Low-power mono audio codec, I2C address 0x19, connected to the SoC over I2S.
17BMM1503-axis magnetometer (BMM150 #3), I2C address 0x12.
18BMI2706-axis IMU (accelerometer + gyroscope), I2C address 0x69.
19GD25Q128EWIGR16 MB (128 Mbit) SPI NOR flash for program and data storage.
20GD5F1GM7UEYIGR1 Gbit (128 MB) SPI NAND flash for large-capacity asset storage.
BaseBoardBase board integrating the speaker, battery, and left/right 2 × 10P module headers, mated to the CoreBoard through a board-to-board connector.
21SpeakerOnboard speaker driven by the NS4150B amplifier.
22BTB Connector60-pin 0.5 mm board-to-board connector linking the CoreBoard and BaseBoard.
23Expansion Header 12 × 10P dual-row, 2.54 mm pitch header exposing GPIOs and power for expansion.
24Battery3.7 V / 65 mAh Li-ion battery for portable power.
25Expansion Header 2Additional header exposing the remaining GPIOs and power.

Back

ESP-Mosaico Back (click to enlarge)

ESP-Mosaico CoreBoard Back (click to enlarge)

ESP-Mosaico BaseBoard Back (click to enlarge)

No.Key ComponentDescription
CoreBoardCore board back side, exposing the buttons, Type-C connector, microphone, and vibration motor.
1BTB ConnectorBoard-to-board connector mating with the BaseBoard (back side).
2Vibration MotorVibration motor controlled by GPIO8 (active-high) for haptic feedback.
3BOOT ButtonHold during power-up to enter firmware download mode.
4LMA2718B331-OE1Onboard microphone connected to the ES8311 for voice capture.
5Type-C ConnectorUSB 2.0 High-Speed interface for power, debug/download, and USB communication, with Li-ion charging support.
6POWER ButtonSingle press toggles the device power on/off.
7Function ButtonApplication button on GPIO7, active-low.
BaseBoardBase board back side, providing debug pads and back expansion power pads.
8Debug PadsTest points exposing GND / TX / RX / BOOT / EN / 3V3 debug signals.
9Back Expansion PadsBack-side expansion pads exposing I2C and power interfaces for supplying the device.

2. Power Supply Options

You can power the board in the following ways:

  1. Through the Type-C (USB-C) port:

    • Connect a USB Type-C cable to the Type-C port.
  2. Through the back expansion pads:

    • Supply external power through the back expansion pads on the BaseBoard.
  3. Through the battery:

    • The board supports a 3.7 V / 65 mAh Li-ion battery.

3. Start Application Development

Before powering up, make sure ESP-Mosaico is in good condition.

Visit the ESP-Mosaico official website for product details and related development resources.

Required Hardware

  • ESP-Mosaico
  • USB cable (data-capable)
  • Computer (Windows, Linux, or macOS)

[!NOTE] Be sure to use a proper USB data cable. Some cables are charge-only and cannot be used for data transfer or programming.

Hardware Notes

  1. Flashing

    • Connect ESP-Mosaico to the computer with a USB cable through the onboard Type-C port. This port is USB 2.0 High-Speed and supports both power delivery and USB data communication. The native ESP32-S31 chip only supports firmware download through this port in download mode, and does not provide auto-download or log output by itself.

    • The factory firmware integrates a CDC virtual serial port and supports auto-download and serial log output.

    • If flashing fails, try holding the BOOT button while the device is powered off, then power it on to enter download mode.

    • In addition, the left and right module interfaces provide USB Serial/JTAG (left) and a TX/RX UART (right), both of which can be used for debugging and firmware download.

  2. Power

    • The Type-C port can power the device. The onboard battery is charged at a rated current of 65 mA. When a USB sink device is attached, the Type-C port automatically switches to source mode, with a maximum output of 5 V / 500 mA. If the load exceeds 1 A, the port shuts off automatically and recovers after a period of time.

    • The left and right module interfaces also provide outward 3.3 V and 5 V rails (3V / 5V). These rails are output only when GPIO60 is driven low.

    • VIN is an input supply pin that can also charge the onboard battery.

[!NOTE] The board communicates with the PC over USB. Most operating systems (Windows, Linux, macOS) already include the required drivers. If the device is not recognized or the serial connection fails, see Establish Serial Connection with ESP32-S31 for driver installation details.


4. BSP and Examples

Espressif provides a board support package (BSP) for ESP-Mosaico to simplify initialization of the LCD, touch, audio, sensors, battery, NAND flash, module resources, and USB console.

  • BSP and examples: esp-mosaico
  • Recommended application framework: ESP-Claw.
  • After the first successful flash, use the BSP USB CDC console and auto-download support. Typical commands:

   idf.py set-target esp32s31

   idf.py -p /dev/ttyACM0 flash monitor

[!NOTE]

  • The first flash may require manually entering ROM download mode.
  • The USB device briefly disconnects while the chip resets; IDF Monitor usually reconnects automatically.
  • Use monitor --no-reset when attaching without restarting the application.
  • Related options: CONFIG_BSP_USB_CONSOLE, CONFIG_BSP_USB_CONSOLE_AUTO_INIT, CONFIG_BSP_USB_AUTO_DOWNLOAD.

5. Purchase and Official Channels

  • Buy ESP-Mosaico: Go to the AliExpress page to purchase ESP-Mosaico development kit.

Download the following documents from the ESP-Mosaico User Guide: