Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use M5StickS3: Examples, Pinouts, and Specs

Image of M5StickS3
Cirkit Designer LogoDesign with M5StickS3 in Cirkit Designer

Introduction

The M5StickS3 is a compact and portable development board manufactured by M5Stack. It is powered by the ESP32-S3 microcontroller, which features dual-core processing, Wi-Fi, and Bluetooth connectivity. The M5StickS3 is designed for Internet of Things (IoT) applications and is equipped with a built-in display, multiple sensors, and GPIO pins for interfacing with external components. Its small form factor and versatile features make it ideal for prototyping, wearable devices, and embedded systems.

Explore Projects Built with M5StickS3

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-S3 GPS and Wind Speed Logger with Dual OLED Displays and CAN Bus
Image of esp32-s3-ellipse: A project utilizing M5StickS3 in a practical application
This circuit features an ESP32-S3 microcontroller interfaced with an SD card module, two OLED displays, a GPS module, and a CAN bus module. The ESP32-S3 records GPS data to the SD card, displays speed on one OLED, and shows wind speed from the CAN bus on the other OLED, providing a comprehensive data logging and display system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Beelink Mini S12 N95 and Arduino UNO Based Fingerprint Authentication System with ESP32 CAM
Image of design 3: A project utilizing M5StickS3 in a practical application
This circuit features a Beelink MINI S12 N95 computer connected to a 7-inch display via HDMI for video output and two USB connections for power and touch screen functionality. An Arduino UNO is interfaced with a fingerprint scanner for biometric input. The Beelink MINI S12 N95 is powered by a PC power supply, which in turn is connected to a 240V power source. Additionally, an ESP32 CAM module is powered and programmed via a USB plug and an FTDI programmer, respectively, for wireless camera capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
Solar-Powered GSM/GPRS+GPS Tracker with Seeeduino XIAO
Image of SOS System : A project utilizing M5StickS3 in a practical application
This circuit features an Ai Thinker A9G development board for GSM/GPRS and GPS/BDS connectivity, interfaced with a Seeeduino XIAO microcontroller for control and data processing. A solar cell, coupled with a TP4056 charging module, charges a 3.3V battery, which powers the system through a 3.3V regulator ensuring stable operation. The circuit likely serves for remote data communication and location tracking, with the capability to be powered by renewable energy and interfaced with additional sensors or input devices via the Seeeduino XIAO.
Cirkit Designer LogoOpen Project in Cirkit Designer
I2C-Controlled OLED Display with External EEPROM and Interactive Pushbuttons
Image of godmode: A project utilizing M5StickS3 in a practical application
This is a microcontroller-based interactive device featuring a Wemos D1 Mini, an OLED display, external EEPROM, and an I/O expander. It includes user input buttons and status LEDs, with potential MIDI interface capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with M5StickS3

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of esp32-s3-ellipse: A project utilizing M5StickS3 in a practical application
ESP32-S3 GPS and Wind Speed Logger with Dual OLED Displays and CAN Bus
This circuit features an ESP32-S3 microcontroller interfaced with an SD card module, two OLED displays, a GPS module, and a CAN bus module. The ESP32-S3 records GPS data to the SD card, displays speed on one OLED, and shows wind speed from the CAN bus on the other OLED, providing a comprehensive data logging and display system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of design 3: A project utilizing M5StickS3 in a practical application
Beelink Mini S12 N95 and Arduino UNO Based Fingerprint Authentication System with ESP32 CAM
This circuit features a Beelink MINI S12 N95 computer connected to a 7-inch display via HDMI for video output and two USB connections for power and touch screen functionality. An Arduino UNO is interfaced with a fingerprint scanner for biometric input. The Beelink MINI S12 N95 is powered by a PC power supply, which in turn is connected to a 240V power source. Additionally, an ESP32 CAM module is powered and programmed via a USB plug and an FTDI programmer, respectively, for wireless camera capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SOS System : A project utilizing M5StickS3 in a practical application
Solar-Powered GSM/GPRS+GPS Tracker with Seeeduino XIAO
This circuit features an Ai Thinker A9G development board for GSM/GPRS and GPS/BDS connectivity, interfaced with a Seeeduino XIAO microcontroller for control and data processing. A solar cell, coupled with a TP4056 charging module, charges a 3.3V battery, which powers the system through a 3.3V regulator ensuring stable operation. The circuit likely serves for remote data communication and location tracking, with the capability to be powered by renewable energy and interfaced with additional sensors or input devices via the Seeeduino XIAO.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of godmode: A project utilizing M5StickS3 in a practical application
I2C-Controlled OLED Display with External EEPROM and Interactive Pushbuttons
This is a microcontroller-based interactive device featuring a Wemos D1 Mini, an OLED display, external EEPROM, and an I/O expander. It includes user input buttons and status LEDs, with potential MIDI interface capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT device prototyping
  • Wearable technology
  • Environmental monitoring
  • Smart home automation
  • Educational projects and STEM learning
  • Portable data logging and visualization

Technical Specifications

The M5StickS3 is packed with features that make it a powerful and versatile development board. Below are its key technical specifications:

General Specifications

Feature Specification
Microcontroller ESP32-S3 (Xtensa® 32-bit LX7 dual-core processor)
Wireless Connectivity Wi-Fi 802.11 b/g/n, Bluetooth 5.0 LE
Display 0.96-inch TFT LCD, 160x80 resolution
Flash Memory 16 MB
PSRAM 8 MB
Power Supply 5V via USB-C or 3.7V LiPo battery
Battery Built-in 80mAh LiPo rechargeable battery
Dimensions 48.2mm x 25.5mm x 14.2mm

Pin Configuration and Descriptions

The M5StickS3 features a GPIO header for interfacing with external components. Below is the pin configuration:

Pin Name Function Description
GND Ground Common ground for the circuit
5V Power Input 5V power supply input
3V3 Power Output 3.3V power output
GPIO0 General Purpose I/O Configurable digital/analog pin
GPIO1 General Purpose I/O Configurable digital/analog pin
GPIO2 General Purpose I/O Configurable digital/analog pin
SDA I2C Data Line Data line for I2C communication
SCL I2C Clock Line Clock line for I2C communication

Usage Instructions

The M5StickS3 is easy to use and can be programmed using popular development environments such as Arduino IDE, MicroPython, or ESP-IDF. Below are the steps to get started:

Setting Up the M5StickS3

  1. Install Drivers: Ensure that the necessary USB drivers for the ESP32-S3 are installed on your computer.
  2. Download Development Environment: Install the Arduino IDE or another compatible IDE.
  3. Install ESP32 Board Package:
    • Open the Arduino IDE.
    • Go to File > Preferences and add the following URL to the "Additional Board Manager URLs" field:
      https://dl.espressif.com/dl/package_esp32_index.json
    • Go to Tools > Board > Boards Manager, search for "ESP32," and install the package.
  4. Connect the M5StickS3: Use a USB-C cable to connect the board to your computer.

Example Code: Displaying Text on the Screen

The following Arduino code demonstrates how to display text on the M5StickS3's built-in screen:

#include <M5StickCPlus.h> // Include the M5Stick library

void setup() {
  M5.begin(); // Initialize the M5StickS3
  M5.Lcd.setRotation(1); // Set screen orientation
  M5.Lcd.fillScreen(BLACK); // Clear the screen with a black background
  M5.Lcd.setTextColor(WHITE); // Set text color to white
  M5.Lcd.setTextSize(2); // Set text size
  M5.Lcd.setCursor(10, 10); // Set cursor position
  M5.Lcd.print("Hello, M5StickS3!"); // Display text on the screen
}

void loop() {
  // No actions in the loop for this example
}

Important Considerations and Best Practices

  • Power Supply: Use a reliable 5V USB power source or ensure the built-in battery is charged.
  • GPIO Voltage Levels: The GPIO pins operate at 3.3V. Avoid applying higher voltages to prevent damage.
  • Heat Management: The ESP32-S3 may generate heat during operation. Ensure proper ventilation if used in an enclosure.
  • Firmware Updates: Regularly check for firmware updates from M5Stack to ensure optimal performance.

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected by the computer:

    • Ensure the USB-C cable supports data transfer (not just charging).
    • Verify that the correct USB drivers are installed.
    • Try a different USB port or cable.
  2. The screen does not display anything:

    • Check the power supply and ensure the board is powered on.
    • Verify that the code is correctly uploaded and includes the M5.begin() initialization.
  3. Wi-Fi or Bluetooth is not working:

    • Ensure the correct credentials are provided in the code for Wi-Fi.
    • Check that the ESP32-S3 firmware is up to date.
  4. The board overheats:

    • Avoid running high-power tasks for extended periods.
    • Use a heatsink or ensure proper ventilation.

FAQs

Q: Can I use the M5StickS3 with MicroPython?
A: Yes, the M5StickS3 supports MicroPython. You can flash the MicroPython firmware and use the mpy libraries provided by M5Stack.

Q: What is the battery life of the M5StickS3?
A: The built-in 80mAh battery provides limited runtime, depending on the application. For extended use, connect an external power source.

Q: Can I connect external sensors to the M5StickS3?
A: Yes, the GPIO pins and I2C interface allow you to connect a variety of external sensors and modules.

Q: Is the M5StickS3 compatible with Arduino libraries?
A: Yes, the M5StickS3 is compatible with most Arduino libraries, especially those designed for the ESP32 platform.