LogoLogo
Auvidea.euDocumentationImprint
  • 📓GUIDE
    • R- Group Software Setup Guide
    • Questions and Answers
  • 🔗RELEVANT LINKS
    • 🚦GPIO - Guide
    • 💾I2C - Guide
Powered by GitBook
On this page
  • Flashing to SD-Card
  • Pre-boot Configuration
  • Enable I2C
  • Accessing carrier board EEPROM
  • GPIO Functions
  • Command cheat sheet
  • Enable/Disable M.2 SSD
  • Enabling/Disable M.2 LTE module

Was this helpful?

Export as PDF
  1. GUIDE

R- Group Software Setup Guide

Setup guide for the R product group: R20.1, R21, R22,...

NextQuestions and Answers

Last updated 1 year ago

Was this helpful?

Flashing to SD-Card

Before using the Rxx you will need to prepare a micro SD card for the Raspberry Pi Zero. Start by flashing your micro SD using any flashing tool like the '' (available for Linux, Windows and macOS) and select any 32-bit OS – e.g. "Raspberry Pi OS (Legacy) Lite" from 2023-12-05.

Pre-boot Configuration

After your flashing tool is done writing the RPi OS, the config file in the micro SD card's "bootfs" (or "boot" in older releases) partition needs to be edited before putting it into the RPi Zero – this step is important because otherwise the Pi (depending on the chosen OS version) may not be able to boot. Navigate into the "bootfs" partition, open "config.txt" and append the following in a new line:

gpio=21=op,dl

Now you can put the micro SD card into the Pi Zero and power on the R21.

Enable I2C

Several resources on the carrier board are linked to the Cam I²C, which is hidden by default.

sudo raspi-config

3 Interface Options → I5 I2C → Press Tab, select and to reboot

Accessing carrier board EEPROM

Write protection is activated by default. To deactivate it temporarily, short the pins located 1 CM above the Pi Zero's SD card slot during the writing process.

i2c-tools are used in this example to read and write data to the EEPROM. This library can be installed with the following commands:

sudo apt update
sudo apt install i2c-tools

Read or writing to an I²C device is performed with i2cset , i2cgetor i2ctransfer on the device address 0x50 and I²C bus 1

More Information about I²C can be found in our I2C - Guide

sudo i2cdetect -y -r 1
sudo i2cdump -y 1 0x50
sudo i2ctransfer -y 1 w5@0x50 0x00 0x54 0x45 0x53 0x54
sudo i2cdump -y 1 0x50

The following example tries to overwrite the written data in the previous step without the write protect pin shorted.

sudo i2ctransfer -y 1 w5@0x50 0x00 0xff 0xff 0xff 0xff
sudo i2cdump -y 1 0x50

GPIO Functions

Command cheat sheet

echo [GPIO_NR] > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio[GPIO_NR]/direction
echo [0/1] > /sys/class/gpio/gpio[GPIO_NR]/value

A more detailed description on how to use GPIO's are described in our GPIO - Guide

Functjion
Default state
Description

RGB LED

Low

GPIO19 = R, GPIO13 = G, GPIO26 = B; high active

USB Hub

High

GPIO16; high active

M.2 LTE

High

GPIO17; high active

M.2 SSD

High

GPIO21; ;disabled by previous modification in "/boot/config.txt"

Enable/Disable M.2 SSD

echo 21 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio21/direction
echo 1 > /sys/class/gpio/gpio21/value # Set GPIO to 1 -> Enable SSD Slot

After the enable signal is activated, the USB to PCIe converter is detected as a JMicron Technology Corp. device when using the lsusb command.

When using lsblk the connected SSD should be identifiable as an sdx device. In the following example visible as /dev/sda.

Enabling/Disable M.2 LTE module

echo 17 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio17/direction
echo 1 > /sys/class/gpio/gpio17/value # Set GPIO to 1 -> Enable M.2 LTE Slot

After the enable signal is activated, the LTE Module used in the following example is detected as Sierra Wireless Inc. device when using the lsusb command.

📓
Raspberry Pi Imager
I²C device list on bus 1
Contents of EEPROM using i2cdump
Example write to EEPROM and dump of changed content
Write with write protect enabled
lsusb output before and after enable signal
lsblk output & example mount
lsusb output for M.2 LTE Module