# Compute Modules

### Install OS / headless installation

#### SoQuartz (RK3566)

[![soquartz-cm.webp](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/scaled-1680-/qocUKTE93iLdKVDU-soquartz-cm.webp)](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/qocUKTE93iLdKVDU-soquartz-cm.webp)

##### Specifications

##### <span class="mw-headline" id="bkmrk-cpu-architecture-1">CPU Architecture</span>

- [Quad-core ARM Cortex-A55@1.8GHz](https://developer.arm.com/ip-products/processors/cortex-a/cortex-a55)
- AArch32 for full backwards compatibility with ARMv7
- ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation
- Includes VFP hardware to support single and double-precision operations
- ARMv8 Cryptography Extensions
- Integrated 32KB L1 instruction cache and 32KB L1 data cache per core
- 512KB unified system L3 cache

##### <span class="mw-headline" id="bkmrk-gpu-%28graphics-proces-1">GPU (Graphics Processing Unit) Capabilities</span>

- [Mali-G52 2EE Bifrost GPU@800MHz](https://developer.arm.com/ip-products/graphics-and-multimedia/mali-gpus/mali-g52-gpu)
- 4x Multi-Sampling Anti-Aliasing (MSAA) with minimal performance drop
- 128KB L2 Cache configurations
- Supports OpenGL ES 1.1, 2.0, and 3.2
- Supports Vulkan 1.0 and 1.1
- Supports OpenCL 2.0 Full Profile
- Supports 1600 Mpix/s fill rate when at 800MHz clock frequency
- Supports 38.4 GLOP/s when at 800MHz clock frequency

##### <span class="mw-headline" id="bkmrk-neural-process-unit--1">Neural Process Unit NPU Capability</span>

- Neural network acceleration engine with processing performance of up to 0.8 TOPS
- Supports integer 8 and integer 16 convolution operations
- Supports the following deep learning frameworks: TensorFlow, TF-lite, Pytorch, Caffe, ONNX, MXNet, Keras, Darknet

##### <span class="mw-headline" id="bkmrk-system-memory-1">System Memory</span>

- RAM Memory Variants: 2GB, 4GB, 8GB LPDDR4.
- Storage Memory: optional 128Mb SPI Flash and optional eMMC module from 8GB up to 128GB

##### <span class="mw-headline" id="bkmrk-network-1">Network</span>

- 10/100/1000Mbps Ethernet
- WiFi 802.11 b/g/n/ac with Bluetooth 5.0

##### Setup

1. Flash the Plebian image to a SD card/ EMMC.
2. Boot.
3. ssh as "pleb/pleb" and complete setup

```bash
sudo vim /etc/sudoers.d/pleb

pleb ALL=(ALL:ALL) NOPASSWD: ALL
```

```
sudo dpkg-reconfigure locales
sudo timedatectl set-timezone Europe/Paris
```

```bash
sudo apt update && sudo apt install -y curl

curl -O https://overviewer.org/~pillow/up/75bea78e59/devicetrees-plebian-quartz64-20230601130309-arm64.deb

sudo dpkg -i devicetrees-plebian-quartz64-20230601130309-arm64.deb

# sudo sysctl -w net.core.rmem_default=262144
# sudo sysctl -w net.core.rmem_max=262144

#
# W: Possible missing firmware /lib/firmware/rockchip/dptx.bin for module rockchipdrm
#
sudo mkdir -p /lib/firmware/rockchip/
wget https://raw.githubusercontent.com/wkennington/linux-firmware/master/rockchip/dptx.bin
sudo cp /home/pleb/dptx.bin /lib/firmware/rockchip/dptx.bin
```

```bash
sudo apt install -y cowsay fortune

sudo vim /etc/update-motd.d/01-cowsay
```

```bash
#!/bin/bash
/usr/games/fortune | /usr/games/cowsay -f tux
```

```bash
sudo chmod +x /etc/update-motd.d/01-cowsay
```

#### Wifi

Réf. : [https://wiki.debian.org/WiFi/HowToUse](https://wiki.debian.org/WiFi/HowToUse)

```
cd /lib/firmware/brcm/
ln -s brcmfmac43455-sdio.AW-CM256SM.txt brcmfmac43455-sdio.pine64,rockpro64-v2.0.txt
ln -s brcmfmac43455-sdio.AW-CM256SM.txt brcmfmac43455-sdio.pine64,rockpro64-v2.1.txt

sudo rmmod brcmfmac
sudo modprobe brcmfmac
```

```bash
sudo vim /etc/systemd/network/25-wlan.network
```

```
[Match]
Name=wlan0

[Network]
DHCP=ipv4

[DHCP]
UseDNS=yes
```

```bash
sudo vim /etc/network/interfaces.d/local
```

```
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug end0
auto wlan0
iface wlan0 inet static
    address 192.168.1.xx
    netmask 255.255.255.0
    gateway 192.168.1.254
    dns-nameservers 1.1.1.1
    dns-nameservers 1.0.0.1
# This is an autoconfigured IPv6 interface
# iface end0 inet6 auto
```

```bash
sudo vim /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
```

```
ctrl_interface=DIR=/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="BikiniBottom"
        #psk="transatlantique"
        psk=e5b692f43ab186494b7f37949d9084e1c0e97fd74d8f14a6325be2e62309067e
}
```

```bash
sudo systemctl enable --now wpa_supplicant@wlan0.service

sudo su -l -c "systemctl enable --now systemd-networkd"
```

#### Sensors

```bash
sudo apt install lm-sensors fancontrol read-edid i2c-tools libi2c-dev python3-smbus -y

sudo sensors-detect
```
---

####  Turing RK1 (RK3588)

[![turing-rk1-cm.webp](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/scaled-1680-/q91BzNH9bujT572b-turing-rk1-cm.webp)](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/q91BzNH9bujT572b-turing-rk1-cm.webp)

##### Specifications

<table id="bkmrk-instruction-set-armv"><tbody><tr><td>**Instruction Set**</td><td>ARMv8-A (64-bit)</td></tr><tr><td>**OS Support**</td><td>Ubuntu Server 22.04 LTS</td></tr><tr><td>**CPUs**</td><td>8× | 4× ARM Cortex-A76 | 4× ARM Cortex-A55 | DynamIQ</td></tr><tr><td>**GPU**</td><td>G610 GPU  
Support OpenGLES 1.1, 2.0, and 3.2, OpenCL up to 2.2 and Vulkan1.2  
Proprietary 2D hardware acceleration engine</td></tr><tr><td>**NPU**</td><td>6 TOPS</td></tr><tr><td>**RAM**</td><td>LPDDR4 up to 32 GB</td></tr><tr><td>**Storage**</td><td>32 G eMMC 5.1, SD 3.0</td></tr><tr><td>**Ethernet**</td><td>1000Mbps</td></tr><tr><td>**USB**</td><td>2x USB 3.0, 2x USB 2.0</td></tr><tr><td>**PCIe**</td><td>PCIe Gen3</td></tr><tr><td>**MIPI**</td><td>4-Lane MIPI-DSI, 4-Lane MIPI-CSI</td></tr><tr><td>**Digital Audio port**</td><td>2× I2S</td></tr><tr><td>**HDMI**</td><td>HDMI 2.1, 8K@60fps</td></tr><tr><td>**Video input port**</td><td>2× MIPI-CSI RX 4× lanes  
1× MIPI-CSI DPHY RX 4× lanes</td></tr><tr><td>**Display output port**</td><td>1× MIPI-DSI DPHY 2× lanes  
1× HDMI 2.1  
1× DP 1.4</td></tr><tr><td>**VPU**</td><td>VPU 2.0, supporting 8K video</td></tr><tr><td>**Video Encoder**</td><td>H264, 8K@30FPS  
VP9/H265, 8k@60FPS  
AV1/AVS2, 4k@60FPS</td></tr><tr><td>**Video Decoder**</td><td>H265/H264/VP9/AV1/AVS2 up to 8K@60fps</td></tr><tr><td>**Power**</td><td>5V/3A via USB Type-C</td></tr><tr><td>**Operating Temp**</td><td>-20°C to 70°C</td></tr><tr><td>**Storage Temp**</td><td>-40°C to 85°C</td></tr><tr><td>**Weight**</td><td>17g</td></tr><tr><td>**Form Factor**</td><td>69.6mm x 45mm  
260-pin SO-DIMM connector</td></tr></tbody></table>

##### Setup

[https://joshua-riek.github.io/ubuntu-rockchip-download/boards/turing-rk1.html](https://joshua-riek.github.io/ubuntu-rockchip-download/boards/turing-rk1.html)

> sandy (192.168.1.14)
> pleb / transatlantique

```bash
sudo useradd pleb
sudo groupadd sudo
sudo usermod -aG sudo pleb
```

```bash
sudo hostnamectl set-hostname [hostname]
sudo dpkg-reconfigure tzdata

(. /etc/lsb-release &&
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh |
sudo env os=ubuntu dist="${DISTRIB_CODENAME}" bash)

sudo apt update sudo apt install -y git-all git-lfs curl wget screenfetch net-tools open-iscsi python3 python3-pip build-essential libssl-dev libffi-dev python3-dev wireguard
```

**PS :** [Ubuntu Pro](https://ubuntu.com/pro/tutorial)

---
#### Webcam (bernie)

```
echo 'deb http://download.opensuse.org/repositories/hardware:/razer/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/hardware:razer.list
curl -fsSL https://download.opensuse.org/repositories/hardware:razer/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/hardware_razer.gpg > /dev/null
sudo apt update
sudo apt install usbutils openrazer-meta vlc

lsusb | grep '1532:'
```

```
Bus 001 Device 004: ID 1532:0e06 Razer USA, Ltd Razer Kiyo X
```

```
cvlc v4l2:///dev/video3
```

```
sudo vim /usr/share/camera-streamer/examples/camera-streamer-generic-usb-cam.service
```
```
[Unit]
Description=camera-streamer web camera for USB camera on Generic platform
After=network.target
ConditionPathExistsGlob=/dev/v4l/by-id/usb-*-video-index0

[Service]
ExecStart=/usr/bin/camera-streamer \
  -camera-path=/dev/video3 \
  -camera-format=JPEG \
  -camera-width=1920 -camera-height=1080 \
  -camera-fps=30 \
  ; use two memory buffers to optimise usage
  -camera-nbufs=3 \
  --http-listen=0.0.0.0 \
  --http-port=8080 \
  ; disable video streaming (WebRTC, RTSP, H264)
  ; on non-supported platforms
  -camera-video.disabled

DynamicUser=yes
SupplementaryGroups=video i2c
Restart=always
RestartSec=10
Nice=10
IOSchedulingClass=idle
IOSchedulingPriority=7
CPUWeight=20
AllowedCPUs=1-2
MemoryMax=250M

[Install]
WantedBy=multi-user.target
```
```
sudo systemctl enable /usr/share/camera-streamer/examples/camera-streamer-generic-usb-cam.service
sudo systemctl start camera-streamer-generic-usb-cam.service
```
```

```
---

#### Odroid HC4

[![hc4-board.webp](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/scaled-1680-/4kugAUKiY1KhcIBa-hc4-board.webp)](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/4kugAUKiY1KhcIBa-hc4-board.webp)

##### Specifications

<div class="level2" id="bkmrk-form-factor-board-di"><div class="table-responsive"><table class="inline table table-striped table-bordered table-hover table-condensed"><tbody><tr class="row0"><th class="col0 leftalign">Form Factor</th><td class="col1 leftalign">Board Dimensions: 84mm x 90.5mm x 25.0mm  
Heatsink Dimensions: 40mm x 32mm x 10mm  
Weight: 280g including heatsink, fan and case</td></tr><tr class="row1"><th class="col0 leftalign">Processor</th><td class="col1 leftalign">Amlogic S905X3 Processor  
L1 instruction cache: 32 KB, 4-way set associative (128 sets), 64 byte lines, shared by 1 processor  
L1 data cache: 32 KB, 4-way set associative (128 sets), 64 byte lines, shared by 1 processor  
L3 data cache: 512KB , 16-way set associative (512 sets), 64 byte lines, shared by 4 processors  
  
Quad-Core Cortex-A55 (1.800GHz)  
ARMv8-A architecture with Neon and Crypto extensions  
Mali-G31 MP2 GPU with 4 x Execution Engines (650Mhz)</td></tr><tr class="row2"><th class="col0 leftalign">Memory</th><td class="col1 leftalign">DDR4 4GiB with 32-bit bus width  
Data rate: 2640 MT/s (PC4-21333 grade)  
1.2Volt low power design</td></tr><tr class="row3"><th class="col0 leftalign">Storage</th><td class="col1 leftalign">1x Micro SD slot (DS/HS mode up to UHS-I SDR104)</td></tr><tr class="row4"><th class="col0 leftalign">Networking</th><td class="col1 leftalign">1 x GbE <abbr data-original-title="Local Area Network" title="">LAN</abbr> ports (RJ45, supports 10/100/1000 Mbps)  
- Realtek RTL8211F (Ethernet transceiver)  
- LED indicators  
\* Green LED: Flashing by data traffics at 100Mbps connection  
\* Amber LED: Flashing by data traffics at 1000Mbps connection</td></tr><tr class="row5"><th class="col0 leftalign">Video</th><td class="col1 leftalign">1 x HDMI 2.0 (up to 4K@60Hz with HDR, CEC, EDID)  
Although the +5V Power pin is able to supply a mininum of 300mA, a sink shall not draw more than 50mA of current from the +5V Power pin.</td></tr><tr class="row6"><th class="col0 leftalign">Audio</th><td class="col1 leftalign">1 x HDMI digital output</td></tr><tr class="row7"><th class="col0 leftalign">Cooler</th><td class="col1 leftalign">1 x Passive heatsink ( 40x32x10 mm ) on the CPU of PCB board  
1 x Hydraulic Bearing FAN  
- Rated Voltage : 5V  
- Rated Current : 100mA  
- Max Speed RPM : 4,000  
- Air Flow CFM : 4.3  
- Air Pressure (In H2O) : 0.053  
- Noise Level(dBA) : 23.9  
- Dimension : 40 x 40 x 10.6 mm  
- Wire &amp; Connector : 80mm, 4 pin 1.25mm pitch</td></tr><tr class="row8"><th class="col0 leftalign">External I/O</th><td class="col1 leftalign">1 x USB 2.0 host port  
1 x Debug serial console (UART)  
2 x SATA Connectors</td></tr><tr class="row9"><th class="col0 leftalign">Other features</th><td class="col1 leftalign">IR receiver for remote controller  
System LED Indicators:  
- Red (POWER) – Solid light when DC power is connected  
- Blue (ALIVE) – Flashing like heartbeat while Kernel is running. Solid On in the u-boot stage. Turns off if there is no bootable media.  
- Red (HDD/SSD active) - Flashing while SATA HDD/SSD are reading or writing.</td></tr><tr class="row10"><th class="col0 leftalign">Power</th><td class="col1 leftalign">1 x DC jack : outer (negative) diameter 5.5mm, inner (positive) diameter 2.1mm  
DC input : 14.5V ~ 15.5V  
\- DC 15V/4A power adapter is recommended  
Power consumption with two ST2000DM006 HDDs :  
\- IDLE(with HDD in spin-down) : ≃ 5.88W  
\- Active(using SAMBA): ≃ 15.59W  
\- Suspend: ≃ 0.29W

</td></tr></tbody></table>

</div></div>##### Setup

> sheldon (192.168.1.16)
> pleb/transatlantique

```
Choose  "Exit to shell"
(switch to console then)
# netboot_default
# exit
(back to petiboot menu)
```

&gt; Choose OS from the net install-able" image list...

---

### Disk(s)

```bash
sudo fdisk -l

**With disk <xxx>**
sudo fdisk /dev/<xxx>
(create new primary partition)

sudo mkfs -t ext4 /dev/<xxxp1>
sudo blkid -s UUID -o value /dev/<xxxp1>
```

- bob (nvme0n1)

```
UUID=2423d885-a583-44d2-bd45-80d847c625b0 (/dev/nvme0n1p1)
```

- carlo (nvme0n1)


```
UUID=0c85672d-0fbd-4d11-a93e-c01d1373c4c3 (/dev/nvme0n1p1)
```

- sandy (sda / nvme0n1) ...

```
UUID=6fab06af-f38f-493a-87ab-512f52a6616c (/dev/nvme0n1p1)
# Mounted on /mnt/hdd
UUID=22446d47-8d74-451e-8774-e1c8e2617b7e (/dev/sda1)
```

- gary (nvme0n1) ...

```
UUID=7f348b05-b44e-4b85-8445-657dc95e72df (/dev/nvme0n1p1)
# /dev/mapper/hdds-datas
# Mounted on /srv/backups
UUID=dBU13n-wvJ6-W4S8-jzSG-4Fdi-WY8z-sZOZzI (/dev/sda)
UUID=2Hvf19-3PgY-liJa-AgcN-kST9-BlF2-kXY3kG (/dev/sdb)
```

- sheldon (sda / sab / nvme0n1) ...

```
UUID=... (/dev/nvme0n1p1)
# /dev/mapper/hdds-datas
# Mounted on /srv/backups
UUID=dBU13n-wvJ6-W4S8-jzSG-4Fdi-WY8z-sZOZzI (/dev/sda)
UUID=2Hvf19-3PgY-liJa-AgcN-kST9-BlF2-kXY3kG (/dev/sdb)
```

- pearl (nvme0n1) ...

```bash
UUID=... ()
```

- bernie (nvme0n1) ...

```
UUID=e8d74f7a-642a-486d-92db-d39388d1545f (/dev/nvme0n1)
```

```bash
sudo mkdir -p /mnt/<folder>
echo "UUID=... /mnt/<folder>      ext4    defaults    0       0" | sudo tee -a /etc/fstab
# cat /etc/fstab
sudo mount -a
sudo systemctl daemon-reload
# df -h /mnt/<folder>
```

```bash
sudo vim /etc/hosts
```

```conf
127.0.0.1       localhost
127.0.1.1       <host>.local <host>

# The following lines are desirable for IPv6 capable hosts
::1             ip6-localhost ip6-loopback
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
ff02::3         ip6-allhosts

#
192.168.1.11    bob
192.168.1.12    carlo
192.168.1.13    gary
192.168.1.14    sandy
192.168.1.15    krabs
192.168.1.16    sheldon
192.168.1.17    bernie
# 192.168.1.18    pearl

#
192.168.1.53    retropie
```

#### On remote (PC) :

```bash
ssh-keygen -t ed25519
​
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@192.168.1.xxx
​
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@<hostname>
```

---

### Shopping

- [https://pine64.com/product-category/soquartz/](https://pine64.com/product-category/soquartz/ "https://pine64.com/product-category/soquartz/")
- [https://www.mixtile.com/store/som/core-3588e/](https://www.mixtile.com/store/som/core-3588e/ "https://www.mixtile.com/store/som/core-3588e/")

<div class="table-wrapper" id="bkmrk-board-kit-price-nas-"><table><tbody><tr><th colspan="1" rowspan="1">Board</th><th colspan="1" rowspan="1">Kit</th><th colspan="1" rowspan="1">Price</th></tr><tr><td colspan="1" rowspan="1">[Nas Kit](https://www.aliexpress.com/item/1005006289863559.html?spm=a2g0o.detail.1000014.64.75c1k4cWk4cWVb&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.40050.354490.0&scm_id=1007.40050.354490.0&scm-url=1007.40050.354490.0&pvid=507efbc8-f066-4a67-82f6-f969e179eb4c&_t=gps-id:pcDetailBottomMoreOtherSeller,scm-url:1007.40050.354490.0,pvid:507efbc8-f066-4a67-82f6-f969e179eb4c,tpp_buckets:668%232846%238115%232000&pdp_npi=4%40dis%21EUR%2150.19%2150.19%21%21%21385.18%21385.18%21%402103854017054197215078495e97e0%2112000036629162782%21rec%21FR%21%21AB&utparam-url=scene%3ApcDetailBottomMoreOtherSeller%7Cquery_from%3A)</td><td colspan="1" rowspan="1">with CM 3588 16/64  
&gt; [Starter guide](https://linustechtips.com/topic/1564904-the-ultimate-starter-guide-to-friendlyelec-cm3588-rk3588/)</td><td colspan="1" rowspan="1">€226,77</td></tr><tr><td colspan="1" rowspan="1">[Radxa Taco](https://fr.aliexpress.com/item/1005005415666355.html?spm=a2g0o.detail.0.0.31860kNE0kNEZ4&gps-id=pcDetailTopMoreOtherSeller&scm=1007.40000.327270.0&scm_id=1007.40000.327270.0&scm-url=1007.40000.327270.0&pvid=d6f4c391-afa2-4c6f-9bd5-0b0c8441bd99&_t=gps-id:pcDetailTopMoreOtherSeller,scm-url:1007.40000.327270.0,pvid:d6f4c391-afa2-4c6f-9bd5-0b0c8441bd99,tpp_buckets:668%232846%238113%231998&pdp_npi=4%40dis%21EUR%21138.31%21138.31%21%21%211059.06%211059.06%21%402103868d17054832256327135e5684%2112000032971984993%21rec%21FR%21%21AB&utparam-url=scene%3ApcDetailTopMoreOtherSeller%7Cquery_from%3A)</td><td colspan="1" rowspan="1">board only</td><td colspan="1" rowspan="1">€138,31</td></tr><tr><td colspan="1" rowspan="1">[Radxa NX5](https://arace.tech/products/radxa-nx5?variant=42478160576692)</td><td colspan="1" rowspan="1">Compute Module (RK3588S) 4/32</td><td colspan="1" rowspan="1">€74,95</td></tr><tr><td colspan="1" rowspan="1">&gt; [Infos](https://radxa.com/products/compute-module/nx5/)</td><td colspan="1" rowspan="1">Compute Module (RK3588S) 8/64</td><td colspan="1" rowspan="1">€102,95</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">Compute Module (RK3588S) 16/128</td><td colspan="1" rowspan="1">€149,95</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">Compute Module (RK3588S) 32/256</td><td colspan="1" rowspan="1">€233,95</td></tr><tr><td colspan="1" rowspan="1">[Turing RK1](https://turingpi.com/product/turing-rk1)</td><td colspan="1" rowspan="1">CM (RK3588) 8Gb ram</td><td colspan="1" rowspan="1">$149.00</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">CM (RK3588) 16Gb ram</td><td colspan="1" rowspan="1">$189.00</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">CM (RK3588) 32Gb ram</td><td colspan="1" rowspan="1">$299.00</td></tr></tbody></table>

</div>#### LattePanda Mu

[https://www.lattepanda.com/lattepanda-mu](https://www.lattepanda.com/lattepanda-mu)

---

### Documentation

[https://docs.turingpi.com](https://docs.turingpi.com)

##### help.turingpi.com

jme69@pm.me  
Ln4@iJMNn85h2Xrx

[https://help.turingpi.com/hc/en-us](https://help.turingpi.com/hc/en-us "https://help.turingpi.com/hc/en-us")

##### Server World

[https://www.server-world.info/en/note?os=Debian\_12&amp;p=download&amp;f=1](https://www.server-world.info/en/note?os=Debian_12&p=download&f=1)
