You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
π Full support π Partial support β€οΈ Planned. No support yet β Works in theory. Untested in real hardware.
Espressif Chips with Wi-Fi (Except H2)
Chip
Status
Board Tested
Notes
ESP8266
π
NodeMCU
ESP8285
β
DOIT ESP-Mx DevKit
Should be identical to 8266. Not tested in hardware.
ESP32
π
DOIT ESP32 DevKit V1
ESP32-S2
π
LOLIN S2 Pico
Native USB-CDC (broken in core 3.0+)
ESP32-S3
π
LOLIN S3 V1.0.0
Native USB-CDC (broken in core 3.0+)
ESP32-C3
π
LOLIN C3 Mini V2.1.0
Native USB-CDC (broken in core 3.0+)
ESP32-H2
π
ESP32-H2-MINI-1
No Wi-Fi. Native USB-CDC (broken in core 3.0+)
ESP32-C6
π
ESP32-C6-WROOM-1
Native USB-CDC (broken in core 3.0+)
Note: For ESP32 chips using native USB-CDC, make sure USB CDC On Boot is Enabled in the IDE's Tools menu. Flashing from the CLI doesn't automatically enable this, so the IDE is recommended for now.
Note: Since Arduino ESP32 Core version 3.0+, USB-CDC is very unreliable when sending lots of data both directions (something denko can do). It's a known issue in the core. Use a regular UART until it's fixed.
AVR/MegaAVR Based Arduino Products (and Clones)
Chip
Status
Products
Notes
ATmega168
π
Duemilanove, Diecimila, Pro
Omits features. denko targets for info.
ATmega328
π
Uno R3, Uno WiFi, Nano, Fio, Pro
ATmega32u4
π
Leonardo, Micro, Leonardo ETH, Esplora, LilyPad USB
ATmega1280
π
Mega
ATmega2560
π
Mega2560, Arduino Mega ADK
ATmega4809
π
Nano Every, Uno WiFi Rev2
Note: Only USB boards listed. Any board with a supported chip should work, once you can flash it and connect to serial.
ARM Based Arduino Products (and Clones)
Chip
Status
Products
Notes
ATSAM3X8E
π
Due
Uses Native USB. Tone and IR Out don't work.
ATSAMD21
π
Zero, M0 Series, Nano 33 IOT, MKR WiFi 1010
Native USB
RA4M1
π
Uno R4 Minima, Uno R4 WiFi
IR and WS2812 libraries don't support this yet
Arduino Networking
Chip
Status
Products
Notes
Wiznet W5100/5500
π
Ethernet Shield
Wired Ethernet for Uno/Mega pin-compatibles
HDG204 + AT32UC3
β
WiFi Shield
Compiles, but no hardware
ATWINC1500
π
MKR1000, WiFi Shield 101
#define WIFI_101 for shield. Automatic for MKR1000
π Full support π Partial support β€οΈ Planned. No support yet
Interfaces
Name
Status
HW/SW
Component Class
Notes
Digital In
π
H
DigitalIO::Input
1ms - 128ms (4ms default) listen, poll, or read
Analog In (ADC)
π
H
AnalogIO::Input
1ms - 128ms (16ms default) listen, poll, or read
Digital Out
π
H
DigitalIO::Output
Analog Out (DAC)
π
H
AnalogIO::Output
Only SAM3X, SAMD21, RA4M1, ESP32, ESP32-S2
PWM Out
π
H
PulseIO::PWMOutput
Servo/ESC Motor Drive
π
H
See Motor Driver Table
Depends on PWM
Tone Out (Sq. Wave)
π
H
PulseIO::Buzzer
Except SAM3X. Uses PWM
I2C
π
H
I2C::Bus
Predetermined pins per board
I2C Bit-Bang
π
S
I2C::BitBang
Any pins
SPI
π
H
SPI::Bus
Predetermined pins per board
SPI Bit-Bang
π
S
SPI::BitBang
Any pins
UART
π
H
UART::Hardware
Except Atmega328, ATmega168
UART Bit-Bang
π
S
UART::BitBang
Only ATmega328
Maxim OneWire
π
S
OneWire::Bus
No overdrive
Infrared Output
π
S
PulseIO::IROutput
Except SAM3X, RA4M1
Infrared Input
β€οΈ
S
PulseIO::IRInput
Doable with existing library
WS2812 RGB LEDs
π
S
LED::WS2812
Except RA4M1
ESP32-PCNT
β€οΈ
H
-
Only ESP32. Pulse and encoder counter
ESP32-MCPWM
β€οΈ
H
-
Only ESP32. Motor control PWM
Note: When listening, the board checks the pin's value every 2^n milliseconds (n from 0 to 7), without further commands.
Polling and reading follow a call and response pattern.
Basic Input/Output
Name
Status
Interface
Component Class
Notes
Button
π
Digital In
DigitalIO::Button
Relay
π
Digital Out
DigitalIO::Relay
Rotary Encoder
π
Digital In
DigitalIO::RotaryEncoder
Listens every 1ms
Potentiometer
π
Analog In
AnalogIO::Potentiometer
Smoothing on by default
Joystick
π
Analog In
AnalogIO::Joystick
LEDs
Name
Status
Interface
Component Class
Notes
LED
π
Digi/Ana Out
LED::Base
RGB LED
π
Digi/Ana Out
LED::RGB
7 Segment Display
π
Digital Out
LED::SevenSegment
No decimal point
8x8 LED (MAX7219)
β€οΈ
SPI
LED::MAX7219
TM1637
β€οΈ
BitBang SPI
LED::TM1637
4x 7 Segment + Colon
Neopixel / WS2812B
π
Adafruit Library
LED::WS2812
Dotstar / APA102
π
SPI
LED::APA102
Displays
Name
Status
Interface
Component Class
Notes
HD44780 LCD
π
Digital Out, Output Register
Display::HD44780
SSD1306 OLED
π
I2C or SPI
Display::SSD1306
1 font, some graphics
SH1106 OLED
π
I2C or SPI
Display::SH1106
Works same as SSD1306
ST7565R (128x64 Mono)
β€οΈ
SPI
Display::ST7565R
ST7735S (160x128 RGB)
β€οΈ
SPI
Display::ST7735S
ILI9341 (240x320 RGB)
β€οΈ
SPI
Display::ILI9341
GC9107 (128x128 RGB)
β€οΈ
SPI
Display::GC9107
GC9A01 (240x240 Round)
β€οΈ
SPI
Display::GCA9A01
IL0373 (212x104 E-Paper)
β€οΈ
SPI
Display::IL0373
Sound
Name
Status
Interface
Component Class
Notes
Piezo Buzzer
π
Tone Out
PulseIO::Buzzer
Frequency > 30Hz
Motors / Motor Drivers
Name
Status
Interface
Component Class
Notes
Generic Hobby Servo
π
Servo/ESC PWM
Motor::Servo
Max depends on PWM channel count
Generic ESC
π
Servo/ESC PWM
Motor::Servo
Works. Needs its own class.
PCA9685
β€οΈ
I2C
PulseIO::PCA9685
16-ch, 12-bit PWM for servo or LED
L298N
π
Digi + PWM Out
Motor::L298
H-Bridge DC motor driver
DRV8833
β€οΈ
Digi + PWM Out
Motor::DRV8833
H-Bridge DC motor driver
TB6612
β€οΈ
Digi + PWM Out
Motor::TB6612
H-Bridge DC motor driver
A3967
π
Digital Out
Motor::Stepper
1-ch microstepper (EasyDriver)
A4988
π
DigitalOut
Motor::Stepper
1-ch microstepper
TMC2209
β€οΈ
-
-
1-ch silent stepper driver
I/O Expansion
Name
Status
Interface
Component Class
Notes
Input Register
π
SPI
SPI::InputRegister
Tested on CD4021B
Output Register
π
SPI
SPI::OutputRegister
Tested on 74HC595
PCF8574 Expander
β€οΈ
I2C
DigitalIO::PCF8574
8-ch bi-directional digital I/O
ADS1100 ADC
π
I2C
AnalogIO::ADS1100
1-ch, 16-bit ADC. No continuous mode.
ADS1115 ADC
π
I2C
AnalogIO::ADS1115
4-ch, 16-bit ADC. Comparator not implemented.
ADS1118 ADC
π
SPI
AnalogIO::ADS1118
4-ch, 16-bit ADC + temperature
ADS1232 ADC
β€οΈ
SPI
AnalogIO::ADS1232
2-ch, 24-bit ADC + temperature
PCF8591 ADC/DAC
β€οΈ
I2C
AnalogIO::PCF8591
4-ch, 8-bit ADC + 1-ch 8-bit DAC
MCP4725 DAC
β€οΈ
I2C
AnalogIO::MCP4275
1-ch, 12-bit DAC
PCA9548 I2C Mux
β€οΈ
I2C
I2C::PCA9548
8-way I2C multiplexer
Environmental Sensors
Name
Status
Interface
Component Class
Type
Notes
MAX31850
β€οΈ
OneWire
Sensor::MAX31850
Thermocouple
MAX6675
β€οΈ
SPI
Sensor::MAX6675
Thermocouple
DS18B20
π
OneWire
Sensor::DS18B20
Temp
DHT11/21/22
π
Digi In/Out
Sensor::DHT
Temp / RH
SHT30/31/35
π
I2C
Sensor::SHT3X
Temp / RH
M5Stack ENV III, one-shot only
SHT40/41
β€οΈ
I2C
Sensor::SHT4X
Temp / RH
QMP6988
π
I2C
Sensor::QMP6988
Temp / Press
M5Stack ENV III
BMP180
π
I2C
Sensor::BMP180
Temp / Press
BMP280
π
I2C
Sensor::BMP280
Temp / Press
BME280
π
I2C
Sensor::BME280
Temp / Press / RH
BME680
β€οΈ
I2C
Sensor::BME680
Temp / Press / RH / TVOC
HTU21D
π
I2C
Sensor::HTU21D
Temp / RH
No user register read
HTU31D
π
I2C
Sensor::HTU31D
Temp / RH
No diagnostic read
AHT10/15
π
I2C
Sensor::AHT10
Temp / RH
AHT20/21/25
π
I2C
Sensor::AHT20
Temp / RH
ENS160
β€οΈ
I2C
Sensor::ENS160
eCO2 / TVOC / AQI
AGS02MA
β€οΈ
I2C
Sensor::AGS02MA
TVOC
SCD40
β€οΈ
I2C
Sensor::SDC40
Temp / Press / CO2
CCS811
β€οΈ
I2C
Sensor::CCS811
eCO2
Light Sensors
Name
Status
Interface
Component Class
Notes
BH1750
β€οΈ
Digital In
Sensor::BH1750
Ambient Light
TCS34725
β€οΈ
I2C
Sensor::TCS34725
RGB
APDS9960
β€οΈ
I2C
Sensor::APDS9960
Proximity, RGB, Gesture
PIR Motion Sensors
Name
Status
Interface
Component Class
Notes
HC-SR501
π
Digital In
Sensor::GenericPIR
HC-SR505
π
Digital In
Sensor::GenericPIR
AS312
π
Digital In
Sensor::GenericPIR
AM312
π
Digital In
Sensor::GenericPIR
Distance Sensors
Name
Status
Interface
Component Class
Notes
HC-SR04
π
Digi In/Out
Sensor::HCSR04
Ultrasonic, 20-4000mm
RCWL-9620
π
I2C
Sensor::RCWL9260
Ultrasonic, 20-4500mm
JSN-SR04T
π
UART
Sensor::JSNSR04T
Mode 2 ONLY. Use HC-SR04 driver for mode 0 or 4.
VL53L0X
π
I2C
Sensor::VL53L0X
Laser, 20 - 2000mm. Continuous mode only. No configuration.