The Single Board Computer Database

Contributing to the database

HackerBoards (Board-DB) database is open source, and external contributions help sustain the quality of its content. The approval of new boards, or changes to existing records, will go through GitLab "merge requests".

License and disclaimer

The HackerBoards database is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0). Restricted usage is permitted but explicit attribution and linking to the original source is required.

We accept no responsibility or liability for any omissions or inaccuracies in the database, and we reserve the right to remove or modify any content at any time. In general, the principle of "use at your own risk" holds true in all parts and subprojects of HackerBoards.

How to help

The HackerBoards database is a community effort, and we welcome contributions from everyone. Also minor corrections (e.g. single incorrect specifications) are very welcome.

To add a new board:

The process should be fairly standardized across boards, and the learning curve is very smooth as soon as you get familiar with the YAML glossary.

Discontinuing old boards

To keep the database clean while remaining available as an archive and resource of past products, there is a deprecated flag to indicate boards that are not commercially available or supported anymore.
If you are deprecating a board, please use the deprecated flag in the YAML file, and a commit message of the form

{manufacturer}/{product}: mark as discontinued

Relationships between boards

If relationships between fields exist (see the Relation column in the glossary below), they should be fulfilled in the respective linked file (e.g. dataset/manufacturer.yaml for new manufacturer entries).

This is often as easy as entering the value of the field in the linked YAML, and its respective details, only if that entry does not exist already.

YAML fields glossary

Finally, here is a brief reference of all fields in the YAML schema.

Field Type Default Unit Relation Description
name string Name of the board (e.g. Raspberry Pi 3 Model B)
manufacturer reference null manufacturer.yaml Manufacturer
_date_added date False When this board has been added to the database. (So far, this is not strict, but should be as close as possible to the MR date)
_deprecated boolean false Board is discontinued or no longer supported by manufacturer
_description string null Long description of the board (ideally 3-5 sentences)
_links json [] Links - TODO
_notes string Internal notes - for maintainers and future contributors, e.g. about some bus or connector which is not yet supported by the schema
_slug string Board identifier for URL, in the form of {manufacturer}-{name}. Letters should be lowercase, numbers and dashes should be used as separators. Look at the existing boards for examples.
_price integer 0 USD Board official (retail / catalog) price
_url string Board official URL. Permalink, please link to the official product page and remove any tracking parameters
_visibility boolean true Visibility of the board. 0 = hidden, 1 = visible
audio_i2s integer 0 count I2S audio channels
audio_line_in integer 0 count Line-in audio channels
audio_mic_in integer 0 count Microphone audio channels
audio_mic_onboard integer 0 count Onboard microphone audio channels
audio_outputs integer 0 count Audio analog output channels
audio_spdif_in integer 0 count SPDIF audio input channels
audio_spdif_out integer 0 count SPDIF audio output channels
camera_count integer 0 count Camera inputs (all types)
camera_mipi integer 0 count Camera inputs (MIPI CSI)
camera_parallel integer 0 count Camera inputs (parallel)
certs json null Certifications
cpu_architecture reference null architecture.yaml CPU architecture
cpu_board_mcu reference null mcu.yaml On-board MCU (Microcontroller Unit) model
cpu_board_mcu_count integer 0 count On-board MCU (Microcontroller Unit)
cpu_cluster1_core reference null core.yaml CPU - Primary cluster - core type
cpu_cluster1_count integer 0 count CPU - Primary cluster - core count
cpu_cluster1_speed integer 0 MHz CPU - Primary cluster - core speed in MHz
cpu_cluster2_core reference null core.yaml CPU - Secondary cluster - core type
cpu_cluster2_count integer null count CPU - Secondary cluster - core count
cpu_cluster2_speed integer null MHz CPU - Secondary cluster - core speed in MHz
cpu_cluster3_core reference null core.yaml CPU - Tertiary cluster - core type
cpu_cluster3_count integer null count CPU - Tertiary cluster - core count
cpu_cluster3_speed integer null MHz CPU - Tertiary cluster - core speed in MHz
cpu_embedded_mcu reference null mcu.yaml Embedded MCU (inside the SoC) - model
cpu_embedded_mcu_count integer 0 count Embedded MCUs (inside the SoC)
cpu_fpga reference null fpga.yaml FPGA - model
cpu_fpga_count integer 0 count FPGAs
cpu_npu reference null npu.yaml Neural Processing Unit (NPU)
cpu_npu_count integer 0 count Neural Processing Units (NPUs)
cpu_soc reference null soc.yaml System on Chip (SoC)
ethernet_count integer 0 count Ethernet ports (all, with SFP)
ethernet_100 integer 0 count Ethernet ports - 100 Mbps support
ethernet_1000 integer 0 count Ethernet ports - 1000 Mbps / Gigabit support
ethernet_10000 integer 0 count Ethernet ports - 10000 Mbps / 10 Gigabit support
ethernet_100000 integer 0 count Ethernet ports - 100000 Mbps / 100 Gigabit support
ethernet_2500 integer 0 count Ethernet ports - 2500 Mbps / 2.5 Gigabit support
ethernet_5000 integer 0 count Ethernet ports - 5000 Mbps / 5 Gigabit support
ethernet_400000 integer 0 count Ethernet ports - 400000 Mbps / 400 Gigabit support
ethernet_poe_active boolean false Ethernet ports - PoE (Power over Ethernet) - active
ethernet_poe_passive boolean false Ethernet ports - PoE (Power over Ethernet) - passive
ethernet_sfp integer 0 count Ethernet ports - SFP (Small Form-factor Pluggable) support
ethernet_slots integer 0 count Ethernet slots - TODO
ethernet_wol boolean false Ethernet ports - Wake-on-LAN (WOL) support
formfactor reference null formfactor.yaml Form factor
gpio_adc_count integer 0 count ADC (Analog to Digital Converters) pins
gpio_can_count integer 0 count CAN bus channels
gpio_compatible_hat boolean false Pin header - compatibility with Raspberry Pi HAT
gpio_compatible_shield boolean false Pin header - compatibility with Arduino shield
gpio_dac_count integer 0 count Analog-to-digital converters
gpio_count integer 0 count General-purpose input/output (GPIO) pins EXCLUDING power pins
gpio_i2c_count integer 0 count I/O - Inter-Integrated Circuit (I2C) interfaces
gpio_pwm_count integer 0 count I/O - PWM (Pulse Width Modulation) interfaces
gpio_spi_count integer 0 count SPI interfaces (not counting the ones used for flash)
gpio_uart_count integer 0 count UART interfaces
gpu reference null gpu.yaml GPU - model
gpu_count integer 0 count GPUs core count
gpu_speed integer 0 MHz GPU - speed
ir_receiver boolean false Infrared (IR) receiver
ir_transmitter boolean false Infrared (IR) transmitter
memory_ddr boolean false Memory - DDR (first generation)
memory_ddr2 boolean false Memory - DDR2
memory_ddr3 boolean false Memory - DDR3
memory_ddr3l boolean false Memory - DDR3L
memory_ddr4 boolean false Memory - DDR4
memory_ddr4lp boolean false Memory - DDR4LP
memory_ddr5 boolean false Memory - DDR5
memory_ecc boolean false Memory - Error Correction Code (ECC) support
memory_max integer 0 B Memory - maximum supported (or installed, if soldered)
memory_slots integer 0 count Physical DIMM slots for removable memory
memory_sodimm boolean false Memory - SODIMM (Small Outline Dual Inline Memory Module)
memory_speed integer 0 MHz Memory - speed
mounting_holes boolean false Mounting holes
pmic string Power Management IC (PMIC)
power_battery_connector boolean false Battery connector
power_battery_type reference null Battery type
power_input_current_max float 0 A Input current - maximum / peak consumption
power_input_current_min float 0 A Input current - minimum / idle consumption
power_input_voltage_max float 0 V Input voltage - maximum
power_input_voltage_min float 0 V Input voltage - minimum
rtc boolean false Real Time Clock (RTC) onboard
sata_bootable boolean false SATA - bootable
sata_count integer 0 count SATA - interfaces
sata_revision integer 0 revision SATA - revision (e.g. 3)
sata_slots integer 0 count SATA - slots
sd_bootable boolean false SD(IO) - bootable
sd_count integer 0 count SD(IO) - interfaces
sd_interface reference null storageinterface.yaml SD(IO) - interface type
sd_slots integer 0 count SD(IO) - slots
size_depth integer 0 mm Board dimensions - Depth
size_width integer 0 mm Board dimensions - width
size_height integer 0 mm Board dimensions - height
software_android string Software - Android support (version, if any)
software_linux boolean false Software - Linux support
software_linux_distros string Software - Linux distributions supported (comma-separated list)
software_linux_mainline boolean false Software - Linux mainline support
software_operating_systems array [] operatingsystem.yaml Software - Operating systems supported (e.g. Linux distros)
software_other string Software - Other operating systems supported (comma-separated list)
software_windows string Software - Windows support (version, if any)
storage_emmc_bootable boolean false Storage - Embedded MultiMediaCard (eMMC) - bootable
storage_emmc_count integer 0 count Storage - Embedded MultiMediaCard (eMMC)
storage_emmc_interface reference null storageinterface.yaml Storage - Embedded MultiMediaCard (eMMC) - interface type
storage_emmc_size integer 0 MB Storage - Embedded MultiMediaCard (eMMC) - size
storage_emmc_slotted boolean false Storage - Embedded MultiMediaCard (eMMC) - slotted
storage_spiflash_bootable boolean false SPI flash - bootable
storage_spiflash_size integer 0 MiB SPI flash - size
temperature_max integer null Celsius degrees Operating temperature - maximum (of range)
temperature_min integer null Celsius degrees Operating temperature - minimum (of range)
usb_bootable boolean false USB - bootable
usb_count integer 0 count USB - interfaces (total)
usb_device integer 0 USB - device (client) interfaces
usb_hosts integer 0 count USB - host (server) supported interfaces
usb_otg integer 0 count USB - OTG-supported interfaces
usb_slots integer 0 count USB - slots
usb_superspeed integer 0 count USB - SuperSpeed (3.x / 4.x) supported interfaces
usb_typec integer 0 count USB - Type-C supported interfaces
display_count integer 0 count Display outputs (all types) - TODO
video_composite_count integer 0 count Composite (CVBS) video outputs
video_composite_slots integer 0 count TODO
video_displayport_connector reference null displayconnector.yaml Display outputs - connector
video_displayport_count integer 0 count DisplayPort outputs
video_displayport_slots integer 0 count DisplayPort slots
video_displayport_standard reference null displayinterface.yaml Display outputs - interface standard
video_dpi_count integer 0 count Display outputs - parallel interface (DPI)
video_dpi_standard reference null displayinterface.yaml Display outputs - parallel interface (DPI) - standard
video_dsi_count integer 0 count Display outputs - DSI
video_dsi_standard reference null displayinterface.yaml Display outputs - DSI - standard
video_hdmi_connector reference null displayconnector.yaml Display - HDMI - connector type
video_hdmi_count integer 0 count Display - HDMI
video_hdmi_slots integer 0 count Display - HDMI - slots
video_hdmi_standard reference null displayinterface.yaml Display - HDMI - standard
video_lvds_count integer 0 count Display - Low Voltage Differential Signaling (LVDS) - interfaces
video_lvds_standard reference null displayinterface.yaml Display - Low Voltage Differential Signaling (LVDS) - standard type
video_svideo_count integer 0 count S-Video interfaces
video_svideo_slots integer 0 count S-Video slots
video_vga_connector reference null displayconnector.yaml VGA - connector type
video_vga_count integer 0 count VGA - interfaces
video_vga_slots integer 0 count VGA - slots
wireless_bluetooth_audio boolean false Bluetooth audio support
wireless_bluetooth_ble boolean false Bluetooth BLE support
wireless_bluetooth_onboard boolean false Onboard Bluetooth support
wireless_bluetooth_version string null Bluetooth version (max, major.minor, e.g. 4.2)
wireless_lora_onboard boolean false Wireless - Onboard LoRa (Long Range) modem
wireless_mobile_modem_onboard boolean false Wireless - Onboard mobile broadband (cellular) modem
wireless_wifi_2g_level integer 0 level WiFi - 2.4 GHz support. 0 = no support, 1 = b, 2 = g, 3 = n, 4 = ac
wireless_wifi_5g_level integer 0 level WiFi - 5 GHz support. 0 = no support, 1 = a, 2 = n, 3 = ac, 4 = ax
wireless_wifi_chains integer 0 count WiFi - number of chains (TODO)
wireless_wifi_external_antenna boolean false WiFi - external antenna connector
wireless_wifi_onboard boolean false Wireless - Onboard WiFi