Supported Hardware
From Ultibo.org
Contents
Single board computers
Raspberry Pi A/B/A+/B+/Zero/ZeroW/CM1
Peripheral | Type | Status | Notes | Unit |
---|---|---|---|---|
DMA | DMA controller | Supported | BCM2708 | |
GPIO | GPIO controller | Supported | BCM2708 | |
SDHCI | eMMC/SD/SDIO host controller | Supported | Primary eMMC/SD controller | BCM2708 |
SDHOST | eMMC/SD host controller | Supported | Secondary eMMC/SD controller | BCMSDHOST |
USB | DWCOTG host controller | Supported | DWCOTG | |
IRQ | Interrupt controller | Supported | Platform | |
FIQ | Interrupt controller | Supported | Platform | |
Timer | System timer | Planned | Used internally by Ultibo core | |
ARM Timer | ARM SP804 Timer | Supported | BCM2708 | |
UART0 | PL011 UART device | Supported | BCM2708 | |
UART1 | Mini (AUX) UART device | Planned | ||
BSC0 | I2C controller | Supported | BCM2708 | |
BSC1 | I2C controller | Supported | BCM2708 | |
BSC2 | I2C controller | Supported | Dedicated to the HDMI interface | BCM2708 |
SPI0 | SPI master device | Supported | BCM2708 | |
SPI1 | AUX SPI master device | Planned | ||
SPI2 | AUX SPI master device | Planned | ||
PCM/I2S | PCM/I2S audio controller | Planned | ||
SPI Slave | SPI slave device | Not planned | Device is faulty | |
BSC Slave | I2C slave device | Supported | BCM2708 | |
PWM | PWM controller | Supported | BCM2708 | |
PWM Audio | PWM audio output | Planned | ||
Random | Random Number Generator | Supported | BCM2708 | |
Watchdog | Watchdog Timer | Supported | BCM2708 | |
USB OTG | USB On-The-Go mode | Planned | A/A+/Zero/ZeroW/CM1 only | |
WiFi | BCM43438 WiFi controller | In progress | ZeroW only | |
Bluetooth | BCM43438 Bluetooth host | Planned | ZeroW only | |
LAN | SMSC LAN9512/14 network | Supported | B/B+ only | SMSC95XX |
Firmware | Mailbox | Supported | Platform | |
Clock (On/Off/Rate/Min/Max) | Supported | Platform | ||
Power (On/Off) | Supported | Platform | ||
Voltage (Value/Min/Max) | Supported | Platform | ||
Temperature | Supported | Platform | ||
VC4 GPU | Framebuffer | Supported | BCM2708 | |
DispmanX | Supported | |||
OpenGLES | Supported | |||
OpenMAX | Supported | |||
MMAL | Supported | |||
OpenVG | Supported | OpenVG | ||
VCHIQ | Supported | VC4VCHIQ | ||
HDMI CEC | Supported | |||
GENCMD | Supported | Firmware information and diagnostics | ||
LEDs | Power and Activity | Supported | Not available on Zero/ZeroW | Platform |
Raspberry Pi 2B/3B/CM3/3B+/3A+/CM3+/Zero2W
Peripheral | Type | Status | Notes | Unit |
---|---|---|---|---|
DMA | DMA controller | Supported | BCM2709 / BCM2710 | |
GPIO | GPIO controller | Supported | BCM2709 / BCM2710 | |
SDHCI | eMMC/SD/SDIO host controller | Supported | Primary eMMC/SD controller | BCM2709 / BCM2710 |
SDHOST | eMMC/SD host controller | Supported | Secondary eMMC/SD controller | BCMSDHOST |
USB | DWCOTG host controller | Supported | DWCOTG | |
IRQ | Interrupt controller | Supported | Platform | |
FIQ | Interrupt controller | Supported | Platform | |
Timer | System timer | Planned | Used internally by Ultibo core | |
ARM Timer | ARM SP804 Timer | Supported | BCM2709 / BCM2710 | |
Local Timer | Local peripheral timer | Planned | ||
Local Mailbox | Inter processor mailboxes | Planned | ||
Generic Timer | ARM generic timer | Planned | Used internally by Ultibo core | |
UART0 | PL011 UART device | Supported | BCM2709 / BCM2710 | |
UART1 | Mini (AUX) UART device | Planned | ||
BSC0 | I2C controller | Supported | BCM2709 / BCM2710 | |
BSC1 | I2C controller | Supported | BCM2709 / BCM2710 | |
BSC2 | I2C controller | Supported | Dedicated to the HDMI interface | BCM2709 / BCM2710 |
SPI0 | SPI master device | Supported | BCM2709 / BCM2710 | |
SPI1 | AUX SPI master device | Planned | ||
SPI2 | AUX SPI master device | Planned | ||
PCM/I2S | PCM/I2S audio controller | Planned | ||
SPI Slave | SPI slave device | Not planned | Device is faulty | |
BSC Slave | I2C slave device | Supported | BCM2709 / BCM2710 | |
PWM | PWM controller | Supported | BCM2709 / BCM2710 | |
PWM Audio | PWM audio output | Planned | ||
Random | Random Number Generator | Supported | BCM2709 / BCM2710 | |
Watchdog | Watchdog Timer | Supported | BCM2709 / BCM2710 | |
USB OTG | USB On-The-Go mode | Planned | CM3 only | |
WiFi | BCM43438 WiFi controller | In progress | 3B/3B+/3A+/Zero2W only | |
Bluetooth | BCM43438 Bluetooth host | Planned | 3B/3B+/3A+/Zero2W only | |
LAN | SMSC LAN9514 network | Supported | SMSC95XX | |
Microchip LAN78XX network | Supported | 3B+ only | LAN78XX | |
Firmware | Mailbox | Supported | Platform | |
Clock (On/Off/Rate/Min/Max) | Supported | Platform | ||
Power (On/Off) | Supported | Platform | ||
Voltage (Value/Min/Max) | Supported | Platform | ||
Temperature | Supported | Platform | ||
Virtual GPIO | Supported | 3B/CM3/3B+/3A+/CM3+ only | Platform | |
GPIO Expander | Supported | 3B/CM3/3B+/3A+/CM3+ only | Platform / RPiGPIOExpander | |
VC4 GPU | Framebuffer | Supported | BCM2709 / BCM2710 | |
DispmanX | Supported | |||
OpenGLES | Supported | |||
OpenMAX | Supported | |||
MMAL | Supported | |||
OpenVG | Supported | OpenVG | ||
VCHIQ | Supported | VC4VCHIQ | ||
HDMI CEC | Supported | |||
GENCMD | Supported | Firmware information and diagnostics | ||
LEDs | Power and Activity | Supported | Requires RPiGPIOExpander unit for 3B/3B+/3A+ | Platform |
Raspberry Pi 4B/400/CM4
Peripheral | Type | Status | Notes | Unit |
---|---|---|---|---|
DMA | DMA controller | Supported | Includes DMA 40-bit channel support | BCM2711 |
GPIO | GPIO controller | Supported | BCM2711 | |
MMC0 | eMMC/SD/SDIO host controller | Supported | BCM2711 | |
MMC1 | eMMC/SD host controller | Supported | BCMSDHOST | |
MMC2 | eMMC/SD host controller | Supported | BCM2711 | |
USB | DWCOTG host controller | Supported | Available on USB-C port only | DWCOTG |
USB | XHCI host controller | In progress | XHCI | |
PCIe | PCIe host controller | In progress | BRCMSTBPCIE | |
IRQ | Interrupt controller | Supported | Platform | |
FIQ | Interrupt controller | Supported | Platform | |
IPI | Software interrupt | Supported | Platform | |
LPAE | Large Physical Address Extension | Supported | Platform | |
Timer | System timer | Planned | Used internally by Ultibo core | |
ARM Timer | ARM SP804 Timer | Supported | BCM2711 | |
Local Timer | Local peripheral timer | Planned | ||
Local Mailbox | Inter processor mailboxes | Planned | ||
Generic Timer | ARM generic timer | Planned | Used internally by Ultibo core | |
UART0 | PL011 UART device | Supported | BCM2711 | |
UART1 | Mini (AUX) UART device | Planned | ||
UART2 | PL011 UART device | Supported | BCM2711 | |
UART3 | PL011 UART device | Supported | BCM2711 | |
UART4 | PL011 UART device | Supported | BCM2711 | |
UART5 | PL011 UART device | Supported | BCM2711 | |
I2C0 | I2C controller | Supported | BCM2711 | |
I2C1 | I2C controller | Supported | BCM2711 | |
I2C2 | I2C controller | Supported | Dedicated to the HDMI interface | BCM2711 |
I2C3 | I2C controller | Supported | BCM2711 | |
I2C4 | I2C controller | Supported | BCM2711 | |
I2C5 | I2C controller | Supported | BCM2711 | |
I2C6 | I2C controller | Supported | BCM2711 | |
I2C7 | I2C controller | Supported | Dedicated to the HDMI interface | BCM2711 |
SPI0 | SPI master device | Supported | BCM2711 | |
SPI1 | AUX SPI master device | Planned | ||
SPI2 | AUX SPI master device | Planned | ||
SPI3 | SPI master device | Supported | BCM2711 | |
SPI4 | SPI master device | Supported | BCM2711 | |
SPI5 | SPI master device | Supported | BCM2711 | |
SPI6 | SPI master device | Supported | BCM2711 | |
PCM/I2S | PCM/I2S audio controller | Planned | ||
SPI Slave | SPI slave device | Planned | ||
I2C Slave | I2C slave device | Supported | BCM2711 | |
PWM0 | PWM controller | Supported | BCM2711 | |
PWM1 | PWM controller | Supported | BCM2711 | |
PWM Audio | PWM audio output | Planned | ||
RTC | Real time clock | Planned | Included on CM4 IO board | PCF85063 |
Random | Random Number Generator | Supported | BCM2711 | |
Watchdog | Watchdog Timer | Supported | BCM2711 | |
USB OTG | DWCOTG USB On-The-Go mode | Planned | DWCOTG | |
WiFi | BCM43438 WiFi controller | In progress | ||
Bluetooth | BCM43438 Bluetooth host | Planned | ||
LAN | Broadcom BCM54213PE | Supported | GENET | |
Firmware | Mailbox | Supported | Platform | |
Clock (On/Off/Rate/Min/Max) | Supported | Platform | ||
Power (On/Off) | Supported | Platform | ||
Voltage (Value/Min/Max) | Supported | Platform | ||
Temperature | Supported | Platform | ||
Virtual GPIO | Supported | Platform | ||
GPIO Expander | Supported | Platform / RPiGPIOExpander | ||
VC6 GPU | Framebuffer | Supported | Includes multiple framebuffer support (HDMI/DSI/Composite) | BCM2711 |
DispmanX | Supported | |||
OpenGLES | Planned | |||
OpenMAX | Planned | |||
MMAL | Planned | |||
OpenVG | Planned | OpenVG | ||
VCHIQ | Supported | VC4VCHIQ | ||
HDMI CEC | Supported | |||
GENCMD | Supported | Firmware information and diagnostics | ||
LEDs | Power and Activity | Supported | Requires RPiGPIOExpander unit for 4B/400/CM4 | Platform |
QEMU Versatile PB
Peripheral | Type | Status | Notes | Unit |
---|---|---|---|---|
DMA | ARM PL080 DMA controller | Planned | ||
GPIO | ARM PL061 GPIO controller | Not planned | ||
RTC | ARM PL031 Real time clock | Supported | PL031 | |
IRQ | PL190 Interrupt controller | Supported | Platform | |
FIQ | PL190 Interrupt controller | Supported | Platform | |
Timer0 | ARM SP804 Timer | Planned | Used internally by Ultibo core | |
Timer1 | ARM SP804 Timer | Planned | ||
Timer2 | ARM SP804 Timer | Planned | Used internally by Ultibo core | |
Timer3 | ARM SP804 Timer | Planned | ||
UART0 | ARM PL011 UART device | Supported | PL011 | |
UART1 | ARM PL011 UART device | Supported | PL011 | |
UART2 | ARM PL011 UART device | Supported | PL011 | |
UART3 | ARM PL011 UART device | Supported | PL011 | |
MMC0 | ARM PL180 MMCI controller | Supported | PL18X | |
MMC1 | ARM PL180 MMCI controller | Supported | PL18X | |
Framebuffer | ARM PL110 LCD controller | Supported | PL110 | |
Keyboard | ARM PL050 PS/2 keyboard | Supported | PL050 | |
Mouse | ARM PL050 PS/2 mouse | Supported | PL050 | |
Audio | ARM PL041 Audio codec | Planned | ||
LAN | SMC LAN91C11 network | Supported | SMC91X | |
USB | OHCI host controller | Planned | ||
PCI | PCI controller | Planned | ||
SCSI | SCSI controller | Planned |
USB devices
Model | Type | Status | Notes | Unit |
---|---|---|---|---|
Hub | USB Hub | Supported | USB | |
Storage | USB Storage | Supported | Storage | |
HID | USB HID | Supported | HID / USBHID | |
Mouse | USB Mouse | Supported | Full HID support | Mouse / HIDMouse |
Keyboard | USB Keyboard | Supported | Full HID support | Keyboard / HIDKeyboard |
Gamepad | USB Gamepad | Supported | Full HID support | Joystick / HIDJoystick |
Joystick | USB Joystick | Supported | Full HID support | Joystick / HIDJoystick |
Touchscreen | USB Touchscreen | Supported | Full HID support | Touch / HIDTouch |
Audio | USB Audio | Planned | ||
CDCACM | USB CDC Serial | Supported | Supports newer Arduino models such as Mega 2560 R3 plus Micro:bit | USBCDCACM |
FTDI Serial | USB to Serial | Supported | Supports a huge number of USB to serial adapters plus many earlier Arduino models | FTDISerial |
PL2303 | USB to Serial | Supported | PL2303 | |
RT2800 | USB Wireless | Planned | ||
RTL8188EU | USB Wireless | Planned | ||
RTL8192CU | USB Wireless | Planned | ||
u-blox 7 | GPS receiver | Tested | USBCDCACM |
I2C devices
Model | Type | Status | Notes | Unit |
---|---|---|---|---|
DS1307 | Real time clock | Supported | Includes 1307/1337/1338/1339/1340/1388/3231 | DS1307 |
MCP23008/MCP23017 | I/O expander | Supported | MCP230XX | |
STMPE | I/O expander | Supported | Includes 610/801/811/1601/1801/2401 | STMPE |
STMPE | Touch controller | Supported | Includes 610/811 | STMPE |
PCF8574 | I/O expander | Supported | PCF857X | |
PCF85063 | Real time clock | Planned | Includes PCF85063A/PCF85063TP | PCF85063 |
FT5x06 | Touch controller | Supported | Includes FT5206/FT5306/FT5406/FT5506/FT6236 | FT5x06Touch |
GT9xx | Touch controller | Supported | Includes GT911/GT912/GT927/GT928/GT967/GT1151... | GoodixTouch |
SPI devices
Model | Type | Status | Notes | Unit |
---|---|---|---|---|
ILI9340 | TFT display | Supported | ILI9340 | |
HX8357D | TFT display | Supported | HX8357D | |
PCD8544 | LCD controller | Tested | Example provided by Ronald Daleske | |
STMPE | I/O expander | Supported | Includes 610/801/811/1601/1801/2401 | STMPE |
STMPE | Touch controller | Supported | Includes 610/811 | STMPE |
dsPIC | Microcontroller | Tested | Tested by Jim Kueneman |
Other devices
Model | Type | Status | Notes | Unit |
---|---|---|---|---|
HD44780 | LCD controller | Supported | Use with GPIO or I/O expander | HD44780 |
RPiFT5406 | Touch controller | Supported | RPIFT5406 |
Add-on boards
Model | Type | Status | Notes | Unit |
---|---|---|---|---|
Adafuit PiTFT28 | TFT display | Supported | Uses ILI9340 / STMPE / FT5x06 | PiTFT28 |
Adafuit PiTFT35 | TFT display | Supported | Uses HX8357D / STMPE | PiTFT35 |
Adafruit 16x2 LCD | LCD display | Supported | Uses HD44780 / MCP23008 | AF16x2LCD |
Generic I2C LCD | LCD display | Supported | Uses HD44780 / PCF8574 | I2CLCD |
Pimoroni HyperPixel | TFT display | Supported | Square, Round and Rectangular displays supported including touch. | HyperPixel |
Accessories
Model | Type | Status | Notes | Unit |
---|---|---|---|---|
Raspberry Pi Camera Module v1 & v2 | Add-on board | Supported | ||
Raspberry Pi Camera Module v1 & v2 (NoIR) | Add-on board | Supported | ||
Raspberry Pi Sense HAT | Add-on board | In progress | LED matrix and joystick supported, Sensors in progress | RPISENSEHAT |
Raspberry Pi 7″ Touchscreen Display | Touchscreen | Supported | Uses framebuffer driver from BCM2708/9/10 | RPIFT5406 |
Legend
Status | Meaning |
---|---|
Supported | Implemented and fully tested. |
In progress | Support for this device is in progress. |
Planned | Support for this device is planned for a future release. |
Not planned | There are no current plans to support this device. |
Tested | Confirmed to work with existing drivers. |