Devices

TinyGo has support for many different devices and sensors such as digital accelerometers, OLED displays, WiFi adaptors, and more.

Drivers are packages designed to make it easier to use these devices from your own TinyGo programs.

All of these drivers can be found in the TinyGo Drivers repository located at https://.com/tinygo-org/drivers/

The following 102 devices are supported.

Device NameDatasheetInterface Type
4x4 Membrane KeypaddatasheetGPIO
ADT7410 I2C Temperature SensordatasheetI2C
ADXL345 accelerometerdatasheetI2C
AHT20 I2C Temperature and Humidity SensordatasheetI2C
AMG88xx 8x8 Thermal camera sensordatasheetI2C
APA102 RGB LEDdatasheetSPI
APDS9960 Digital proximity, ambient light, RGB and gesture sensordatasheetI2C
AS5600 / AS5601 on-axis magnetic rotary position sensors(https://ams.com/angle-position-on-axis)datasheetI2C
AT24CX 2-wire serial EEPROMdatasheetI2C
AXP192 single Cell Li-Battery and Power System ManagementdatasheetI2C
BBC micro:bit LED matrixdatasheetGPIO
BH1750 ambient light sensordatasheetI2C
BlinkM RGB LEDdatasheetI2C
BMA42X triaxial acceleration sensordatasheetI2C
BME280 humidity/pressure sensordatasheetI2C
BMI160 accelerometer/gyroscopedatasheetSPI
BMP180 barometerdatasheetI2C
BMP280 temperature/barometerdatasheetI2C
BMP388 pressure sensordatasheetI2C
BuzzerdatasheetGPIO
DHTXX thermometer and humidity sensordatasheetGPIO
DS1307 real time clockdatasheetI2C
DS18B20 digital thermometerdatasheetI2C
DS3231 real time clockdatasheetI2C
ESP32 as WiFi Coprocessor with Arduino nina-fwdatasheetSPI
ESP8266/ESP32 AT Command set for WiFi/TCP/UDPdatasheetUART
FT6336 touch controllerdatasheetI2C
GPS moduledatasheetI2C/UART
HC-SR04 Ultrasonic distance sensordatasheetGPIO
HD44780 LCD controllerdatasheetGPIO/I2C
HTS221 digital humidity and temperature sensordatasheetI2C
HUB75 RGB led matrixdatasheetSPI
ILI9341 TFT color displaydatasheetSPI
INA260 Volt/Amp/Power meterdatasheetI2C
Infrared remote controldatasheetGPIO
IS31FL3731 matrix LED driverdatasheetI2C
L293x motor driverdatasheetGPIO/PWM
L9110x motor driverdatasheetGPIO/PWM
LIS2MDL magnetometerdatasheetI2C
LIS3DH accelerometerdatasheetI2C
LPS22HB MEMS nano pressure sensordatasheetI2C
LSM303AGR accelerometerdatasheetI2C
LSM6DS3 accelerometerdatasheetI2C
LSM6DS3TR accelerometerdatasheetI2C
LSM6DSOX accelerometerdatasheetI2C
LSM9DS1 accelerometerdatasheetI2C
MAG3110 magnetometerdatasheetI2C
Makey ButtondatasheetGPIO
MAX7219 & MAX7221 display driverdatasheetSPI
MCP23017 port expanderdatasheetI2C
MCP2515 Stand-Alone CAN Controller with SPI InterfacedatasheetSPI
MCP3008 analog to digital converter (ADC)datasheetSPI
Microphone - PDMdatasheetI2S/PDM
MMA8653 accelerometerdatasheetI2C
MPU6050 accelerometer/gyroscopedatasheetI2C
MPU6886 accelerometer/gyroscopedatasheetI2C
MPU9150 accelerometer/gyroscopeI2C
NDIR CO2 SensordatasheetI2C
One Wire bus systemdatasheet1-wire
P1AM-100 Base ControllerdatasheetSPI
PCD8544 displaydatasheetSPI
PCF8523 real time clockdatasheetI2C
PCF8563 real time clockdatasheetI2C
QMI8658C accelerometer/gyroscopedatasheetI2C
Resistive Touchscreen (4-wire)datasheetGPIO
Rotary EncoderdatasheetGPIO
RTL8720DN 2.4G/5G Dual Bands Wireless and BLE5.0datasheetUART
SCD4x CO2 SensordatasheetI2C
SemihostingdatasheetDebug
Semtech SX126x LoradatasheetSPI
Semtech SX127x LoradatasheetSPI
ServodatasheetPWM
SH1106 OLED displaydatasheetI2C / SPI
Shift register (PISO)datasheetGPIO
Shift registers (SIPO)datasheetGPIO
SHT3x Digital Humidity SensordatasheetI2C
SHT4x Digital Humidity SensordatasheetI2C
SHTC3 Digital Humidity Sensor (RH/T)datasheetI2C
software I2C driverdatasheetGPIO
SPI NOR Flash MemorydatasheetSPI/QSPI
SPI SDCARD/MMCdatasheetSPI
SSD1289 TFT color displaydatasheetGPIO
SSD1306 OLED displaydatasheetI2C / SPI
SSD1331 TFT color displaydatasheetSPI
SSD1351 OLED displaydatasheetSPI
ST7735 TFT color displaydatasheetSPI
ST7789 TFT color displaydatasheetSPI
Stepper motor “Easystepper” controllerdatasheetGPIO
ThermistordatasheetADC
TM1637 7-segment LED displaydatasheetI2C
TMP102 I2C Temperature SensordatasheetI2C
TTP229 (BSF version) 16 keys or 8 keys touch pad detectordatasheetGPIO
UC8151 All-in-one driver IC for ESLdatasheetI2C
VEML6070 UV light sensordatasheetI2C
VL53L1X time-of-flight distance sensordatasheetI2C
VL6180X time-of-flight distance sensordatasheetI2C
Waveshare 2.13" (B & C) e-paper displaydatasheetSPI
Waveshare 2.13" e-paper displaydatasheetSPI
Waveshare 2.9" e-paper display (V1)datasheetSPI
Waveshare 4.2" e-paper B/W displaydatasheetSPI
Waveshare GC9A01 TFT round displaydatasheetSPI
WS2812 RGB LEDdatasheetGPIO
XPT2046 touch controllerdatasheetGPIO

We also give you the ability to add new drivers. If your device isn’t listed here, please raise an issue in the issue tracker.

If you want to know more about how drivers are implemented please see the Drivers page under “Concepts”.

Last modified February 21, 2024: Updated device count (d5288b8)