ESP32-S3 Zero development board with two loose 2.54mm male header strips

ESP32-S3 Zero Dev Board - Dual-Core, 2MB PSRAM, WiFi + BLE 5, RGB LED

Unsoldered
$10.99 NZD
Save 5% at 2+
Skip to product information
SKU: ESP32-S3-ZERO-1PK

ESP32-S3 Zero Dev Board - Dual-Core, 2MB PSRAM, WiFi + BLE 5, RGB LED

$10.99 NZD
7 bought this month
Headers
Availability:
Order before 12:00pm for same-day dispatch Dispatch 7 days a week, excluding public holidays

NZ Post: 1-2 days urban · 2-4 days rural

Shipping from $5.99 urban / $9.99 rural, or free pick-up in Te Awamutu.

Buy more, pay less Prices shown are per unit. Add enough of this item and the lower rate applies on its own at checkout. There is no code to enter and you do not need to buy a pack. Choosing a tier here just sets the quantity for you. Larger quantities go out in the same bag, so packing, handling and postage cost us less per unit. We pass that saving straight on to you, so you can buy more for less.

Easy 30-day returns · 12-month warranty

Add these too
Add $66.00 for Free Urban delivery ($88.00 for Rural)
Urban $66 Rural $88

An ESP32 development board is a small programmable board that you load code onto from your computer over USB, with WiFi and Bluetooth built in. It can read a temperature probe, switch a relay, run a small screen or type keystrokes into your computer. The ESP32-S3 has two 240MHz cores, and its USB-C port can act as a USB keyboard, mouse or MIDI controller, which the cheaper ESP32-C3 can't do. This board adds 2MB of PSRAM, the extra memory that makes screen images, sound and small AI models such as wake-word detection practical. The Zero is the one to choose when the board will end up inside your own project: all 18 side pins sit on half-hole edges, so you can solder it flat onto your own circuit board, and its RGB LED has a pin to itself.

It is 23.5 x 18mm, about the size of a $1 coin. Windows, macOS and Linux see it as soon as you plug it in, with no driver to install, and you can program it in Arduino, MicroPython, CircuitPython or ESPHome. The pins run at 3.3V, so any part you add that sends 5V signals will need a logic level converter between it and the board. Of its 26 GPIO pins, 15 are on the side edges, 3 are holes just inside the edge and 8 are flat pads underneath, which a breadboard covers, so start on the side pins. You can choose Soldered to push it straight into a breadboard, or Unsoldered if you have a soldering iron or want to mount it flat on your own board.

Specifications

ChipESP32-S3FH4R2, dual-core Xtensa LX7 up to 240MHz, with vector instructions
Memory4MB flash and 2MB PSRAM inside the chip, 512KB SRAM
USBUSB-C wired to the chip: serial, JTAG and USB keyboard, mouse or MIDI. No driver to install
Logic voltage3.3V, not 5V tolerant
Power inUSB-C, or 4.5 to 5.5V on the 5V pin from a supply good for 500mA, never both at once
3V3 pin outputWe suggest up to 200mA: a few sensors and a small display, not motors, servos or LED strips
GPIO26, all PWM capable: 15 on the side edges, 3 inner holes (14, 15, 16), 8 pads underneath (17, 18, 38 to 42, 45)
Startup pinsLeave GPIO45 unconnected, and keep GPIO3 free of pull-ups and LEDs
Analog and touch18 analog inputs on GPIO1 to 18 (only GPIO1 to 10 while WiFi is on), 14 touch inputs on GPIO1 to 14
InterfacesI2C (Arduino default SDA 8, SCL 9), SPI, I2S, UART and CAN
Wireless2.4GHz WiFi 802.11 b/g/n and Bluetooth 5 LE
AntennaCeramic chip antenna at the end opposite USB-C. Keep that end clear of metal and of copper on your own board
Onboard LEDOne WS2812 RGB LED on GPIO21, which is not on a pin, and no plain LED
ButtonsBOOT (GPIO0) and RESET
Size23.5 x 18mm, 2.54mm pin pitch, rows 15.24mm apart, one free breadboard hole beside each pin
MountingHalf-hole edges for soldering flat, or headers for a breadboard. No screw holes
HeadersSoldered: straight pins fitted. Unsoldered: two loose straight strips, 18 joints to solder
In the box1 board, plus the two loose strips with Unsoldered, no USB-C cable

Datasheets

Wiring & getting started

  1. Use a USB-C data cable

    A charge-only cable powers the board but no port ever appears, so if nothing shows up on your computer, swap the cable before anything else. Most computers need a USB-A to USB-C data cable.

  2. Fit the pins (Unsoldered, optional)

    Push both strips into a breadboard with the long pins down, sit the board on top so every pin comes through a pad, and solder the 18 joints. The breadboard keeps the pins straight while you work. The board then sits across the centre gap with one free hole beside each pin for jumper wires. If you need any of the 8 pads underneath, solder wires to them first, because a breadboard covers them.

  3. Plug it in

    Plug the board into your computer. It shows up as a new port with no driver to install, and Windows lists it as USB Serial Device (COMn). A new board may not show up yet, or it may keep making the USB connect and disconnect sound, which means it is stuck restarting. Hold BOOT, press and release RESET, then let go of BOOT. The sound stops and the port stays, ready for your first upload. You may need this again whenever an upload can't connect. It is common on a new board and is not a fault.

  4. Set up the Arduino IDE

    In Tools > Board > Boards Manager, search esp32 and install the esp32 package, version 3.x. Choose Tools > Board > esp32 > ESP32S3 Dev Module, not the plain ESP32 Dev Module beside it, because the S3 settings only appear once it is picked. Set USB CDC On Boot to Enabled so Serial Monitor works, and PSRAM to QSPI PSRAM so the 2MB is switched on. OPI PSRAM is for other S3 boards: on this one it makes the board restart over and over. Then pick the board's port under Tools > Port.

  5. Upload the LED test

    The board has no plain LED, so the usual Blink example does nothing. Upload this sketch instead. It drives the RGB LED on GPIO21 with no extra library. Arduino shows "Hash of data verified." when the upload has worked. Then open Serial Monitor at 115200.

    Example Arduino codeArduino C++
    // First test: onboard RGB LED on GPIO21 and the 2MB PSRAM.
    // No library needed (esp32 board package 3.x).
    #define RGB_PIN 21  // fixed on the board
    
    int step = 0;
    
    void setup() {
      Serial.begin(115200);  // over USB-C
    }
    
    void loop() {
      int r = (step == 0) ? 40 : 0;  // 40 of 255:
      int g = (step == 1) ? 40 : 0;  // bright enough
      int b = (step == 2) ? 40 : 0;
      rgbLedWrite(RGB_PIN, r, g, b);
      Serial.printf("%s OK, PSRAM %u bytes\n",
                    ESP.getChipModel(), ESP.getPsramSize());
      step = (step + 1) % 3;
      delay(500);
    }
  6. Check it works

    The RGB LED steps through three colours, one every half second, and Serial Monitor repeats "ESP32-S3 OK, PSRAM 2097152 bytes". If it prints 0, PSRAM is still set to Disabled. If the upload worked but Serial Monitor stays blank, USB CDC On Boot is still off. If the upload finished but nothing runs, press RESET once without holding BOOT. If the port has gone, use the BOOT and RESET steps above, then upload again.

  7. Connect to WiFi (optional)

    Run File > Examples > WiFi > WiFiScan, and Serial Monitor at 115200 lists the networks the board can see. It joins 2.4GHz networks only. Some of these boards see networks but won't join at full transmit power. If yours does, add WiFi.setTxPower(WIFI_POWER_8_5dBm); straight after WiFi.begin(), or in ESPHome set output_power: 8.5dB. Keep the red ceramic antenna at the end of the board clear of metal, wiring and other circuit boards. If it still won't connect on more than one network, message us and we'll help you.

  8. Wire your parts

    Power small sensors from the 3V3 pin, and run every ground back to the single GND pin. For analog readings with WiFi running, use GPIO1 to 10. Leave the underside pad marked 45 unconnected: the chip reads it at power-up, and if anything holds it high the board will not start and looks dead. If you feed the 5V pin from an outside supply, unplug USB-C first and check the polarity, because a reversed or doubled-up supply can damage the board.

Frequently Asked Questions

Answers to the questions buyers ask most.

Is this a good first board?
Yes, if you choose Soldered and follow the Arduino steps above. Unsoldered needs 18 solder joints before it fits a breadboard, so pick it if you already have a soldering iron. If you only want WiFi and a sensor, the cheaper ESP32-C3 Zero does that job with the same simple setup.
What else do I need to get started?
A USB-C data cable, as none comes in the box. A USB-A to USB-C cable fits most computers. To try circuits without soldering, add a breadboard and some jumper wires.
Should I get this or the ESP32-S3 SuperMini?
Same chip, same 23.5 x 18mm size and the same 2MB of PSRAM. The Zero suits a board going flat on your own circuit board, and its RGB LED has GPIO21 to itself. The SuperMini costs a little less, adds a LiPo charger with battery pads, has 35 GPIO against the Zero's 26, and plugs into our ESP32-S3 SuperMini expansion board. For a battery project, choose the SuperMini.
Can it act as a USB keyboard or mouse?
Yes. Set Tools > USB Mode to USB-OTG (TinyUSB) and start from File > Examples > USB > Keyboard or Mouse. Once a keyboard sketch is running, the upload port changes or disappears. To upload again, hold BOOT, press and release RESET, let go of BOOT and pick the port that appears.
How do I use the RGB LED in my own code?
It is one WS2812 LED on GPIO21. With the esp32 package 3.x you can set it with rgbLedWrite(21, red, green, blue), using 0 to 255 for each, or use the Adafruit NeoPixel or FastLED library with one LED on pin 21. If red and green come out swapped, change the colour order setting in your LED library.
How do I solder it flat onto my own circuit board?
Line up the 18 side half-holes with matching pads 2.54mm apart, in two rows 15.24mm apart, and solder along each edge or reflow it. Keep your board free of copper under the antenna end, or let that end hang over the edge. Make sure nothing on your board touches the underside pad marked 45, because the board won't start if that pad is held high.
Why does the port disappear when my sketch goes into deep sleep?
Deep sleep switches the USB connection off along with the rest of the chip, so your computer loses the port and uploads fail. To upload again, hold BOOT, press and release RESET, then let go of BOOT. While you are testing, a 5 second delay at the start of setup() gives you time to upload before the board sleeps.
Why does it restart when WiFi starts?
WiFi draws about 350mA in short bursts, which a weak USB port or a long thin cable can't always supply, so the voltage dips and the chip restarts. Try a shorter cable and a different USB port or a 5V supply good for 500mA. If you have added sensors or a display, unplug them to see if the restarts stop.
How do I set it up in ESPHome?
Use board esp32-s3-devkitc-1 with framework type esp-idf and flash_size 4MB, and add psram with mode quad. The RGB LED is a WS2812 on GPIO21, which the esp32_rmt_led_strip light platform drives with one LED. If it sees your WiFi but won't join, add output_power: 8.5dB under wifi.
Can it run a motor or an LED strip?
Not directly. A pin gives only a small signal, so a DC motor needs a motor driver board, and an LED strip needs its own 5V supply with the board sending only the data signal. A servo can take its signal from any pin as long as its power comes from 5V, not the 3V3 pin.
What if my board doesn't work?
Message us with your order number and what it is doing, and we'll help you.

Have a Question About This Product?

Send it through and we will get back to you by email.

Why Buy from NZN

Useful parts, fair prices and someone local to help.

I'm Lukas, an engineering student and maker based in Te Awamutu. NZN grew out of a CNC build that dragged on for months because every missing cable, bolt or electronic part meant another overseas order. I started the shop so Kiwi makers can spend more time building and less time waiting for the next parcel.

  • Stocked here in New Zealand

    Orders are picked and packed in Te Awamutu and dispatched within 24 hours every day, excluding public holidays. NZ Post target delivery is 1-2 days urban and 2-4 days rural. In Te Awamutu and Kihikihi you can choose local delivery at checkout: same day if you order before 8am, otherwise next day.

  • Fair prices, clearly shown

    Prices are kept competitive and quantity discounts are shown upfront. Free delivery starts at $66 for urban addresses and $88 for rural addresses.

  • 30-day returns and 12-month warranty

    Get in touch if something is not right and we will help sort it.

  • Practical product support

    Ask a product question and get help from a real person in New Zealand who knows the range.

You may also like