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.