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

Drivers of type Feature

Larger Mbed OS optional features supported for certain targets.

Name Mbed Internal Name Description
Bluetooth Low Energy FEATURE_BLE This feature enables Mbed's BLE stack.
Experimental API FEATURE_EXPERIMENTAL_API Feature flag to enable Mbed OS experimental API features, including driver virtual base classes and PSA.
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.

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