Skip to content

Tested Hardware

This library is built on topo of industry standards, but it's always good to know if anyone had success before.

Some hardware details follows.

Raspberry pi zero w

txt
gpiochip0 [pinctrl-bcm2835] (54 lines)
txt
gpiochip0 - 54 lines:
	line   0:     "ID_SDA"       unused   input  active-high 
	line   1:     "ID_SCL"       unused   input  active-high 
	line   2:      "GPIO2"       unused   input  active-high 
	line   3:      "GPIO3"       unused   input  active-high 
	line   4:      "GPIO4"       unused   input  active-high 
	line   5:      "GPIO5"       unused   input  active-high 
	line   6:      "GPIO6"       unused   input  active-high 
	line   7:      "GPIO7"       unused   input  active-high 
	line   8:      "GPIO8"       unused   input  active-high 
	line   9:      "GPIO9"       unused   input  active-high 
	line  10:     "GPIO10"       unused   input  active-high 
	line  11:     "GPIO11"       unused   input  active-high 
	line  12:     "GPIO12"       unused   input  active-high 
	line  13:     "GPIO13"       unused   input  active-high 
	line  14:     "GPIO14"       unused   input  active-high 
	line  15:     "GPIO15"       unused   input  active-high 
	line  16:     "GPIO16"       unused  output  active-high 
	line  17:     "GPIO17"       unused   input  active-high 
	line  18:     "GPIO18"       unused   input  active-high 
	line  19:     "GPIO19"       unused   input  active-high 
	line  20:     "GPIO20"       unused  output  active-high 
	line  21:     "GPIO21"       unused  output  active-high 
	line  22:     "GPIO22"       unused   input  active-high 
	line  23:     "GPIO23"       unused   input  active-high 
	line  24:     "GPIO24"       unused   input  active-high 
	line  25:     "GPIO25"       unused   input  active-high 
	line  26:     "GPIO26"       unused   input  active-high 
	line  27:     "GPIO27"       unused   input  active-high 
	line  28:       "SDA0"       unused   input  active-high 
	line  29:       "SCL0"       unused   input  active-high 
	line  30:       "CTS0"       unused   input  active-high 
	line  31:       "RTS0"       unused   input  active-high 
	line  32:       "TXD0"       unused   input  active-high 
	line  33:       "RXD0"       unused   input  active-high 
	line  34:    "SD1_CLK"       unused   input  active-high 
	line  35:    "SD1_CMD"       unused   input  active-high 
	line  36:  "SD1_DATA0"       unused   input  active-high 
	line  37:  "SD1_DATA1"       unused   input  active-high 
	line  38:  "SD1_DATA2"       unused   input  active-high 
	line  39:  "SD1_DATA3"       unused   input  active-high 
	line  40:  "CAM_GPIO1"       unused  output  active-high 
	line  41:      "WL_ON"       unused  output  active-high 
	line  42:         "NC"       unused   input  active-high 
	line  43:   "WIFI_CLK"       unused   input  active-high 
	line  44:  "CAM_GPIO0" "cam1_regulator" output active-high [used]
	line  45:      "BT_ON"   "shutdown"  output  active-high [used]
	line  46: "HDMI_HPD_N"        "hpd"   input   active-low [used]
	line  47: "STATUS_LED_N" "ACT" output active-low [used]
	line  48:   "SD_CLK_R"       unused   input  active-high 
	line  49:   "SD_CMD_R"       unused   input  active-high 
	line  50: "SD_DATA0_R"       unused   input  active-high 
	line  51: "SD_DATA1_R"       unused   input  active-high 
	line  52: "SD_DATA2_R"       unused   input  active-high 
	line  53: "SD_DATA3_R"       unused   input  active-high
txt
System:
  Host: peewee Kernel: 6.12.25+rpt-rpi-v6 arch: armv6l bits: 32 Console: pty pts/1 Distro: Raspbian
    GNU/Linux 12 (bookworm)
Machine:
  Type: ARM System: Raspberry Pi Zero W Rev 1.1 details: BCM2835 rev: 9000c1
    serial: 0000000036d5b361
CPU:
  Info: single core model: ARMv6-compatible v6l variant: arm1176jzf-s bits: 32 type: UP
  Speed (MHz): 1000 min/max: 700/1000 core: 1: 1000
Graphics:
  Device-1: bcm2835-hdmi driver: vc4_hdmi v: N/A
  Device-2: bcm2835-vc4 driver: vc4_drm v: N/A
  Display: server: No display server data found. Headless machine? tty: 138x30
  API: OpenGL Message: GL data unavailable in console. Try -G --display
Audio:
  Device-1: bcm2835-hdmi driver: vc4_hdmi
  API: ALSA v: k6.12.25+rpt-rpi-v6 status: kernel-api
Network:
  Device-1: bcm2835-mmc driver: mmc_bcm2835
  IF: wlan0 state: up mac: b8:27:eb:80:e6:34
Bluetooth:
  Device-1: pl011 driver: uart_pl011
  Report: hciconfig ID: hci0 state: up address: B8:27:EB:7F:19:CB bt-v: 2.1
Drives:
  Local Storage: total: 30 GiB used: 2.9 GiB (9.7%)
  ID-1: /dev/mmcblk0 type: Removable model: USD size: 30 GiB
Partition:
  ID-1: / size: 28.99 GiB used: 2.8 GiB (9.7%) fs: ext4 dev: /dev/mmcblk0p2
Swap:
  ID-1: swap-1 type: file size: 512 MiB used: 20 MiB (3.9%) file: /var/swap
Sensors:
  System Temperatures: cpu: 43.3 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 96 Uptime: 2h 9m Memory: 491.7 MiB used: 171.2 MiB (34.8%) gpu: 64 MiB Init: systemd
  target: multi-user (3) Shell: Bash inxi: 3.3.26

Check the raspberry pi gpio pinout for more details.

Radxa rock 3c

txt
gpiochip0 [gpio0] (32 lines)
gpiochip1 [gpio1] (32 lines)
gpiochip2 [gpio2] (32 lines)
gpiochip3 [gpio3] (32 lines)
gpiochip4 [gpio4] (32 lines)
gpiochip5 [rk817-gpio] (1 lines)
txt
gpiochip0 - 32 lines:
	line   0:      unnamed  "user-led1"  output  active-high [used]
	line   1:      unnamed       unused   input  active-high 
	line   2:      unnamed       unused  output  active-high 
	line   3:      unnamed       unused   input  active-high 
	line   4:      unnamed       unused   input  active-high 
	line   5:      unnamed       unused   input  active-high 
	line   6:      unnamed "pcie20-3v3-regulator" output active-high [used]
	line   7:      unnamed       unused   input  active-high 
	line   8:      unnamed       unused   input  active-high 
	line   9:      unnamed       unused   input  active-high 
	line  10:      unnamed       unused   input  active-high 
	line  11:      unnamed "bt_default_wake_host" input active-high [used]
	line  12:      unnamed "bt_default_wake" input active-high [used]
	line  13:      unnamed       unused   input  active-high 
	line  14:      unnamed       unused   input  active-high 
	line  15:      unnamed       unused   input  active-high 
	line  16:      unnamed      "reset"  output   active-low [used]
	line  17:      unnamed "bt_default_reset" output active-high [used]
	line  18:      unnamed       unused   input  active-high 
	line  19:      unnamed       unused   input  active-high 
	line  20:      unnamed       unused   input  active-high 
	line  21:      unnamed "vcc5v0-host-regulator" output active-high [used]
	line  22:      unnamed "vcc5v0-otg-regulator" output active-high [used]
	line  23:      unnamed       unused   input  active-high 
	line  24:     "PIN_10"       unused   input  active-high 
	line  25:      "PIN_8"       unused   input  active-high 
	line  26:      unnamed       unused   input  active-high 
	line  27:      unnamed       unused   input  active-high 
	line  28:      unnamed       unused   input  active-high 
	line  29:      unnamed       unused   input  active-high 
	line  30:      unnamed       unused   input  active-high 
	line  31:      unnamed       unused   input  active-high 
gpiochip1 - 32 lines:
	line   0:      "PIN_3"       unused   input  active-high 
	line   1:      "PIN_5"       unused   input  active-high 
	line   2:      unnamed       unused   input  active-high 
	line   3:      unnamed       unused   input  active-high 
	line   4:     "PIN_37"       unused   input  active-high 
	line   5:      unnamed       unused   input  active-high 
	line   6:      unnamed       unused   input  active-high 
	line   7:      unnamed       unused   input  active-high 
	line   8:      unnamed       unused   input  active-high 
	line   9:      unnamed       unused   input  active-high 
	line  10:      unnamed       unused  output  active-high 
	line  11:      unnamed       unused   input  active-high 
	line  12:      unnamed       unused   input  active-high 
	line  13:      unnamed       unused   input  active-high 
	line  14:      unnamed       unused   input  active-high 
	line  15:      unnamed       unused   input  active-high 
	line  16:      unnamed       unused   input  active-high 
	line  17:      unnamed       unused   input  active-high 
	line  18:      unnamed       unused   input  active-high 
	line  19:      unnamed       unused   input  active-high 
	line  20:      unnamed       unused   input  active-high 
	line  21:      unnamed       unused   input  active-high 
	line  22:      unnamed       unused   input  active-high 
	line  23:      unnamed       unused   input  active-high 
	line  24:      unnamed       unused   input  active-high 
	line  25:      unnamed       unused   input  active-high 
	line  26:      unnamed       unused   input  active-high 
	line  27:      unnamed       unused   input  active-high 
	line  28:      unnamed       unused   input  active-high 
	line  29:      unnamed       unused   input  active-high 
	line  30:      unnamed       unused   input  active-high 
	line  31:      unnamed       unused   input  active-high 
gpiochip2 - 32 lines:
	line   0:      unnamed       unused   input  active-high 
	line   1:      unnamed       unused   input  active-high 
	line   2:      unnamed       unused   input  active-high 
	line   3:      unnamed       unused   input  active-high 
	line   4:      unnamed       unused   input  active-high 
	line   5:      unnamed       unused   input  active-high 
	line   6:      unnamed       unused   input  active-high 
	line   7:      unnamed       unused   input  active-high 
	line   8:      unnamed       unused   input  active-high 
	line   9:      unnamed       unused   input  active-high 
	line  10:      unnamed       unused   input  active-high 
	line  11:      unnamed       unused   input  active-high 
	line  12:      unnamed       unused   input  active-high 
	line  13:      unnamed "bt_default_rts" input active-high [used]
	line  14:      unnamed       unused   input  active-high 
	line  15:      unnamed       unused   input  active-high 
	line  16:      unnamed       unused   input  active-high 
	line  17:      unnamed       unused   input  active-high 
	line  18:      unnamed       unused   input  active-high 
	line  19:      unnamed       unused   input  active-high 
	line  20:      unnamed       unused   input  active-high 
	line  21:      unnamed       unused   input  active-high 
	line  22:      unnamed       unused   input  active-high 
	line  23:      unnamed       unused   input  active-high 
	line  24:      unnamed       unused   input  active-high 
	line  25:      unnamed       unused   input  active-high 
	line  26:      unnamed       unused   input  active-high 
	line  27:      unnamed       unused   input  active-high 
	line  28:      unnamed       unused   input  active-high 
	line  29:      unnamed       unused   input  active-high 
	line  30:      unnamed       unused   input  active-high 
	line  31:      unnamed       unused   input  active-high 
gpiochip3 - 32 lines:
	line   0:      unnamed       unused   input  active-high 
	line   1:     "PIN_11"       unused   input  active-high 
	line   2:     "PIN_13"       unused   input  active-high 
	line   3:     "PIN_12"       unused   input  active-high 
	line   4:     "PIN_35"       unused   input  active-high 
	line   5:     "PIN_40"       unused   input  active-high 
	line   6:     "PIN_38"       unused   input  active-high 
	line   7:     "PIN_36"       unused   input  active-high 
	line   8:     "PIN_15"       unused  output  active-high 
	line   9:     "PIN_16"       unused   input  active-high 
	line  10:     "PIN_18"       unused   input  active-high 
	line  11:     "PIN_29"       unused   input  active-high 
	line  12:     "PIN_31"       unused   input  active-high 
	line  13:      unnamed       unused   input  active-high 
	line  14:      unnamed       unused   input  active-high 
	line  15:      unnamed       unused   input  active-high 
	line  16:      unnamed       unused  output  active-high 
	line  17:     "PIN_22"       unused   input  active-high 
	line  18:     "PIN_32"       unused   input  active-high 
	line  19:     "PIN_33"       unused   input  active-high 
	line  20:      "PIN_7"       unused   input  active-high 
	line  21:      unnamed       unused   input  active-high 
	line  22:      unnamed       unused   input  active-high 
	line  23:      unnamed       unused   input  active-high 
	line  24:      unnamed       unused   input  active-high 
	line  25:      unnamed       unused   input  active-high 
	line  26:      unnamed       unused   input  active-high 
	line  27:      unnamed       unused   input  active-high 
	line  28:      unnamed       unused   input  active-high 
	line  29:      unnamed       unused   input  active-high 
	line  30:      unnamed       unused   input  active-high 
	line  31:      unnamed       unused   input  active-high 
gpiochip4 - 32 lines:
	line   0:      unnamed       unused   input  active-high 
	line   1:      unnamed       unused   input  active-high 
	line   2:      unnamed       unused   input  active-high 
	line   3:      unnamed       unused   input  active-high 
	line   4:      unnamed       unused   input  active-high 
	line   5:      unnamed       unused   input  active-high 
	line   6:      unnamed       unused   input  active-high 
	line   7:      unnamed       unused   input  active-high 
	line   8:      unnamed       unused   input  active-high 
	line   9:      unnamed       unused   input  active-high 
	line  10:     "PIN_27"       unused   input  active-high 
	line  11:     "PIN_28"       unused   input  active-high 
	line  12:      unnamed       unused   input  active-high 
	line  13:      unnamed       unused   input  active-high 
	line  14:      unnamed       unused   input  active-high 
	line  15:      unnamed       unused   input  active-high 
	line  16:      unnamed       unused   input  active-high 
	line  17:      unnamed       unused   input  active-high 
	line  18:     "PIN_23"       unused   input  active-high 
	line  19:     "PIN_19"       unused   input  active-high 
	line  20:      unnamed "headset_gpio" input active-high [used]
	line  21:     "PIN_21"       unused   input  active-high 
	line  22:     "PIN_24"       unused   input  active-high 
	line  23:      unnamed       unused   input  active-high 
	line  24:      unnamed       unused   input  active-high 
	line  25:     "PIN_26"       unused   input  active-high 
	line  26:      unnamed       unused   input  active-high 
	line  27:      unnamed       unused   input  active-high 
	line  28:      unnamed       unused   input  active-high 
	line  29:      unnamed       unused   input  active-high 
	line  30:      unnamed       unused   input  active-high 
	line  31:      unnamed       unused   input  active-high 
gpiochip5 - 1 lines:
	line   0:      unnamed       unused  output  active-high
txt
System:    Host: rock-3c Kernel: 5.10.160-34-rk356x aarch64 bits: 64 Console: N/A Distro: Debian GNU/Linux 11 (bullseye) 
Machine:   Type: ARM Device System: Radxa ROCK3 Model C details: N/A serial: fd91730856bfadd8 
CPU:       Info: Quad Core model: N/A variant: cortex-a55 bits: 64 type: MCP 
           Speed: 1416 MHz min/max: 408/1416 MHz Core speeds (MHz): 1: 1416 2: 1416 3: 1416 4: 1416 
Graphics:  Device-1: display-subsystem driver: rockchip_drm v: N/A 
           Device-2: mali-bifrost driver: mali v: N/A 
           Device-3: rk3568-dw-hdmi driver: dwhdmi_rockchip v: N/A 
           Display: server: X.org 1.20.11 driver: loaded: modesetting tty: 138x28 
           Message: Advanced graphics data unavailable in console for root. 
Audio:     Device-1: rk3568-dw-hdmi driver: dwhdmi_rockchip 
           Device-2: simple-audio-card driver: asoc_simple_card 
           Device-3: simple-audio-card driver: asoc_simple_card 
           Sound Server: ALSA v: k5.10.160-34-rk356x 
Network:   Device-1: rk3568-gmac driver: rk_gmac_dwmac 
           IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 2a:6a:50:77:be:90 
           Device-2: wlan-platdata driver: wlan_platdata 
Drives:    Local Storage: total: 28.87 GiB used: 4.47 GiB (15.5%) 
           ID-1: /dev/mmcblk1 model: SD32G size: 28.87 GiB 
Partition: ID-1: / size: 28.02 GiB used: 4.47 GiB (16.0%) fs: ext4 dev: /dev/mmcblk1p3 
           ID-2: /boot/efi size: 299.4 MiB used: 4 KiB (0.0%) fs: vfat dev: /dev/mmcblk1p2 
Swap:      ID-1: swap-1 type: zram size: 991.7 MiB used: 0 KiB (0.0%) dev: /dev/zram0 
Sensors:   System Temperatures: cpu: 37.2 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Info:      Processes: 151 Uptime: 1h 23m Memory: 1.94 GiB used: 305.4 MiB (15.4%) Init: systemd runlevel: 5 Shell: Bash 
           inxi: 3.3.01

Check the rock 3c gpio pinout for more details.