The AtomS3 (SKU C123) is M5Stack's 24 x 24 mm ESP32-S3 square: a 0.85-inch 128x128 GC9107 LCD on the top face, an MPU6886 IMU (I2C 0x68) underneath, one HY2.0-4P connector (Black GND / Red 5V / Yellow G2 / White G1) and a USB-C port. The screen is why this board's GPIO budget is unusual: MOSI=G21, SCK=G17, CS=G15, RS=G33, RST=G34 and backlight=G16 are all occupied by the LCD.
Count the rest in two groups. Exclusively free: G5, G6, G7, G8 on the bottom edge (left column, top-to-bottom 3V3 / G5 / G6 / G7 / G8 per the official PinMap image) and G1 / G2 on the HY2.0-4P port — the port and the edge pads are two separate contact groups. Shared: the right edge column reads G39 / G38 / 5V / GND top-to-bottom, and G38/G39 are the IMU's I2C bus — the page states the back-side pins share one bus, IO38=SDA and IO39=SCL, so use them as GPIO or your own I2C only with the IMU traffic in mind. Exactly which pins are yours is answered in What is actually free on the AtomS3?.
This page renders the MCUID data record: the edge columns (J3 left: 3V3/G5/G6/G7/G8; J4 right: G39/G38/5V/GND), the HY2.0-4P port (schematic connector J6, pin order G1/G2/5V/GND — the wire side reads mirrored), the LCD and free-GPIO tables, and each fact tied to the M5Stack documentation.