ESP-01 Qwiic Development Board
An ESP-01 Development Board with power, programming and Qwiic headers
GitHub repository at Tecsmith/arduino-esp-01-dev-board
Features & Specifications
- Host of ESP-01 (or ESP-01S) module.
- Powered from USB Micro-B connector
- Serial programing breakout pins (for use with SparkFun FTDI 3.3V Breakout)
- I2C breakout pins (SCL, SDA, 3V3, GND)
- Qwiic connector (works with SparkFun’s Qwiic Connect System)
- Tactile GPIO0 momentary button (press to set ESP8266 into programming mode while booting)
- Tactile RESET momentary button (press to reboot ESP8266)
- Unlike common designs, this uses GPIO-0/GPIO-2 for I2C, leaving TX/RX (GPIO-1/GPIO-3) available for serial debug.
ESP-01 Pinout
DevBrd |
ESP |
Pin |
Pin |
ESP |
DevBrd |
RXI / RXD |
GPIO-3 / RX |
5 |
4 |
VCC (3.3V) |
3V3 |
SCL / [Prog/IO0] |
GPIO-0 |
6 |
3 |
RST |
[Reset] |
SDA |
GPIO-2 |
7 |
2 |
CH_PD / EN |
EN / Enable |
GND |
GND |
8 |
1 |
GPIO-1 / TX |
TXO / TXD |
Sequence for placing EPS-01 in programing mode
- Press and hold [Reset] button.
- Press and hold [Prog/IO0] button.
- Release [Reset] button
- Wait 1 sec.
- Pelease [Prog/IO0] - EPS-01 is now in “boot loader” mode.
- Perform upload code tasks
- Press and release [Reset] button to revert to run mode.
On Board Jumpers
JP0 - On-board Enable
- Connected: Vcc (3v3) is bound to ESP-01 EN (Enable)
- Cut: EN is not connected, must bind EN pin to Vcc to Enable (useful for adding on/off switch)
JP1 - I2C Pull Ups
- Connected (default): 4.7KΩ pullups
- Cut both sides: No pullups
JP2 - LED
As seen from the bottom:
- Tied to right (pin 2-3): LED ground to GND, always ON to show power state (Default)
- Tied to left (pin 1-2): LED ground to GPIO2 (as ESP-01 does) to show GPIO2 state when pulled low.
- Both cut: LED disabled
Manufacturing
Top |
Bottom |
 |
 |
2nd prototype built by JCLPCB
Source Code
No source code is provided for the ESP-01, this is just a break out board that allows the ESP-01 to be used easily in a development environment and in some production cases.
I myself have been using arendst/Tasmota for MQTT integration, but the I2C on this board does not work on Tasmota base code.
Its important to note that most base code for the ESP8266 uses GPIOs 4 and 5 for I2C (as these are the manufacturers default), but the the ESP-01 board does not expose IOs 4 and 5. This project uses GPIOs 0 and 2 for I2C (0 = SDA, 2 = SCL) and the Wire library needs to be initialised with the following code:
// in header
#define SDA_PIN 0
#define SCL_PIN 2
// in setup()
Wire.begin(SDA_PIN, SCL_PIN);
★