πŸ”₯ 2026 Top Picks Compare all boards β†’

Best ESP32 Interface and Expansion Modules: 12 Level Shifters, RS485, CAN, I/O Expanders, ADC, DAC and Multiplexer Boards Compared (Buying Guide)

⚠️ Affiliate Disclosure: This post contains Amazon affiliate links. If you purchase through our links, we may earn a small commission at no extra cost to you. Every product below was checked against its live Amazon listing before publishing. Prices change often, so we don’t list them here. Tap any Buy Here button to see the current price on Amazon.
Ultimate Buying Guide

πŸ”Œ Best ESP32 Interface and Expansion Modules

When your project outgrows the ESP32’s pins or voltage levels: level shifters for 5 V parts, RS485 and CAN for industrial buses, I/O expanders, a precise ADC and DAC, multiplexers and isolation. 12 verified picks with the wiring details that matter.

βœ… 12 Modules Compared βœ… Which Shifter for Which Bus βœ… Modbus and CAN Ready βœ… Verified Amazon ASINs
🧭 Comparing ESP32 chips? Our ESP32 chip comparison hub compares every ESP32 chip side by side and links to all of our ESP32 buying guides.

The ESP32 is a 3.3 V chip with a limited number of usable GPIOs, a noisy ADC and no built-in industrial bus drivers. Sooner or later every serious project hits one of those limits: a 5 V sensor that might damage a pin, a Modbus energy meter, a car’s CAN bus, a control panel with 30 buttons, or a measurement that needs better accuracy than the internal ADC offers. Small, inexpensive interface modules solve each of these problems.

This guide covers 12 modules in four groups: level shifting, industrial buses (RS485 and CAN), more I/O (expanders and multiplexers), and precision analog (ADC and DAC), plus optocouplers for isolation.

πŸ’‘ Before you buy: ESP32 GPIOs are not 5 V tolerant, so never connect a 5 V output directly to an ESP32 input. Use the MOSFET (BSS138) converter for I2C and slow signals, and the TXS0108E for fast push-pull signals like SPI and UART. Most ESP32 chips already include a CAN (TWAI) controller, so you only need a 3.3 V transceiver, not an MCP2515 controller board. And remember that I2C devices can share a bus as long as their addresses differ.

⚑ Quick Comparison: All 12 Modules

ModuleJobInterfaceBest ForBuy
πŸ₯‡ 4-Ch Level Converter (10-Pack)3.3 V ↔ 5 VBSS138 MOSFETI2C & Slow SignalsBuy Here β†’
πŸ… ADS1115 ADC (3-Pack)16-bit, 4-ch ADCI2CAccurate AnalogBuy Here β†’
⚑ TXS0108E (5-Pack)8-ch level shiftAuto-directionSPI, UART, ParallelBuy Here β†’
πŸš— Waveshare SN65HVD230CAN transceiverESP32 TWAICAN BusBuy Here β†’
🏭 TTL to RS485 (5-Pack)RS485 transceiverUART, auto flowModbus RTUBuy Here β†’
πŸ’» Waveshare USB to RS485PC-side RS485USB (CH343G)Debugging BusesBuy Here β†’
πŸ”’ Waveshare MCP2301716 extra GPIOsI2CButtons, LEDs, RelaysBuy Here β†’
πŸ”’ PCF8574 (2-Pack)8 extra GPIOsI2CSimple InputsBuy Here β†’
πŸ”€ SparkFun Qwiic Mux (TCA9548A)8-ch I2C muxI2CSame-Address SensorsBuy Here β†’
🎚️ CD74HC4067 (10-Pack)16-ch analog mux4 select pinsMany Analog InputsBuy Here β†’
πŸ“ˆ MCP4725 DAC (4-Pack)12-bit DACI2CAnalog OutputsBuy Here β†’
πŸ›‘οΈ Gikfun PC817 (20-Pack)OptocouplersDIP-4Isolated 12/24 V InputsBuy Here β†’

Specs come from the live Amazon listings and the chip manufacturers’ datasheets.

πŸ† Detailed Reviews: Level Shifting and Precision Analog

πŸ₯‡ BEST OVERALL

HiLetgo 4-Channel I2C Logic Level Converter (10-Pack)

⭐ 4.6/5 · Over 300 Ratings
4-Ch
BI-DIRECTIONAL
3.3 ↔ 5 V
LEVEL SHIFT
BSS138
MOSFET DESIGN
10-Pack
SPARES FOR YEARS
Buy on Amazon β†’
HiLetgo 4 channel I2C logic level converter modules

The most-needed module in this guide (about 4.6 stars from 315 ratings). Each tiny board has four bi-directional channels built from BSS138 MOSFETs with pull-up resistors on both sides, which is exactly what I2C needs: it safely connects 5 V sensors, LCD backpacks and modules to the ESP32’s 3.3 V bus in both directions. It also works for slower signals like buttons, one-wire data and some UARTs. Because the pull-ups limit edge speed, it’s not ideal for fast SPI; use the TXS0108E for that. Ten boards cover every project you’ll build for years.

βœ… Pros
  • Perfect for I2C
  • Bi-directional
  • 10-pack value
  • Huge review base
❌ Cons
  • Too slow for fast SPI
  • Headers need soldering
  • Only 4 channels
🎯 Verdict: The level shifter every ESP32 maker should keep in the drawer.

πŸ‘‰ Check Price on Amazon β†’

πŸ… BEST PRECISION ADC

HiLetgo ADS1115 16-Bit 4-Channel ADC (3-Pack)

⭐ 4.3/5 · Over 170 Ratings
16-bit
RESOLUTION
4 / 2
SINGLE / DIFFERENTIAL
PGA
PROGRAMMABLE GAIN
I2C
4 ADDRESSES
Buy on Amazon β†’
HiLetgo ADS1115 16 bit 4 channel ADC module

The ESP32’s built-in ADC is non-linear near its range limits and noisy with Wi-Fi active. The ADS1115 (this 3-pack has about 4.3 stars from 170 ratings) is the standard fix: a 16-bit ADC with four single-ended or two differential inputs, a programmable gain amplifier for small signals, and an internal reference, all over I2C. Use it for battery voltage monitoring, load cells via an amplifier, pressure transducers, current shunts and soil sensors. Up to four modules share one bus with different addresses. It’s precise but not fast (up to 860 samples per second), so it’s not for audio. 18 were in stock when we checked.

βœ… Pros
  • 16-bit, linear
  • Differential inputs
  • Programmable gain
  • 3-pack
❌ Cons
  • Slow sample rate
  • Inputs limited to supply range
  • Clone quality varies
🎯 Verdict: The fix for the ESP32’s weak ADC.

πŸ‘‰ Check Price on Amazon β†’

⚑ BEST FAST LEVEL SHIFTER · ⭐ 4.4/5

3. HiLetgo TXS0108E 8-Channel Level Shifter (5-Pack)

8 channels Β· auto-direction Β· full duplex Β· high speed
Buy Here β†’
HiLetgo TXS0108E 8 channel level shifter module

For fast push-pull signals such as SPI displays, UARTs and parallel buses, the TXS0108E (about 4.4 stars from 130 ratings) shifts eight channels at once with automatic direction sensing and much faster edges than the MOSFET boards. The catch: it can misbehave on lines with strong pull-ups or heavy loads, so it’s a poor choice for I2C and for driving LEDs or long cables. Pull its OE (enable) pin high to activate the outputs.

βœ… Pros: 8 channels; fast; auto-direction.
❌ Cons: Bad with pull-ups (I2C); weak drive.
🎯 Verdict: The shifter for SPI and other fast signals.
πŸ“ˆ BEST DAC Β· ⭐ 4.0/5

4. MCP4725 12-Bit DAC Module (4-Pack)

12-bit analog output Β· I2C Β· onboard EEPROM Β· four modules
Buy Here β†’
MCP4725 12 bit DAC module 4 pack

The original ESP32 has two 8-bit DAC channels, and newer chips such as the ESP32-S3 and C3 have no DAC at all. The MCP4725 (about 4.0 stars from 64 ratings) adds a 12-bit analog output over I2C, with an EEPROM that remembers the output level through power cycles. Use it to set a motor speed controller, generate a reference voltage, or drive a 0–10 V industrial input through an op-amp. A PWM output with an RC filter is the cheaper alternative when precision doesn’t matter.

βœ… Pros: 12-bit; EEPROM; works on DAC-less chips.
❌ Cons: One channel each; limited output current.
🎯 Verdict: The clean analog output for any ESP32.

🏭 Detailed Reviews: Industrial Buses

πŸš— BEST CAN TRANSCEIVER Β· ⭐ 4.6/5

5. Waveshare SN65HVD230 CAN Board

3.3 V CAN transceiver Β· ESD protection Β· works with the ESP32’s built-in TWAI controller
Buy Here β†’
Waveshare SN65HVD230 CAN board

Most ESP32 chips have a CAN controller built in (Espressif calls it TWAI), so to join a CAN bus you only need a transceiver that converts its TX and RX pins to the differential bus. Waveshare’s SN65HVD230 board (about 4.6 stars from 171 ratings) runs at 3.3 V, so it connects directly to the ESP32, and adds ESD protection. Use it for vehicle diagnostics (read-only, carefully), solar inverters and battery systems, robotics and industrial equipment. The bus needs 120 Ξ© termination at each end; check whether your segment already has it before enabling the board’s resistor.

βœ… Pros: 3.3 V native; ESD protection; uses built-in TWAI.
❌ Cons: Not isolated; check termination.
🎯 Verdict: All you need to put an ESP32 on a CAN bus.
🏭 BEST RS485 MODULE · ⭐ 4.5/5

6. HiLetgo TTL to RS485 with Auto Flow Control (5-Pack)

3.3 V / 5 V Β· automatic direction Β· TX/RX LEDs Β· five modules
Buy Here β†’
HiLetgo TTL to RS485 module with automatic flow control

RS485 is how industrial devices talk: energy meters, solar inverters, VFDs, HVAC controllers and sensors using Modbus RTU. These modules (about 4.5 stars from 71 ratings) work at 3.3 V and have automatic flow control, so you only connect TX and RX; there’s no direction pin to toggle in software, which removes a common source of Modbus bugs. ESPHome’s Modbus components and Arduino Modbus libraries work with them directly. Twisted-pair cable and termination at both ends of long runs keep the bus reliable. 19 were in stock when we checked.

βœ… Pros: Auto direction; 3.3 V; status LEDs; 5-pack.
❌ Cons: Not isolated; basic protection.
🎯 Verdict: The easiest way to add Modbus RTU to an ESP32.
πŸ’» BEST BUS DEBUGGER Β· ⭐ 4.6/5

7. Waveshare Industrial USB to RS485 Converter

CH343G Β· industrial housing Β· multiple protection circuits Β· PC side
Buy Here β†’
Waveshare industrial USB to RS485 converter

When a Modbus device won’t answer, you need to see the bus from your PC. Waveshare’s USB to RS485 converter (about 4.6 stars from 145 ratings) uses a CH343G chip in a protected industrial housing. Pair it with free Modbus master software to talk to a meter directly and confirm its address, baud rate and register map before you write ESP32 code, or use it to sniff traffic between your ESP32 and the device. It saves hours of guesswork. 9 were in stock when we checked.

βœ… Pros: Protected; enclosed; strong reviews.
❌ Cons: PC tool, not for the ESP32 itself.
🎯 Verdict: The debugging tool for every Modbus project.

πŸ”’ Detailed Reviews: More I/O and Isolation

πŸ”’ BEST I/O EXPANDER Β· ⭐ 4.3/5

8. Waveshare MCP23017 16-Pin I/O Expansion Board

16 GPIOs Β· I2C Β· interrupt outputs Β· 3.3 V and 5 V Β· 8 addresses
Buy Here β†’
Waveshare MCP23017 I/O expansion board

Running out of GPIOs is the most common ESP32 frustration, especially on boards where many pins are tied to flash, PSRAM or strapping. The MCP23017 (Waveshare’s board has about 4.3 stars from 99 ratings) adds 16 general-purpose pins over two I2C wires, with interrupt outputs so the ESP32 is notified instantly when a button changes, and internal pull-ups. Eight address options mean up to 128 extra pins on one bus. ESPHome supports it natively. It’s ideal for control panels, keypads, relay banks and status LEDs.

βœ… Pros: 16 pins; interrupts; pull-ups; ESPHome support.
❌ Cons: No PWM or analog; I2C speed limits.
🎯 Verdict: The best way to add lots of digital I/O.
πŸ”’ SIMPLEST EXPANDER Β· ⭐ 4.2/5

9. HiLetgo PCF8574 I/O Expansion Board (2-Pack)

8 quasi-bidirectional pins Β· I2C Β· stackable
Buy Here β†’
HiLetgo PCF8574 I/O expansion board

The PCF8574 (about 4.2 stars from 62 ratings) is the simpler, cheaper expander, with 8 pins over I2C, and the same chip used on most I2C LCD backpacks. Its “quasi-bidirectional” pins have only a weak pull-up when high, so they’re great for reading buttons or sinking current to light an LED, but they can’t source much current. These boards stack, so you can chain several with different addresses. 12 were in stock when we checked.

βœ… Pros: Simple; stackable; cheap.
❌ Cons: Weak high output; only 8 pins.
🎯 Verdict: The budget expander for buttons and indicators.
πŸ”€ BEST I2C MUX Β· ⭐ 4.6/5

10. SparkFun Qwiic Mux Breakout (TCA9548A, 8-Channel)

8 separate I2C buses Β· Qwiic connectors Β· well documented
Buy Here β†’
SparkFun Qwiic Mux breakout TCA9548A 8 channel

Many sensors have a fixed I2C address, so you can’t put two of the same model on one bus. The TCA9548A multiplexer creates eight separate downstream buses that the ESP32 switches between, so you can read eight identical sensors, such as SHT31s in eight rooms of a greenhouse. SparkFun’s version (about 4.6 stars from 24 ratings) adds Qwiic connectors for solder-free wiring. Isolating sections of a long bus also helps with capacitance. Only 4 were in stock when we checked.

βœ… Pros: 8 buses; Qwiic; well documented.
❌ Cons: Low stock; costs more than generic boards.
🎯 Verdict: The fix for duplicate I2C addresses.
🎚️ BEST ANALOG MUX · ⭐ 4.5/5

11. CD74HC4067 16-Channel Analog Multiplexer (10-Pack)

16:1 analog/digital mux Β· 4 select pins Β· one ADC input
Buy Here β†’
CD74HC4067 16 channel analog multiplexer breakout

The CD74HC4067 routes 16 analog or digital signals to a single ESP32 pin, selected by four GPIOs. It’s the classic way to read many potentiometers (MIDI controllers), soil sensors or a keyboard matrix with one ADC1 input. This 10-pack (about 4.5 stars from 36 ratings) is cheap enough to use freely. Power it from 3.3 V so the signals stay within the ESP32’s range, and allow a few microseconds after switching channels before reading. 13 were in stock when we checked.

βœ… Pros: 16 inputs per pin; analog or digital; 10-pack.
❌ Cons: Uses 5 pins; one channel at a time.
🎯 Verdict: The way to read 16 analog inputs on one ADC pin.
πŸ›‘οΈ BEST ISOLATION Β· ⭐ 4.6/5

12. Gikfun PC817 Optocouplers (20-Pack)

DIP-4 Β· galvanic isolation Β· 20 pieces
Buy Here β†’
Gikfun PC817 optocouplers DIP-4 20 pack

An optocoupler passes a signal through light, so there’s no electrical connection between two circuits. That’s how you safely read 12 V or 24 V industrial signals, doorbell circuits, alarm panel outputs or pulse outputs from utility meters with a 3.3 V ESP32. These PC817 chips (about 4.6 stars from 262 ratings for the 20-pack) need an input resistor sized for the source voltage and a pull-up on the ESP32 side. Mount them on perfboard with a terminal block for a robust isolated input board. They’re too slow for fast signals, but perfect for anything under a few kilohertz.

βœ… Pros: True isolation; 20-pack; cheap.
❌ Cons: Loose chips; slow; you design the circuit.
🎯 Verdict: The safe way to read 12/24 V signals.

πŸ›’ Which Module Do You Need?

πŸ”Œ

A 5 V sensor or LCD

BSS138 converter for I2C; TXS0108E for SPI.

🏭

A Modbus meter or inverter

RS485 module + USB-RS485 for debugging.

πŸš—

A CAN bus

SN65HVD230 + the ESP32’s built-in TWAI.

πŸŽ›οΈ

A control panel

MCP23017 for buttons and LEDs; CD74HC4067 for knobs.

πŸ“

Accurate measurements

ADS1115 in; MCP4725 out.

πŸ›‘οΈ

12/24 V inputs

PC817 optocouplers on perfboard.

❓ Frequently Asked Questions

Are ESP32 pins 5 V tolerant?

No. ESP32 GPIOs are rated for 3.3 V, and applying 5 V can damage the chip or shorten its life. Use a level shifter or a voltage divider for any 5 V signal going into the ESP32. Many 5 V devices do accept 3.3 V signals as a valid high, so outputs from the ESP32 often work without shifting, but check the device’s datasheet.

Do I need an MCP2515 for CAN on the ESP32?

Usually not. Most ESP32 chips include a TWAI controller compatible with CAN 2.0, so a 3.3 V transceiver like the SN65HVD230 is enough. An MCP2515 is only useful if you need an extra CAN interface beyond the built-in one.

How many I2C devices can I connect?

As many as have unique addresses, within the bus’s capacitance limit (keep wires short). The classic ESP32 and ESP32-S3 also have two I2C controllers (the C3 has one), so you can run two separate buses, and a TCA9548A multiplexer adds eight more.

Should I isolate RS485 and CAN connections?

For short runs between devices on the same power supply, non-isolated modules are fine. For long cable runs, separate buildings, or equipment on different power systems, use isolated transceivers to avoid ground loops and damage from surges. Industrial ESP32 boards often include isolation; see our relay and industrial board guide.

🏁 Final Verdict: Best ESP32 Interface Modules

The modules worth keeping in stock:

πŸ₯‡ Best Overall: HiLetgo 4-Ch Level Converter 10-Pack
Buy Here β†’
πŸ… Best ADC: HiLetgo ADS1115 3-Pack
Buy Here β†’
πŸš— Best CAN: Waveshare SN65HVD230
Buy Here β†’
🏭 Best RS485: HiLetgo Auto-Flow 5-Pack
Buy Here β†’
πŸ”’ Best I/O Expander: Waveshare MCP23017
Buy Here β†’

A drawer with a few level converters, an ADS1115, an MCP23017, RS485 and CAN transceivers and some optocouplers lets you connect an ESP32 to almost anything: 5 V sensors, industrial meters, vehicles, control panels and 24 V machinery. Match the shifter to the bus, use the ESP32’s built-in CAN controller, and isolate anything connected to long cables or other power systems. For bench tools to debug these buses, see our programmers and debugging tools guide, and compare chips in our ESP32 chip comparison hub.

πŸ’¬ Connecting your ESP32 to something unusual? Tell us about it in the comments below.

All Amazon links above use our affiliate tag (esp32tutorials-20). Purchasing through them supports esp32tutorials.com at no extra cost to you. Prices and availability change frequently, so always confirm the current price on Amazon before buying.

Leave a Comment