Pinout reference
Every GPIO mapped and labeled. Encoder on pins 1-3. Display via I2C. RGB LED ready. Buzzer waiting. Your playground awaits.
Every GPIO on CloudMouse is mapped and ready to use. This reference shows you exactly which pins control what, so you can start coding immediately.
Quick reference table
| Component | Function | GPIO Pin | Notes |
|---|---|---|---|
| Rotary Encoder | CLK (A) | GPIO 16 | Rotation detection |
| Rotary Encoder | DT (B) | GPIO 18 | Rotation direction |
| Rotary Encoder | SW (Button) | GPIO 17 | Push button |
| RGB LED Ring | DATA | GPIO 15 | WS2812B data line (12 LEDs) |
| Display SPI | SCLK | GPIO 6 | SPI clock |
| Display SPI | MOSI | GPIO 7 | SPI data out |
| Display SPI | CS | GPIO 4 | Chip select |
| Display SPI | DC | GPIO 5 | Data/Command select |
| Display SPI | RST | GPIO 21 | Reset |
| Display Backlight | BL | GPIO 8 | PWM backlight control |
| Buzzer | Signal | GPIO 14 | Piezo buzzer output |
Component details
Rotary Encoder
The encoder uses two pins (CLK and DT) for detecting rotation and direction, plus one pin for the integrated push button.
#define ENCODER_CLK_PIN 16
#define ENCODER_DT_PIN 18
#define ENCODER_SW_PIN 17
Use interrupt-driven reading for smooth rotation detection without polling.
RGB LED Ring
The 12 WS2812B LEDs are controlled through a single data line. Each LED can display 16.7 million colors independently.
#define NUM_LEDS 12
#define DATA_PIN 15
Use the FastLED or Adafruit NeoPixel library for easy control.
Display (ILI9488)
The 3.5" display uses SPI for communication. The backlight is PWM-controlled for adjustable brightness.
// SPI Configuration
#define TFT_SCLK 6
#define TFT_MOSI 7
#define TFT_CS 4
#define TFT_DC 5
#define TFT_RST 21
#define TFT_BL 8
// Display specs
#define SCREEN_WIDTH 480
#define SCREEN_HEIGHT 320
We recommend using LovyanGFX library for optimal performance with the ILI9488.
Buzzer
The piezo buzzer can play tones between 1kHz and 4kHz. Perfect for beeps, alerts, and simple melodies.
#define BUZZER_PIN 14
Use the tone() function or PWM for generating sounds.
Important notes
- All GPIOs operate at 3.3V logic level
- The display uses HSPI_HOST (SPI2)
- VSPI_HOST (SPI3) remains available for external devices
- USB pins (GPIO 19, 20) are reserved for USB communication
- Some pins have internal pull-ups/pull-downs - check ESP32-S3 datasheet for details
Adding external components
CloudMouse doesn't expose additional GPIO pins by default, keeping the design clean and compact. If you need to add external sensors or actuators, you'll need to modify the hardware or use I2C/SPI communication on the available buses.
For most projects, the onboard peripherals (display, encoder, LEDs, buzzer) provide everything you need.
What's next?
Ready to start coding? Check out the Example Code section for ready-to-run sketches that demonstrate how to use each component.
Need library recommendations? See the Downloads section for tested Arduino libraries.