Printable bench reference
ESP32 & Arduino Bench Reference
Pinouts, boot pins, electrical limits, level shifting, module wiring and code for the ESP32-DevKitC V4 and the Arduino UNO, Nano and Mega, in 21 pages. Every figure is traced to the maker’s datasheet and cited on the page.
Edition 1.2, 21 pages, in A4 and US Letter (2 PDFs) · ZIP with two PDFs of the same 21 pages: one for A4, one for US Letter
$7.99
Price in US dollars. One-time payment, no subscription.
You pay on PayPal with your PayPal account or a card, then come straight back here for the download link.
Digital download, for your own use. See the refund policy.
- Instant download after payment.
- The link works for 7 days and 5 downloads. Save the ZIP file somewhere safe.
- Unzip it and print the PDF that matches your paper, A4 or US Letter, at 100 % (“actual size”). Print in colour if you can: the pinouts use colour to show what each pin can safely do.
Preview
The A4 and Letter covers, then five pages of the A4 version (Edition 1.2). The previews carry a "Preview" watermark. The PDFs you download have none, and the board drawings are vector, so they stay sharp at any zoom.
What’s inside
How to use it (p. 2)
Contents, the naming conventions, ten bench rules on one page, and exactly which boards and core versions the reference covers.
ESP32-DevKitC V4 pinout (p. 3)
All 38 header pins, drawn from Espressif’s J2/J3 tables and coloured for strapping, input-only, flash, ADC1, ADC2, touch and RTC pins. Notes on 30-pin clone boards and the WROVER variants.
ESP32 GPIO table (p. 4)
Every GPIO with its DevKitC pin, ADC channel and Arduino alias, touch pad, RTC number, fixed functions and boot notes, and a rating: OK, care, input only or avoid.
Boot and strapping pins (p. 5)
What GPIO0, 2, 5, 12 and 15 select at reset, how to hold each one, and the symptom when something pulls it the wrong way. Then a safe-pin guide and a “pick a pin for…” table.
ESP32 power and electrical limits (p. 6)
Supply limits, input and output thresholds, drive current, pull-up values, Wi-Fi and sleep current, and how to power the DevKitC from a single source.
ADC, DAC and touch (p. 7)
Attenuation ranges with their error, the point where the datasheet and the Arduino docs disagree, a divider for higher voltages, the two DACs and the ten touch pads.
PWM, buses and deep sleep (p. 8)
LEDC channels and timers, the core 3.x bus defaults (Serial2 sits on 4 and 25, not 16 and 17), the deep-sleep wake sources and the RTC GPIO map.
UNO R3, Nano and Mega 2560 pinouts (pp. 9–11)
Each board drawn with its Arduino pin names, AVR ports, PWM, interrupt and bus labels, plus the power pins, the ICSP header and the library side effects.
The three AVR boards side by side (p. 12)
PWM pins and frequencies, interrupts, analog inputs, I2C, SPI, UARTs and analog references for the UNO, Nano and Mega in one table.
AVR limits and board power (p. 13)
Per-pin and per-port current limits from Microchip’s datasheets next to Arduino’s 20 mA rating, VIN ranges, regulator heat and memory sizes.
3.3 V ↔ 5 V level shifting (p. 14)
Which direction needs what, worked out from the threshold voltages: the 10 kΩ / 18 kΩ divider, the 74AHCT125, the BSS138 and the TXS0108E.
Module wiring (pp. 15–16)
SSD1306 OLED, DHT22, HC-SR04, a hobby servo, a bare 5 V relay, ready-made relay boards, a logic-level MOSFET and an LED, each with its wiring, part values and a few lines of code.
Code cheat sheets (pp. 17–18)
The same Arduino calls on AVR and on ESP32 core 3.x, then the LEDC changes from core 2.x to 3.x, with a version check and a deep-sleep wake example.
Troubleshooting checklist (p. 19)
Failed uploads, boot loops, brownouts, ADC2 with Wi-Fi on, relay boards that never release, and the usual UNO, Nano and Mega faults, in the order to check them.
Board comparison and sources (pp. 20–21)
The four boards side by side, then every source document with the sections used, the places where two sources disagree, and what could not be verified.
Who it is for
Makers, students and anyone who moves between an ESP32 and an Arduino on the same bench and keeps checking which pin is safe, which voltage is allowed, or why last year’s PWM code no longer compiles. It covers four boards: the ESP32-DevKitC V4 with a WROOM-32E module, the Arduino UNO R3, the Nano and the Mega 2560 Rev3.
Everything in the pack is also free on the site, spread across these pages. The pack puts it on paper in one place:
Tips and tricks
- Check page 5 before you wire anything to GPIO0, 2, 5, 12 or 15. When an ESP32 will not boot or will not flash, something on one of those pins at reset is the usual cause.
- With Wi-Fi on, read analog inputs on GPIO32–39 only. The ADC2 pins cannot be read while the radio runs.
- Keep ESP32 analog inputs under about 2.45 V. That is as far as Espressif’s ±60 mV accuracy figure goes at 11 dB.
- Design AVR pins for 20 mA, Arduino’s rating. The 40 mA in Microchip’s datasheet is where damage starts.
- If an old ESP32 PWM sketch stops compiling, look for ledcSetup or ledcAttachPin. Page 18 gives the core 3.x call that replaces each one.
- Never feed a 5 V signal straight into an ESP32 pin, not even through a series resistor. Page 14 shows the divider and the shifter chips that do the job.
What we would do
Print the whole reference once and keep it in a folder by the bench. Then pin pages 3 and 5 to the wall if you mostly work on the ESP32, or pages 9 and 12 for the UNO and Nano. Moving a project from an UNO to an ESP32? Read pages 14 and 17 before you wire anything, because the logic levels and the code differ more than the pin names suggest.
Questions
- Which boards does it cover?
- The ESP32-DevKitC V4 with a WROOM-32E module, the Arduino UNO R3, the Nano (ATmega328P) and the Mega 2560 Rev3. The ESP32 GPIO tables also hold for 30-pin clone boards, because they depend on the chip, but a clone’s header layout has to be read from its own silkscreen.
- Does it cover the ESP32-S3, C3 or the other newer chips?
- No. The ESP32-S2, S3, C3 and C6, the UNO R4, the Nano Every and the Nano 33 boards have different pins and limits, and page 20 says so. An edition for the C3 and S3 is planned.
- Where do the numbers come from?
- From the makers’ own documents: Espressif’s ESP32 and WROOM-32E datasheets, the DevKitC V4 user guide and schematic, ESP-IDF and the arduino-esp32 3.3.12 source, Microchip’s ATmega328P and ATmega2560 datasheets, and Arduino’s board datasheets and pinouts. Each table ends with a Cite line naming the document and page. The last page lists every source, the places where two of them disagree, and the few things no maker publishes.
- Which arduino-esp32 version is the code for?
- Core 3.x, checked against 3.3.12. Page 18 puts the old 2.x LEDC calls next to their 3.x replacements and shows a version check for sketches that must build on both.
- What do I download?
- One ZIP file with two PDFs of the same 21 pages, one laid out for A4 paper and one for US Letter. Print the one that matches your printer.
- Can I print copies for a class or lab?
- Print as many copies as you need for your own bench. For a classroom or lab, write to [email protected]; an institute licence is planned.
Price, tax and refunds
Rupee prices include GST, and you pay them through Razorpay. You pay dollar prices through PayPal. We never see your card or bank details. Because this is a digital download, the refund policy applies: if the file will not download or open, write to [email protected] within 7 days and we will fix it or send a replacement.





