NanoPi Neo x2

NanoPiNeo base

NanoPi Neo Core or Air supporting 2 block slots

Features

  • 2x full featured Block slots
  • NanoPi Neo Core or Air module
  • PoE powering
  • USB-C powering
  • up to 24V power supply
  • Debug console on USB-C
  • 2x USB-A hosts

Reading blocks configuration

To access blocks configuration JSON you have to read it from its EEPROM. First module uses address 0x54, second 0x55 aso. Load drivers first:

echo 24c32 0x54 > /sys/bus/i2c/devices/i2c-0/new_device
echo 24c32 0x55 > /sys/bus/i2c/devices/i2c-0/new_device

Dump the EEPROMs content:

cat /sys/bus/i2c/devices/i2c-0/0-0054/eeprom

or process it with jq:

jq . /sys/bus/i2c/devices/i2c-0/0-0054/eeprom

{
  "class": "KNX",
  "ic": "NCN5130",
  "if": "serial",
  "uart": "38400@8E1",
  "serial": "12345678"
}

Bootloading and resetting blocks

Blocks might support bootloading and reset function depending on their design.

On a NanoPiNeo this funtionallity is accessed by GPIOs. For Slot 1:

Function Slot 1 GPIO Block Pin
serial port ttyS1 33/34
Reset 201 38
Bootload 200 37
echo 200 > /sys/class/gpio/export
echo 201 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio200/direction
echo 1 > /sys/class/gpio/gpio200/value
echo out > /sys/class/gpio/gpio201/direction
echo 0 > /sys/class/gpio/gpio201/value
echo 1 > /sys/class/gpio/gpio201/value

for Slot 2:

Function Slot 2 GPIO Block Pin
serial port ttyS2 33/34
Reset 3 38
Bootload 2 37
echo 2 > /sys/class/gpio/export
echo 3 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio2/direction
echo 1 > /sys/class/gpio/gpio2/value
echo out > /sys/class/gpio/gpio3/direction
echo 0 > /sys/class/gpio/gpio3/value
echo 1 > /sys/class/gpio/gpio3/value