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

Drivers of type Feature

Larger Mbed OS optional features supported for certain targets.

Name Mbed Internal Name Description
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 CryptoCell 310 FEATURE_CRYPTOCELL310 Embedded security peripheral providing TRNG and H/W accelerated encryption algorithms.
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
Infineon CYW4343W (Arduino Portenta variant) COMPONENT_4343W_FS Infineon/Cypress AIROC Wifi 802.11n (2.4GHz) + BT 5.3 module
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 SPI Flash COMPONENT_SPIF Component for generic SPI flashes supporting the SFDP standard
STMicro LIS2DH12 COMPONENT_lis2dh12 Low power 3-axis accelerometer
Telit HE910 COMPONENT_TELIT_HE910 3G module
STMicro BlueNRG-MS COMPONENT_BlueNRG_MS Bluetooth 4.2 module
Semtech SX1276 COMPONENT_SX1276 LoRa Connect™ 137-1020MHz Transceiver
Generic I2C EEPROM COMPONENT_I2CEE Component for boards with an I2C EEPROM supporting the 24LC/AT24C interface convention
Infineon CYW43012 COMPONENT_43012 Infineon/Cypress AIROC Wifi 802.11n (2.4GHz and 5GHz) + BT 5.4 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...
LocalFileSystem COMPONENT_LOCALFILESYSTEM Mbed interface chip on the board can store a local filesystem and make it available on the USB drive
Microchip LAN9220 COMPONENT_SMSC9220 Parallel bus-connected Ethernet MAC/PHY
Infineon CYW43438 COMPONENT_43438 Infineon/Cypress AIROC Wifi 802.11n (2.4GHz) + BT 5.3 module
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
SD/SDHC Card COMPONENT_SD Component for SD card support via the SPI bus.
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
Infineon Wifi Host Driver COMPONENT_WHD Generic component for the driver for Infineon/Cypress wifi modules. Works in combination with other components.
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.
MXChip EMW3080B COMPONENT_EMW3080B Wifi 802.11b/g/n module (driver available for STM32 targets only)
SFDP QuadSPI Flash COMPONENT_QSPIF Component for generic QuadSPI flashes supporting the SFDP standard
Himax HM01B0 COMPONENT_hm01b0 320x320 monochrome camera 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.
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.