Choose the development platform you want to use, view the corresponding tutorial&quick-Start.

This tutorial will show you how to control FACES devices through the UIFlow graphical programming platform
This tutorial will show you how to control the FACES device through the UIFlow2.0 graphical programming platform
This tutorial will show you how to program and control FACES devices through Arduino IDE
This tutorial will show you how to control FACES devices through Micropython programming


FACES Kit is a series of functional panels integration containing three most commonly used panels integration containing three most commonly used panels 'GameBoy','Calculator' and 'QWERTY'. With MEGA328 processor built inside, it works under slave mode through I2C communication protocol. With these 3 different panels, it will be very easy to support keyboard interaction with your M5Core.

Power on/off:
Power on: click the red power button on the left
Power off: Quickly double-click the red power button on the left
Note: By default, when USB is powered, it cannot be shut down**

Product Features

  • ESP32-based
  • Built in 6-axis IMU
  • Speaker, 3 Buttons, LCD
  • TF card slot (16G Maximum size)
  • Battery Socket & lithium polymer Battery
  • Replaceable multifunction panel
  • Extendable Pins & Holes
  • M-Bus Socket & Pins
  • Compatible with multi-platform development:


  • 1x GRAY
  • 1x FACES Charger table
  • 1x FACES sling
  • 1x panel sticker
  • 3x FACES Keyboard(GameBoy, Calculator, QWERTY)
  • 10x Female-male dupont
  • 6x M3x12 screw
  • 1x hexagon screw key
  • 1x Type-C USB(100cm)


  • Gameboy
  • Calculator
  • Input peripherals
  • Internet of things terminal controller
  • DIY creation


Resources Parameter
ESP32 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi
Flash Memory 16MB
Power Input 5V @ 500mA
Port TypeC x 1, GROVE(I2C+I/0+UART) x 1
IPS Screen 2 inch, 320x240 Colorful TFT LCD, ILI9342C, max brightness 853nit
Speaker 1W-0928
Button Custom button x 1
Core bottom port PIN (G1,G2,G3,G16, G17, G18, G19, G21, G22, G23, G25, G26, G35, G36)
MEMS BMM150 + MPU6886
Battery 600 mAh @ 3.7V
Antenna 2.4G 3D Antenna
Operating Temperature 0°C to 60°C
Net weight 94g
Gross weight 264g
Product Size 58.2mm x 54.2mm x 18.7mm
Package Size 120mm x 85mm x 65mm
Case Material Plastic ( PC )

Driver Installation

Click the link below to download the driver that matches the operating system. There are currently two driver chip versions (CP210X/CH9102). Please download the corresponding driver compressed package according to the version you are using. After decompressing the compressed package, select the installation package corresponding to the number of operating systems to install. (If you are not sure of the USB chip used by your device, you can install both drivers at the same time. During the installation process of CH9102_VCP_SER_MacOS v1.7, an error may occur, but the installation is actually completed, just ignore it.)
Driver name Applicable driver chip Download link
CP210x_VCP_Windows CP2104 Download
CP210x_VCP_MacOS CP2104 Download
CP210x_VCP_Linux CP2104 Download
CH9102_VCP_SER_Windows CH9102 Download
CH9102_VCP_SER_MacOS v1.7 CH9102 Download


EasyLoader is a concise and fast program writer, which has a built-in case program related to the product. It can be burned to the main control by simple steps to perform a series of function verification.

Download Windows Version Easyloader

Download MacOS Version Easyloader

This case will run the FACES keyboard input test program by default. Restart the selected program list to switch between different panel test items.

Key string values

Key AC M % ÷ 0-9 X - + = +/- .
Val A M % / 0-9 * - + = ` .

Key Int Values (Int values are the ASCII value of each key)

Key AC M % ÷ 0-9 X - + = +/- .
Val 65 77 37 47
48-57 42 45 43 61 96 46


Mega328 ISP Download interface Pin foot definition

IP5306 charging/discharging,Voltage parameter

charging discharging
0.00 ~ 3.40V -> 0% 4.20 ~ 4.07V -> 100%
3.40 ~ 3.61V -> 25% 4.07 ~ 3.81V -> 75%
3.61 ~ 3.88V -> 50% 3.81 ~ 3.55V -> 50%
3.88 ~ 4.12V -> 75% 3.55 ~ 3.33V -> 25%
4.12 ~ / -> 100% 3.33 ~ 0.00V -> 0%


PORT-A(Red) G21/22 I2C
PORT-B(Black) G26/36 DAC/ADC
PORT-C(Blue) G16/17 UART


8 channels 10 channels 2 channels 2 channels
G32-39 G0/2/4/12-15/25-27 G25 G26



For more information about Pin assignment and Pin Remapping, Please refer to ESP32 Datasheet







M5Stack user Yama-chan combined a Raspberry Pi Zero with the Faces Keyboard kit to make an awesome linux pocket computer.
After I recently discovered how to play WAV files on the M5Stack, I thought it would be perfect to make a flashcard system.
AI camera that automatically sorting out the garbage.
This is a calculator application that uses the M5Stack Faces Calculator module.
The classic '70s and '80s Simon game revived on the M5Stack and created fully in UIflow.
As part of M5Stack COVID-19 Contest, I came up with fun idea to use blockchain and IoT to track people who checking in any places.
You could run a sketch for Arduboy with minor change, on M5Stack FACES!
A simple calculator program created in Uiflow
I have made the digital command station for model trains (www. zavavov. cz/en/tcs-en/) and now I am working on Wireless controller for it.


  • Click here to download Arduino code

GameBoy Keyboard

If you are up for some classic video games, GameBoy panel plus M5Core is the perfect combination. All you need to do is to upload an emulator onto the M5Stack and attach the GameBoy panel underneath. This is how it will be like:

Use ESPTool to burn game tutorial: gameboy_burn_a_nes_game

Click here to download the testing game program

The other panels are Calculator, Keyboard, Encoder, Joystick, Fingerprint, RFID and QWERTY Keyboard. You can apply them to those situations which are in need of inputting information and hard to control.

To reduce the difficulty of disassembly when removing the replacement panel, it is recommended to remove the M5Core and then disassemble the panel.

Version Change

Release Date Product Change
2017.12 Initial public release
2019.6 MPU9250 changed to MPU6886+BMM150
2019.7 TN screen changed to IPS screen
Note: 2018.2A PCB version of the device does not support C2C (TypeC to TypeC) connection and PD power supply.