Skip to content
My Account

Guide

ESP8685-WROOM-03 Pinout

The complete pin reference for the ESP8685-WROOM-03 module: Espressif’s enhanced ESP32-C2-family chip in an 11-pin package, and the exact pins you can safely reuse.

  • Single-core RISC-V
  • Wi-Fi + Bluetooth LE + Mesh
  • 6 exposed GPIOs
  • 4 MB flash
No ratings yet, be the first.

Overview

The ESP8685-WROOM-03 is built around the ESP8685 chip, an enhanced version of the ESP8684 used in the ESPC2-02 guide, both are marketed by Espressif as “ESP32-C2” family parts. This module packs the chip, flash, and RF components into an 11-pin package with an exposed ground pad underneath.

No 802.15.4 radio on this chip, so Thread and Zigbee aren’t possible here.

Six exposed GPIOs, all LED PWM GPIO3, 4, 5, 6 and 7 all support LED PWM output, useful for dimming or RGB control.
Flash built in The flash memory is embedded inside the module package, no GPIOs reserved for an external flash bus.
Ultra-low deep sleep current About 5 µA typical in deep sleep, well suited to battery-powered sensors.

Getting started

This module is usually wired up directly rather than plugged into a ready-made development board, so you’ll need a USB-to-serial adapter (3.3V) and a way to pull GPIO9 low for flashing.

1. What you need A 3.3V USB-to-serial adapter, a computer, and a jumper wire to pull GPIO9 low at reset for flashing.
2. Install the software Install the free Arduino IDE, then add ESP32 support via Boards Manager (search “esp32”, by Espressif Systems), or install ESP-IDF for the full toolchain.
3. Upload your first sketch Select a generic ESP32-C2 board, pull GPIO9 low, tap EN to reset into download mode, then click Upload.

Hello World: blink an LED

The microcontroller equivalent of “Hello World”: GPIO1 toggles once a second. Wire an LED (with a resistor) to GPIO1, the only exposed pin here with no PWM/JTAG/ADC role competing for it.

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"

#define LED_PIN GPIO_NUM_1

void app_main(void)
{
    gpio_reset_pin(LED_PIN);
    gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT);

    while (1) {
        gpio_set_level(LED_PIN, 1);
        vTaskDelay(pdMS_TO_TICKS(1000));
        gpio_set_level(LED_PIN, 0);
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}

ESP-IDF: build and flash with idf.py build flash monitor. Arduino IDE: install ESP32 board support first, see “Getting started” above.

Specifications

Official specifications for the ESP8685-WROOM-03 module.

Compute

ChipESP8685
CPUSingle-core RISC-V, up to 160 MHz
ROM / SRAM384 KB / 400 KB
Flash4 MB, embedded in the module package

Radio

Wi-Fi802.11 b/g/n, 2.4 GHz, up to 150 Mbps
Bluetooth5 LE + Mesh
ADC12-bit, 5 channels on ADC1, 1 on ADC2

Physical

Operating voltage3.0V – 3.6V
Dimensions15 × 17.3 × 2.8 mm
GPIOsUp to 8 on the chip, 6 exposed on this module
ESP8685-WROOM-03 dimensioned front, side and bottom view: 15.0 by 17.3 mm, 2.8 mm thick, PCB antenna, RF shield can, 11 castellated pads and the exposed ground pad
15.0 × 17.3 × 2.8 mm, 11 castellated pads. Dimensions per the Espressif ESP8685-WROOM-03 datasheet, Section 10 Physical Dimensions.
Active TX current (20 dBm) ~340 mA peak
Modem-sleep current 13–23 mA
Light-sleep current ≈130 µA
Deep-sleep current ≈5 µA

Pinout diagram

The 11-pin layout of the ESP8685-WROOM-03 module.

ESP8685-WROOM-03 pinout diagram

GPIO quick reference

GPIO Special function Boot state
1 ADC1_CH1, XTAL_32K_N Free
3 ADC1_CH3, onboard LED PWM Free
4 ADC1_CH4, SPI FSPIHD, JTAG MTMS, onboard LED PWM Free
5 ADC2_CH0, SPI FSPIWP, JTAG MTDI, onboard LED PWM Free
6 SPI FSPICLK, JTAG MTCK, onboard LED PWM Free
7 SPI FSPID, JTAG MTDO, onboard LED PWM Free
9 Strapping (boot mode)
20 UART0 RX (default) Free
21 UART0 TX (default) Free

Flashing pins (UART0)

Used by a USB-to-serial adapter to upload firmware, this module has no onboard one.

Function Pin Description
TXD0 GPIO21 ESP8685 → PC (output)
RXD0 GPIO20 PC → ESP8685 (input)
EN EN pin Resets the chip
GPIO9 Boot mode strap, LOW = flash mode (Joint Download Mode)

Safety notes

Before you wire anything up

  • GPIO9 is a strapping pin that sets the boot mode, check its state before using it as an output.
  • GPIO4–GPIO7 double as the JTAG interface, fine to use as plain GPIOs, but avoid them if you ever need hardware debugging.
  • Wi-Fi transmit bursts can draw ~340 mA peak, undersized power regulation is the most common cause of random resets.
  • This module runs at 3.3V logic, a 5V signal on any pin can damage the chip.
Advertisement

More guides

Keep building.

From ESP32 HomeKit accessories to Arduino and ATtiny reference guides, there’s more where this came from.

All guides