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
Analog Outputs DEVICE_ANALOGOUT Analog output (DAC) peripheral driver
Legacy Async Serial (UART) DEVICE_SERIAL_ASYNCH Legacy asynchronous serial API via SerialBase
RTC DEVICE_RTC Real-Time Clock. Clock which keeps track of real world time, usually using a low frequency, accurate clock.
Serial RTS/CTS Flow Control DEVICE_SERIAL_FC Serial (UART) peripheral supports using RTS and/or CTS pins for hardware flow control.
GPIO Port I/O DEVICE_PORTINOUT Driver for using an entire GPIO port as a bidirectional I/O port.
Hardware CRC DEVICE_CRC Driver for CRC Accelerator peripheral, used to accelerate certain CRC computations.
GPIO Interrupts DEVICE_INTERRUPTIN GPIO input pin interrupt support
PWM Out DEVICE_PWMOUT Pulse Width Modulation (PWM) generator peripheral driver
USB Device DEVICE_USBDEVICE USB Device peripheral. Allows the Mbed target to act as a USB device when connected to a host computer.
Ethernet MAC DEVICE_EMAC Ethernet MAC peripheral driver. Combine the MAC with a PHY chip to connect to Ethernet networks.
802.15.4 Radio DEVICE_802_15_4_PHY 802.15.4 radio driver, used to implement mesh networking (Wi-SUN, Thread, LoWPAN)
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.
μs Ticker DEVICE_USTICKER Clock peripheral with at least microsecond resolution that Mbed uses to implement Timer and Ticker.
I2C Controller/Master DEVICE_I2C I2C driver for synchronous (blocking) controller/master mode
Serial (UART) DEVICE_SERIAL Support for buffered and unbuffered serial (UART) ports
Async I2C Controller/Master DEVICE_I2C_ASYNCH Driver allowing I2C controller mode to be used in the background via interrupts and/or DMA.
Sleep DEVICE_SLEEP Support for sending the processor to sleep when no threads/ISRs are executing.
Async SPI DEVICE_SPI_ASYNCH Allows use of SPI controller mode in the background via interrupts and/or DMA.
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.
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.
SPI Controller/Master DEVICE_SPI Serial Peripheral Interface (SPI) controller/master mode
Memory Protection Unit DEVICE_MPU Mbed supports configuring the MPU on this device to disable writing to ROM and executing from RAM.
Semihost Debug Aware DEVICE_DEBUG_AWARENESS Target supports awareness of whether semihost is attached
GPIO Port Input DEVICE_PORTIN Driver for reading from an entire GPIO port at a time
GPIO Port Output DEVICE_PORTOUT Driver for writing to an entire GPIO port at a time
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.
I2C Peripheral/Slave DEVICE_I2CSLAVE I2C for interrupt-based peripheral/slave mode
Flash IAP DEVICE_FLASH Driver allowing In-Application Programming (IAP) of the MCU flash memory.
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.
Analog Inputs DEVICE_ANALOGIN Analog input (ADC) peripheral driver
SPI Peripheral/Slave DEVICE_SPISLAVE Serial Peripheral Interface (SPI) device/slave mode
CAN DEVICE_CAN Controller Area Network (CAN) 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.
Reset Reason DEVICE_RESET_REASON Support for determining the cause of the most recent MCU reset.

Drivers of type Feature

Larger Mbed OS optional features supported for certain targets.

Name Mbed Internal Name Description
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.
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.

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
MXChip EMW3080B COMPONENT_EMW3080B Wifi 802.11b/g/n module (driver available for STM32 targets only)
Infineon CYW43438 COMPONENT_43438 Infineon/Cypress AIROC Wifi 802.11n (2.4GHz) + BT 5.3 module
Infineon Wifi Host Driver COMPONENT_WHD Generic component for the driver for Infineon/Cypress wifi modules. Works in combination with other components.
Semtech SX1276 COMPONENT_SX1276 LoRa Connect™ 137-1020MHz Transceiver
SFDP QuadSPI Flash COMPONENT_QSPIF Component for generic QuadSPI flashes supporting the SFDP standard
SD/SDHC Card COMPONENT_SD Component for SD card support via the SPI bus.
Telit ME310 COMPONENT_TELIT_ME310 LTE + GSM + GNSS module
STMicro LIS2DH12 COMPONENT_lis2dh12 Low power 3-axis accelerometer
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.
STMicro BlueNRG-MS COMPONENT_BlueNRG_MS Bluetooth 4.2 module
Infineon CYW4343W (Arduino Portenta variant) COMPONENT_4343W_FS Infineon/Cypress AIROC Wifi 802.11n (2.4GHz) + BT 5.3 module
LocalFileSystem COMPONENT_LOCALFILESYSTEM Mbed interface chip on the board can store a local filesystem and make it available on the USB drive
TFM Secure Firmware COMPONENT_TFM_S_FW Component for devices with a separate firmware image that must be merged for the TFM Secure processor.
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.
SFDP Octal SPI Flash COMPONENT_OSPIF Component for generic Octal SPI flashes supporting the SFDP standard
Telit ME910 COMPONENT_TELIT_ME910 LTE + GSM + GNSS module
Infineon CYW43012 COMPONENT_43012 Infineon/Cypress AIROC Wifi 802.11n (2.4GHz and 5GHz) + BT 5.4 module
Infineon CYW4343W COMPONENT_4343W Infineon/Cypress AIROC Wifi 802.11n (2.4GHz) + BT 5.3 module
SFDP SPI Flash COMPONENT_SPIF Component for generic SPI flashes supporting the SFDP standard
Telit HE910 COMPONENT_TELIT_HE910 3G module
Himax HM01B0 COMPONENT_hm01b0 320x320 monochrome camera 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...
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.
Microchip LAN9220 COMPONENT_SMSC9220 Parallel bus-connected Ethernet MAC/PHY