Mbed Drivers Index

Drivers of type Peripheral

This lists peripheral drivers (drivers for internal parts of the MCU) that exist in Mbed CE. Check these pages carefully: If a MCU's datasheet shows that it has a peripheral, but Mbed does not list a driver for that peripheral, then the peripheral will not be accessible via Mbed APIs on that MCU.

Name Mbed Internal Name Description
GPIO Port I/O DEVICE_PORTINOUT Driver for using an entire GPIO port as a bidirectional I/O port.
Sleep DEVICE_SLEEP Support for sending the processor to sleep when no threads/ISRs are executing.
μs Ticker DEVICE_USTICKER Clock peripheral with at least microsecond resolution that Mbed uses to implement Timer and Ticker.
RTC DEVICE_RTC Real-Time Clock. Clock which keeps track of real world time, usually using a low frequency, accurate clock.
Reset Reason DEVICE_RESET_REASON Support for determining the cause of the most recent MCU reset.
Legacy Async Serial (UART) DEVICE_SERIAL_ASYNCH Legacy asynchronous serial API via SerialBase
Semihost Debug Aware DEVICE_DEBUG_AWARENESS Target supports awareness of whether semihost is attached
GPIO Interrupts DEVICE_INTERRUPTIN GPIO input pin interrupt support
Async SPI DEVICE_SPI_ASYNCH Allows use of SPI controller mode in the background via interrupts and/or DMA.
Ethernet MAC DEVICE_EMAC Ethernet MAC peripheral driver. Combine the MAC with a PHY chip to connect to Ethernet networks.
Quad SPI DEVICE_QSPI Quad SPI peripheral, usually used to communicate with flash memory chips. Has 4 bidirectional data lines and one clock line, plus optionally a CS line.
Serial RTS/CTS Flow Control DEVICE_SERIAL_FC Serial (UART) peripheral supports using RTS and/or CTS pins for hardware flow control.
PWM Out DEVICE_PWMOUT Pulse Width Modulation (PWM) generator peripheral driver
CAN DEVICE_CAN Controller Area Network (CAN) peripheral driver
Async I2C Controller/Master DEVICE_I2C_ASYNCH Driver allowing I2C controller mode to be used in the background via interrupts and/or DMA.
802.15.4 Radio DEVICE_802_15_4_PHY 802.15.4 radio driver, used to implement mesh networking (Wi-SUN, Thread, LoWPAN)
Flash IAP DEVICE_FLASH Driver allowing In-Application Programming (IAP) of the MCU flash memory.
Serial (UART) DEVICE_SERIAL Support for buffered and unbuffered serial (UART) ports
I2C Controller/Master DEVICE_I2C I2C driver for synchronous (blocking) controller/master mode
Watchdog DEVICE_WATCHDOG Peripheral which resets the chip if software doesn't service it within a configurable amount of time. Used to guard against software hangs.
True Random Number Generator DEVICE_TRNG Cryptographic-grade True Random Number Generator (TRNG). This is required to implement SSL communications securely unless you provision devices with an entropy seed stored in nonvolatile storage.
GPIO Port Output DEVICE_PORTOUT Driver for writing to an entire GPIO port at a time
Low-Precision Ticker DEVICE_LPTICKER Also known as the Low-Power Ticker, this peripheral keeps time at a low-frequency clock (usually 32kHz) and generates events for the application. Usually it is used to implement low power sleep.
GPIO Port Input DEVICE_PORTIN Driver for reading from an entire GPIO port at a time
Hardware CRC DEVICE_CRC Driver for CRC Accelerator peripheral, used to accelerate certain CRC computations.
SPI Peripheral/Slave DEVICE_SPISLAVE Serial Peripheral Interface (SPI) device/slave mode
Analog Inputs DEVICE_ANALOGIN Analog input (ADC) peripheral driver
Memory Protection Unit DEVICE_MPU Mbed supports configuring the MPU on this device to disable writing to ROM and executing from RAM.
Analog Outputs DEVICE_ANALOGOUT Analog output (DAC) peripheral driver
Octal SPI DEVICE_OSPI Octal SPI peripheral driver, usually used to communicate with flash memory chips. OSPI uses 8 bidirectional data lines and one clock line, plus optionally a CS line and a DQS line.
ITM DEVICE_ITM Driver for for ARM Instrumentation Trace Macrocell (ITM). Basically a fast serial port designed for application logging and tracing that runs over the SWO pin.
SPI Controller/Master DEVICE_SPI Serial Peripheral Interface (SPI) controller/master mode
USB Device DEVICE_USBDEVICE USB Device peripheral. Allows the Mbed target to act as a USB device when connected to a host computer.
I2C Peripheral/Slave DEVICE_I2CSLAVE I2C for interrupt-based peripheral/slave mode

Drivers of type Feature

Larger Mbed OS optional features supported for certain targets.

Name Mbed Internal Name Description
Arm CryptoCell 310 FEATURE_CRYPTOCELL310 Embedded security peripheral providing TRNG and H/W accelerated encryption algorithms.
Experimental API FEATURE_EXPERIMENTAL_API Feature flag to enable Mbed OS experimental API features, including driver virtual base classes and PSA.
Bluetooth Low Energy FEATURE_BLE This feature enables Mbed's BLE stack.
Arm Platform Security Architecture (PSA) FEATURE_PSA Feature representing support for the Arm PSA Root of Trust peripheral. This provides a secure storage environment, cryptography acceleration, secure boot and updates, and more.

Drivers of type Component

This lists drivers which support external components (or in some cases co-processors) which are present on a target board so that they are supported out of the box.

Name Mbed Internal Name Description
Microchip LAN9220 COMPONENT_SMSC9220 Parallel bus-connected Ethernet MAC/PHY
Semtech SX1276 COMPONENT_SX1276 LoRa Connect™ 137-1020MHz Transciever
MXChip EMW3080B COMPONENT_EMW3080B Wifi 802.11b/g/n module (driver available for STM32 targets only)
Telit ME910 COMPONENT_TELIT_ME910 LTE + GSM + GNSS module
Infineon CYW4343W COMPONENT_4343W Infineon/Cypress AIROC Wifi 802.11n (2.4GHz) + BT 5.3 module
Infineon CYW43XXX COMPONENT_CYW43XXX Generic component for Infineon/Cypress AIROC Wifi modules. Add one of the specific part number components to get configs + firmware for your device.
SFDP SPI Flash COMPONENT_SPIF Component for generic SPI flashes supporting the SFDP standard
PSoC CM0 in Sleep Mode COMPONENT_CM0P_SLEEP Used on Cypress PSoC6 dual core processors. When enabled, this activates the Cortex-M0 coprocessor in sleep mode.
Himax HM01B0 COMPONENT_hm01b0 320x320 monochrome camera module
Quectel BC95 COMPONENT_QUECTEL_BC95 Narrowband Internet of Things (NB-IoT) cellular module
TFM Secure Firmware COMPONENT_TFM_S_FW Component for devices with a separate firmware image that must be merged for the TFM Secure processor.
Telit ME310 COMPONENT_TELIT_ME310 LTE + GSM + GNSS module
SFDP Octal SPI Flash COMPONENT_OSPIF Component for generic Octal SPI flashes supporting the SFDP standard
Quectel BG96 COMPONENT_QUECTEL_BG96 LTE module
Quectel EC2X COMPONENT_QUECTEL_EC2X EC2X and EG25 families of cellular modules
STMicro BlueNRG-MS COMPONENT_BlueNRG_MS Bluetooth 4.2 module
Multitech Dragonfly Nano Cellular COMPONENT_MULTITECH_DRAGONFLY_NANO_CELLULAR Cellular module from this Multitech board. I have been unable to figure out its exact part number from the available docs...
SD/SDHC Card COMPONENT_SD Component for SD card support via the SPI bus.
PSoC CM0 in Security Mode COMPONENT_CM0P_SECURE Used on Cypress PSoC 64 dual core processors with secure boot. When enabled, activates the Cortex-M0 coprocessor as a security coprocessor.
LocalFileSystem COMPONENT_LOCALFILESYSTEM Mbed interface chip on the board can store a local filesystem and make it available on the USB drive
Infineon CYW43012 COMPONENT_43012 Infineon/Cypress AIROC Wifi 802.11n (2.4GHz and 5GHz) + BT 5.4 module
Infineon CYW4343W (Arduino Portenta variant) COMPONENT_4343W_FS Infineon/Cypress AIROC Wifi 802.11n (2.4GHz) + BT 5.3 module
Telit HE910 COMPONENT_TELIT_HE910 3G module
Infineon Wifi Host Driver COMPONENT_WHD Generic component for the driver for Infineon/Cypress wifi modules. Works in combination with other components.
Infineon CYW43438 COMPONENT_43438 Infineon/Cypress AIROC Wifi 802.11n (2.4GHz) + BT 5.3 module
Infineon Wi-Fi Coprocessor COMPONENT_SCL Wi-Fi Cortex-M0 coprocessor present on Infineon/Cypress CYSBSYS-RP01
STMicro LIS2DH12 COMPONENT_lis2dh12 Low power 3-axis accelerometer
Quectel UG96 COMPONENT_QUECTEL_UG96 3G cellular module
SFDP QuadSPI Flash COMPONENT_QSPIF Component for generic QuadSPI flashes supporting the SFDP standard