SunFounder предоставил образец для обзора корпуса Pironman 5 Max Tower PC для одноплатного компьютера Raspberry Pi 5. Ранее уже был обзор Pironman 5 , но новая модель Max включает ряд улучшений: более элегантный дизайн из черного алюминия и полупрозрачных акриловых панелей, плату расширения Dual NVMe PiP для двух M.2 NVMe SSD (с возможностью конфигурации RAID 0/1) или одного NVMe SSD и AI-акселератора, функцию Tap-to-Wake для OLED-дисплея и программируемую RGB-подсветку вентиляторов.
Таким образом, Pironman 5 Max заслуживает отдельного обзора. Будет проведена распаковка, сборка, установка ПО, тестирование новых функций и оценка эффективности охлаждения.
Распаковка Pironman 5 Max
Комплект поставки включал розничную упаковку Pironman 5 Max и Raspberry Pi AI Kit , так как SunFounder хотел протестировать корпус с M.2 Hailo-8L акселератором в дополнение к NVMe SSD.
На боковой стороне упаковки указаны основные характеристики, которые не приводятся здесь, так как уже были описаны в анонсе.
В комплект входят: руководство по сборке, акриловые панели, кнопка питания, башенный кулер, металлический корпус из двух частей, два вентилятора, OLED-дисплей 0.96″, плата адаптера USB-HDMI, порт расширителя ввода-вывода, плата Dual NVMe PiP, удлинитель microSD, а также провода, кабели, винты, стойки, термопрокладки и инструменты для сборки.
Все пакеты с винтами и стойками промаркированы наклейками, что упрощает сборку. Все платы идентичны комплекту оригинального Pironman 5, за исключением Dual NVMe PiP, которая теперь поддерживает два модуля M.2 и оснащена PCIe-коммутатором ASMedia ASM1182e Gen2 , что, к сожалению, исключает поддержку скорости PCIe Gen3 x1. Однако для случайных операций ввода-вывода это не критично.
Руководство по сборке содержит перечень деталей и 27 шагов для сборки корпуса Pironman 5 Max с Raspberry Pi 5 и аксессуарами.
Более подробная документация доступна онлайн и включает не только руководство по сборке, но и инструкции по установке и настройке ПО.
Сборка Pironman 5 Max с Raspberry Pi 5, NVMe SSD, AI-акселератором Hailo-8L и камерой
Перед сборкой потребовалось подготовить дополнительные компоненты, не входящие в комплект: Raspberry Pi 5 8GB, 256GB MAKERDISK и NVMe SSD для Raspberry Pi , M.2 Hailo-8L AI-акселератор , а также AI-камеру Raspberry Pi . Только Raspberry Pi 5 обязателен, остальные компоненты опциональны, но рекомендуются для полного использования возможностей корпуса.
На первом этапе сборки необходимо ослабить два винта, соединяющие металлические части корпуса, и установить несколько стоек разной высоты.
Далее был снят активный кулер с Raspberry Pi 5, подключены удлинитель microSD и плата адаптера USB-HDMI, установлена батарейка RTC и 4-контактный разъем, а также подключен 2-контактный провод RTC к Raspberry Pi 5 и один из FPC-кабелей PCIe. Важно: необходимо соблюдать правильную ориентацию FPC-кабеля.
Затем все компоненты были закреплены на стойках с помощью дополнительных винтов.
Хотя большинство пользователей пропустят этот шаг, был подключен плоский кабель к разъему CAM/DISP 1 Raspberry Pi 5 для последующего подключения AI-камеры. На этом этапе также устанавливаются три термопрокладки на чип Broadcom BCM2712, беспроводной модуль и цепь питания. Важно не забыть снять защитную пленку с прокладок.
Установка башенного кулера на Raspberry Pi 5 оказалась невозможной путем простого защелкивания. Был подключен 4-проводной кабель вентилятора, а на боковую часть кулера наклеена прозрачная изоляционная прокладка.
Следующим шагом была установка платы преобразователя кнопки питания Pi 5. Важно убедиться, что она правильно вставлена в 4-контактный разъем. FPC-кабель камеры пришлось слегка изогнуть, так как он мешал. Также был подключен FPC-кабель PCIe к адаптеру Dual NVMe PiP.
Далее плата Pironman 5 Dual NVMe PiP была закреплена тремя винтами, и установлены два модуля M.2 с помощью небольших стоек и винтов. В данном случае использовались SSD Raspberry Pi 256GB и модуль Hailo-8L.
Теперь можно перейти ко второй части металлического корпуса для установки RGB-вентиляторов…
Оказалось, что вентиляторы были установлены неправильно — надпись ICECUBE должна быть обращена внутрь корпуса, иначе вентиляторы будут шуметь или работать некорректно. Проблема была решена переустановкой.
Если планируется установка камеры, сейчас самое время пропустить кабели через отверстие в металлическом корпусе. Это нововведение Pironman 5 Max, которого не было в оригинальной модели.
Плата расширителя ввода-вывода устанавливается в 40-контактный GPIO-разъем Raspberry Pi 5, после чего к ней подключается OLED-дисплей и закрепляется на корпусе (предварительно сняв защитную пленку 3M).
Теперь две металлические части корпуса можно соединить и зафиксировать шестью винтами.
Далее работа с акриловыми панелями: снятие защитной пленки с меньшей панели и установка кнопки питания.
Панель закрепляется четырьмя винтами, а кабель кнопки питания подключается к разъему на плате преобразователя (обозначен красным кружком на изображении ниже).
На этом этапе обнаружилось, что вентиляторы не были подключены к плате расширителя, но это можно исправить и сейчас.
После снятия защитной пленки с большей акриловой панели обнаружилось, что маркировка GPIO не совсем чистая. Проблема была решена очисткой влажной губкой, как и в прошлогоднем обзоре Pironman 5.
Финальные шаги: установка акриловой панели и фиксация четырьмя винтами, а также наклеивание четырех резиновых ножек на дно корпуса.
Первоначально резиновые ножки были ошибочно установлены на противоположной стороне, ближе к GPIO-разъему. Это не критично, так как OLED-дисплей можно повернуть, но тогда он окажется в правом нижнем углу…
Сборка завершена и в целом прошла без сложностей. Установка камеры неудобна из-за отсутствия крепления — потребуется самостоятельное решение. Так выглядит задняя панель.
Вид спереди.
На фото без вспышки видно, что черные акриловые панели обладают высокой отражающей способностью.
Поддержка ОС и настройка Raspberry Pi OS
Согласно документации ПО , корпус Pironman 5 Max полностью совместим с Raspberry Pi OS Desktop/Lite, Ubuntu 24.04 Desktop/Server, Home Assistant OS 12.3, Homebridge и Batocera Linux, но вентилятор GPIO не работает в Kali Linux. Поддержка других дистрибутивов Linux может отличаться.
Установка Raspberry Pi OS не потребовалась, так как использовался официальный SSD NVMe от Raspberry Pi с предустановленной ОС. Достаточно было подключить систему к HDMI-монитору, беспроводным мышке и клавиатуре, а также к блоку питания 5V/5A, после чего Raspberry Pi OS загружалась в штатном режиме. Однако такие функции, как RGB-светодиод на плате IO Extender, PWM-вентиляторы и OLED-дисплей с информацией, не работали. Это ожидаемо, поскольку для их корректной работы требуется дополнительная настройка и установка скриптов.
Первым делом была выполнена актуализация Raspberry Pi OS до последней версии с помощью стандартных команд:
1
2
|
sudo apt update
sudo apt dist–upgrade
|
Чтобы OLED-экран и RGB-вентиляторы не оставались активными после выключения, необходимо убедиться, что параметр POWER_OFF_ON-HALT установлен в значение 1. Проверим текущую конфигурацию.
1
2
3
4
5
|
pi@raspberrypi:~ $ rpi–eeprom–config
[all]
BOOT_UART=1
POWER_OFF_ON_HALT=0
BOOT_ORDER=0xf461
|
Изменить параметр можно командой:
1
|
sudo rpi–eeprom–config –e
|
и изменил соответствующую строку на:
1
2
3
4
|
[all]
BOOT_UART=1
POWER_OFF_ON_HALT=1
BOOT_ORDER=0xf461
|
Выйдите, сохраните изменения и перезагрузите систему. По неизвестной причине пришлось повторить эту операцию дважды, так как при первой попытке изменения не сохранились.
После этого удалось установить модуль pironman5 и необходимые зависимости, следуя инструкциям из документации:
1
2
3
4
5
|
sudo apt install python3 python3–pip python3–setuptools
cd ~
git clone https://github.com/sunfounder/pironman5.git -b 1.2.7
cd ~/pironman5
sudo python3 install.py
|
После перезагрузки системы стало видно, что RGB-светодиоды включились, но вентиляторы с RGB-подсветкой работали постоянно, несмотря на температуру процессора около 42-43°C. Кроме того, OLED-дисплей не выводил никакой информации, даже после легкого постукивания по корпусу мини-ПК, хотя в Pironman 5 Max реализована функция Tap-to-Wake.
Потребовалось некоторое время, чтобы найти решения для обеих проблем. В итоге был открыт веб-интерфейс по адресу http:<IP_address>:34001, где в верхнем правом углу был выбран значок настроек. Там обнаружилось, что параметр GPIO Fan Mode был установлен в значение Always On.
После изменения GPIO Fan Mode на Performance оба RGB-вентилятора остановились, так как температура процессора была достаточно низкой.
Проблема с OLED была решена после посещения GitHub репозитория , где была обнаружена новая версия 1.2.15. Модуль Pironman5 был переустановлен по тем же инструкциям, но с изменением используемой ветки:
1
|
git clone https://github.com/sunfounder/pironman5.git -b 1.2.15
|
Рекомендуется проверять релизы на GitHub и выбирать последнюю доступную версию.
Как упоминалось в разделе сборки, RGB-вентиляторы изначально работали довольно шумно, но это было связано с их неправильной установкой. После изменения ориентации, чтобы надпись ICECUBE была обращена внутрь, проблема была устранена.
Веб-интерфейс и CLI
Pironman5 можно настроить через веб-интерфейс, доступный на порту 34001, или с помощью утилиты командной строки pironman5. Рассмотрим оба варианта подробнее.
Веб-панель отображает температуру CPU и GPU, скорость вращения вентилятора CPU, состояние GPIO-вентилятора, а также информацию о накопителях, памяти, сетевых интерфейсах и загрузке CPU.
Нажатие на значок в верхнем левом углу открывает меню с разделами Dashboard (как показано выше), History и Log. В разделе History представлены графики выбранных пользователем параметров, таких как температура, загрузка CPU, частота CPU, использование памяти/накопителей и другие.
В разделе Log отображается системный журнал, который можно фильтровать от уровня Debug до Critical в зависимости от требуемой детализации.
Значок в правом верхнем углу открывает настройки, где пользователь может конфигурировать различные параметры. Среди них: включение темного режима, отображение не смонтированных дисков и всех ядер CPU, переключение между градусами Цельсия и Фаренгейта, активация OLED-экрана и настройка связанных параметров, таких как накопители, сетевые интерфейсы, поворот экрана (0/180°) и таймаут сна в секундах (от 1 до 600).
Это означает, что OLED-экран нельзя оставить постоянно включенным, если требуется такая возможность. RGB-светодиоды на плате IO Extender можно активировать, задать им определенный цвет, настроить яркость от 0 до 100%, а также выбрать стиль и скорость эффектов.
Доступно восемь стилей: None, Solid, Breathing (по умолчанию), Flow, Flow Reverse, Rainbow, Rainbow Reverse и Hue Cycle. RGB-светодиоды на вентиляторах можно настроить на отключение, постоянное свечение или активацию только при работе вентиляторов. Поведение самих вентиляторов можно привязать к различным температурам с помощью режима GPIO-вентилятора: Quiet (70°C), Balanced (67.5°C), Cool (60°C), Performance (50°C) или Always On.
Наконец, в настройках также можно очистить все исторические данные.
Альтернативный способ управления корпусом — через утилиту командной строки pironman5:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
pi@raspberrypi:~ $ pironman5
usage: pironman5–service [–h] [–v] [–c]
[–dl {debug,info,warning,error,critical}]
[—background [BACKGROUND]] [–rd] [–cp [CONFIG_PATH]]
[–rc [RGB_COLOR]] [–rb [RGB_BRIGHTNESS]]
[–rs [{solid,breathing,flow,flow_reverse,rainbow,rainbow_reverse,hue_cycle}]]
[–rp [RGB_SPEED]] [–re [RGB_ENABLE]]
[–rl [RGB_LED_COUNT]] [–u [{C,F}]]
[–gm [GPIO_FAN_MODE]] [–gp [GPIO_FAN_PIN]]
[–fl [GPIO_FAN_LED]] [–fp [GPIO_FAN_LED_PIN]]
[–oe [OLED_ENABLE]] [–od [OLED_DISK]]
[–oi [OLED_NETWORK_INTERFACE]] [–or [{0,180}]]
[–vp [VIBRATION_SWITCH_PIN]]
[–vu [VIBRATION_SWITCH_PULL_UP]]
[–os [OLED_SLEEP_TIMEOUT]]
[{start,restart,stop}]
Pironman 5 Max command line interface
positional arguments:
{start,restart,stop} Command
options:
–h, —help show this help message and exit
–v, —version Show version
–c, —config Show config
–dl {debug,info,warning,error,critical}, —debug–level {debug,info,warning,error,critical}
Debug level
—background [BACKGROUND]
Run in background
–rd, —remove–dashboard
Remove dashboard
–cp [CONFIG_PATH], —config–path [CONFIG_PATH]
Config path
–rc [RGB_COLOR], —rgb–color [RGB_COLOR]
RGB color in hex format without # (e.g. 00aabb)
–rb [RGB_BRIGHTNESS], —rgb–brightness [RGB_BRIGHTNESS]
RGB brightness 0–100
–rs [{solid,breathing,flow,flow_reverse,rainbow,rainbow_reverse,hue_cycle}], —rgb–style [{solid,breathing,flow,flow_reverse,rainbow,rainbow_reverse,hue_cycle}]
RGB style
–rp [RGB_SPEED], —rgb–speed [RGB_SPEED]
RGB speed 0–100
–re [RGB_ENABLE], —rgb–enable [RGB_ENABLE]
RGB enable True/False
–rl [RGB_LED_COUNT], —rgb–led–count [RGB_LED_COUNT]
RGB LED count int
–u [{C,F}], —temperature–unit [{C,F}]
Temperature unit
–gm [GPIO_FAN_MODE], —gpio–fan–mode [GPIO_FAN_MODE]
GPIO fan mode, 0: Always On, 1: Performance, 2: Cool,
3: Balanced, 4: Quiet
–gp [GPIO_FAN_PIN], —gpio–fan–pin [GPIO_FAN_PIN]
GPIO fan pin
–fl [GPIO_FAN_LED], —gpio–fan–led [GPIO_FAN_LED]
GPIO fan LED state on/off/follow
–fp [GPIO_FAN_LED_PIN], —gpio–fan–led–pin [GPIO_FAN_LED_PIN]
GPIO fan LED pin
–oe [OLED_ENABLE], —oled–enable [OLED_ENABLE]
OLED enable True/true/on/On/1 or False/false/off/Off/0
–od [OLED_DISK], —oled–disk [OLED_DISK]
Set to display which disk on OLED. ‘total’ or the name
of the disk, like mmbclk or nvme
–oi [OLED_NETWORK_INTERFACE], —oled–network–interface [OLED_NETWORK_INTERFACE]
Set to display which ip of network interface on OLED,
‘all’ or the interface name, like eth0 or wlan0
–or [{0,180}], —oled–rotation [{0,180}]
Set to rotate OLED display, 0, 180
–vp [VIBRATION_SWITCH_PIN], —vibration–switch–pin [VIBRATION_SWITCH_PIN]
Vibration switch pin
–vu [VIBRATION_SWITCH_PULL_UP], —vibration–switch–pull–up [VIBRATION_SWITCH_PULL_UP]
Vibration switch pull up True/False
–os [OLED_SLEEP_TIMEOUT], —oled–sleep–timeout [OLED_SLEEP_TIMEOUT]
OLED sleep timeout in seconds
|
Она позволяет управлять всеми параметрами из веб-панели и даже немного больше, так как пользователь может отключить панель управления и настроить некоторые параметры вибрационного переключателя.
Есть две основные причины для отключения веб-панели. Во-первых, она не защищена паролем, поэтому любой пользователь в локальной сети может легко изменить настройки. Во-вторых, это приведет к удалению InfluxDB, которая постоянно работает в фоне и использует ресурсы CPU (от 2 до 13% по наблюдениям). Ее удаление может немного повысить производительность. Скрипт pironman5 также потребляет ресурсы CPU в фоне, но его, вероятно, стоит оставить…
Текущую конфигурацию можно просмотреть следующим образом:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
pi@raspberrypi:~ $ pironman5 –c
{
“system”: {
“data_interval”: 1,
“rgb_color”: “#0a1aff”,
“rgb_brightness”: 100,
“rgb_style”: “rainbow”,
“rgb_speed”: 100,
“rgb_enable”: true,
“rgb_led_count”: 4,
“temperature_unit”: “C”,
“oled_enable”: true,
“oled_rotation”: 0,
“oled_disk”: “total”,
“oled_network_interface”: “all”,
“gpio_fan_pin”: 6,
“gpio_fan_mode”: 1,
“gpio_fan_led”: “follow”,
“gpio_fan_led_pin”: 5,
“oled_sleep_timeout”: 600,
“vibration_switch_pin”: 26,
“vibration_switch_pull_up”: false
}
}
|
Была предпринята попытка включить OLED-экран на постоянной основе, установив таймаут сна в 0 и перезапустив pironman5:
1
2
3
|
pi@raspberrypi:~ $ sudo pironman5 –os 0
Set OLED sleep timeout: 0
pi@raspberrypi:~ $ sudo pironman5 restart —background
|
Похоже, это сработало.
Тестирование функций Pironman 5 Max
Продолжим обзор тестированием ключевых функций, реализованных в корпусе Pironman 5 Max для настольного ПК.
OLED
По умолчанию OLED-дисплей включается при загрузке и автоматически отключается после таймаута бездействия, установленного на 10 секунд. Для повторного включения экрана необходимо нажать на корпус. На дисплее отображается загрузка CPU, RAM и диска, температура процессора и IP-адрес Raspberry Pi. По сравнению с предыдущей моделью изменений нет.
В веб-интерфейсе можно включить или отключить OLED, а также установить таймаут сна от 1 до 600 секунд. Команда pironman5 предоставляет больше возможностей, включая постоянную работу дисплея. Дополнительные настройки позволяют выбрать сетевой интерфейс, диск и ориентацию экрана (0° или 180°).
RGB-светодиоды на плате IO Expander
Четыре RGB-светодиода WS2812 работают в режиме плавного свечения (breathing mode) синим цветом. Видеозапись демонстрирует этот режим при 100% яркости.
Стиль и скорость свечения настраиваются через веб-интерфейс или командную строку.
RGB-вентиляторы
По умолчанию вентиляторы работают постоянно, но их можно настроить на включение при достижении CPU определенной температуры: Quiet (70°C), Balanced (67.5°C), Cool (60°C), Performance (50°C). Для большинства пользователей оптимален режим Quiet.
RGB-подсветка вентиляторов включена по умолчанию, но ее можно отключить, оставить выключенной постоянно или активировать только при вращении вентиляторов. В отличие от светодиодов на плате IO Expander, здесь нет спецэффектов. Видео ниже показывает Pironman 5 Max с активной подсветкой.
ИК-приемник
Для тестирования ИК-приемника можно использовать LIRC:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
pi@raspberrypi:~ $ sudo apt install lirc
pi@raspberrypi:~ $ sudo mode2 —driver default –d /dev/lirc0
Using driver default on device /dev/lirc0
Trying device: /dev/lirc0
Using device: /dev/lirc0
Running as regular user pi
pulse 186
space 15374
pulse 210
timeout 129788
pulse 86
space 93606
pulse 701
space 2319
pulse 281
space 1914
pulse 89
space 11880
pulse 128
timeout 131312
pulse 82
space 117866
pulse 839
space 1695
pulse 165
space 334
pulse 220
space 10875
pulse 90
timeout 131318
|
Кнопка питания
Кнопка питания служит для включения мини-ПК и безопасного выключения. При однократном нажатии в Raspberry Pi OS появляется меню с вариантами: Shutdown, Reboot, Lock Screen и Logout. Для подтверждения выбора не требуется мышь — достаточно повторного нажатия.
RTC и батарейка
Текущее время RTC можно проверить командой:
1
2
|
pi@raspberrypi:~ $ sudo hwclock –r
2025–06–29 13:43:16.519633+07:00
|
Для проверки работы RTC следует отключить Ethernet и Wi-Fi перед перезагрузкой. При исправном RTC время и дата останутся корректными даже без сетевого подключения.
29 июня 2025 года (текущая дата) и время отображаются верно.
Слоты M.2 для NVMe SSD и ускоритель Hailo-8L
Протестируем работу Dual NVMe PIP с одним SSD NVMe и ускорителем Hailo-8L, затем с двумя SSD.
Сначала запустим iozone3 на SSD Raspberry Pi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
pi@raspberrypi:~ $ iozone –e –I –a –s 100M –r 4k –r 16k –r 512k –r 1024k –r 16384k –i 0 –i 1 –i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 124888 146841 163611 164306 57355 141186
102400 16 249136 267441 302985 304097 157448 284724
102400 512 413343 412693 424725 425967 398901 404067
102400 1024 415127 416200 429995 427345 416615 415719
102400 16384 420343 418412 439137 440130 438884 420377
iozone test complete.
|
Результаты сопоставимы с тестами того же SSD на Raspberry Pi M.2 HAT+ в режиме PCIe Gen2 x1. Скорости записи/перезаписи даже немного выше (420 MB/s против 390 MB/s), возможно, благодаря оптимизациям. Хотя PCIe интерфейс Raspberry Pi 5 поддерживает Gen3 x1, реальная скорость ограничена PCIe Gen2 коммутатором. Это недостаток по сравнению с оригинальным корпусом Pironman 5.
Теперь проверим модуль Hailo-8L, используя инструкции для Raspberry Pi AI HAT+ . Установим зависимости и проверим обнаружение модуля:
1
2
3
|
sudo apt install hailo–all
sudo reboot
hailortcli fw–control identify
|
Результат:
1
2
3
4
5
6
7
8
9
10
11
|
pi@raspberrypi:~ $ hailortcli fw–control identify
Executing on device: 0001:04:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.20.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo–8
Device Architecture: HAILO8L
Serial Number: HLDDLBB243902465
Part Number: HM21LB1C2LAE
Product Name: HAILO–8L AI ACC M.2 B+M KEY MODULE EXT TMP
|
Ускоритель Hailo-8L обнаружен. Все работает!
Запустим пример из rpicam-apps с камерой Raspberry Pi, подключенной к Pi 5:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
git clone —depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps
cd rpicam–apps/
DISPLAY=:0 rpicam–hello –t 0 —post–process–file /usr/share/rpi–camera–assets/hailo_yolov8_inference.json —lores–width 640 —lores–height 640 —rotation 180
[0:07:03.268178398] [11419] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+59–d83ff0a4
[0:07:03.275422568] [11422] INFO RPI pisp.cpp:720 libpisp version v1.2.1 981977ff21f3 29–04–2025 (14:13:50)
[0:07:03.292492543] [11422] INFO RPI pisp.cpp:1179 Registered camera /base/axi/pcie@1000120000/rp1/i2c@80000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
Made X/EGL preview window
Postprocessing requested lores: 640×640 BGR888
Reading post processing stage “hailo_yolo_inference”
Reading post processing stage “object_detect_draw_cv”
Mode selection for 2304:1296:12:P
SRGGB10_CSI2P,1536×864/0 – Score: 3400
SRGGB10_CSI2P,2304×1296/0 – Score: 1000
SRGGB10_CSI2P,4608×2592/0 – Score: 1900
Stream configuration adjusted
[0:07:03.614197453] [11419] INFO Camera camera.cpp:1205 configuring streams: (0) 2304×1296–YUV420 (1) 640×640–BGR888 (2) 2304×1296–RGGB_PISP_COMP1
[0:07:03.614322254] [11422] INFO RPI pisp.cpp:1483 Sensor: /base/axi/pcie@1000120000/rp1/i2c@80000/imx708@1a – Selected sensor format: 2304×1296–SRGGB10_1X10 – Selected CFE format: 2304×1296–PC1R
|
Отлично. Теперь, оставив демо-программу ИИ активной, проверим производительность NVMe SSD при совместном использовании PCIe с ускорителем:
1
2
3
4
5
6
7
8
|
pi@raspberrypi:~ $ iozone –e –I –a –s 100M –r 4k –r 16k –r 512k –r 1024k –r 16384k –i 0 –i 1 –i 2
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 86976 90728 106096 109130 45648 92314
102400 16 172121 189690 198148 195551 117638 185899
102400 512 293834 286977 318676 320840 309418 290653
102400 1024 292028 297656 324662 329635 322158 296072
102400 16384 300008 301422 337596 338850 338400 300401
|
Как и ожидалось, наблюдаются потери в скорости последовательного и случайного доступа. Последовательное чтение снижается до ~337 MB/s (было 439 MB/s), запись — до 300 MB/s (было 420 MB/s). Результаты остаются приемлемыми, что подтверждает возможность одновременной работы SSD и Hailo-8L.
Время выключить Raspberry Pi 5, чтобы заменить Hailo-8 на SSD MAKERDISK объемом 256 ГБ. Процесс относительно прост: достаточно снять акриловую крышку и заменить один модуль на другой. Самая сложная часть — удаление небольшой стойки и ее установка ближе к вентилятору для M.2 2280 SSD. Вероятно, это проще сделать с тонкими пальцами…
После загрузки системы видны два SSD: nvme0n1 и nvme1n1.
1
2
3
4
5
6
7
8
9
10
11
12
|
pi@raspberrypi:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/firmware
└─nvme0n1p2 259:2 0 238G 0 part /
nvme1n1 259:3 0 238.5G 0 disk
├─nvme1n1p1 259:4 0 256K 0 part
├─nvme1n1p2 259:5 0 64K 0 part
├─nvme1n1p3 259:6 0 1M 0 part
├─nvme1n1p4 259:7 0 2M 0 part
├─nvme1n1p5 259:8 0 256M 0 part
└─nvme1n1p6 259:9 0 238.2G 0 part
|
После монтирования /dev/nvme1n1p6 можно проверить производительность SSD MAKERDISK:
1
2
3
4
5
6
7
8
|
pi@raspberrypi:/media/nvme1n1p6 $ sudo iozone –e –I –a –s 100M –r 4k –r 16k –r 512k –r 1024k –r 16384k –i 0 –i 1 –i 2
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 149379 164679 20232 20180 51778 150577
102400 16 275923 285764 80526 80899 188838 286462
102400 512 408955 407301 414969 417480 416987 396826
102400 1024 406373 419117 425834 427259 426654 412768
102400 16384 419206 420079 432124 433040 433695 406370
|
Результаты схожи с показателями SSD Raspberry Pi, что неудивительно, поскольку узким местом является интерфейс PCIe Gen2 (5 GT/s).
Попробуем запустить iozone3 на обоих дисках одновременно. Однако результат оказался неожиданным. Ожидалось, что оба теста завершатся примерно за одинаковое время. Но тест iozone3 на SSD Raspberry Pi завершился первым, а на MAKERDISK SSD — позже, как будто с ограничением скорости. В видео ниже показаны тесты на SSD Raspberry Pi (слева) и MAKERDISK (справа).
Причина такого поведения неясна, но создается впечатление, что PCIe-коммутатор отдает приоритет первому интерфейсу PCIe. В любом случае, Pironman 5 Max успешно поддерживает два NVMe SSD, но следует учитывать, что один из них может получить приоритет при одновременных запросах данных.
Производительность и охлаждение
Для проверки эффективности охлаждения Pironman 5 Max был запущен sbc-bench.sh в тихом режиме после отключения проверки загрузки CPU в скрипте:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
pi@raspberrypi:~ $ sudo ./sbc–bench.sh –r
Starting to examine hardware/software for review purposes...
sbc–bench v0.9.68
Installing needed tools: distro packages already installed, cpuminer. Done.
Checking cpufreq OPP. Done.
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7–zip benchmark. Done.
Throttling test: heating up the device, 5 more minutes to wait. Done.
Checking cpufreq OPP again. Done (38 minutes elapsed).
Results validation:
* Measured clockspeed not lower than advertised max CPU clockspeed
* No swapping
* Too much background activity (%system): 1% avg, 2% max –> https://tinyurl.com/mr2wy5uv
* Too much other background activity: 2% avg, 4% max –> https://tinyurl.com/mr2wy5uv
* No throttling
* 8 different clusters but capacity–dmips–mhz property not set
Full results uploaded to https://0x0.st/8UAr.txt
# Raspberry Pi 5 Model B Rev 1.0
Tested with sbc–bench v0.9.68 on Sun, 29 Jun 2025 15:59:10 +0700. Full info: [https://0x0.st/8UAr.txt](http://0x0.st/8UAr.txt)
### General information:
Information courtesy of cpufetch:
SoC: Broadcom BCM2712
Technology: 16nm
Microarchitecture: Cortex–A76
Max Frequency: 2.400 GHz
Cores: 4 cores
Features: NEON,SHA1,SHA2,AES,CRC32
The CPU features 8 clusters of same core type:
BCM2712, Kernel: aarch64, Userland: arm64
CPU sysfs topology (clusters, cpufreq members, clockspeeds)
cpufreq min max
CPU cluster policy speed speed core type
0 0 0 1500 2400 Cortex–A76 / r4p1
1 0 0 1500 2400 Cortex–A76 / r4p1
2 0 0 1500 2400 Cortex–A76 / r4p1
3 0 0 1500 2400 Cortex–A76 / r4p1
8059 KB available RAM
### Governors/policies (performance vs. idle consumption):
Original governor settings:
cpufreq–policy0: performance / 2400 MHz (conservative ondemand userspace powersave performance schedutil / 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400)
Tuned governor settings:
cpufreq–policy0: performance / 2400 MHz
Status of performance related policies found below /sys:
/sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave
### Clockspeeds (idle vs. heated up):
Before at 48.5°C:
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2397
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2400
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2399
cpu0–cpu3 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
After at 70.5°C:
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2400
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2400
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu3 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
### Performance baseline
* cpu0 (Cortex–A76): memcpy: 5802.8 MB/s, memchr: 14369.8 MB/s, memset: 8773.6 MB/s
* cpu0 (Cortex–A76): memcpy: 5904.9 MB/s, memchr: 14432.3 MB/s, memset: 8786.4 MB/s
* cpu0 (Cortex–A76): memcpy: 5880.6 MB/s, memchr: 14346.7 MB/s, memset: 8712.7 MB/s
* cpu0 (Cortex–A76): memcpy: 5822.9 MB/s, memchr: 13933.4 MB/s, memset: 8701.6 MB/s
* cpu0 (Cortex–A76): memcpy: 5579.9 MB/s, memchr: 13693.7 MB/s, memset: 8274.2 MB/s
* cpu0 (Cortex–A76): memcpy: 5569.4 MB/s, memchr: 13659.3 MB/s, memset: 8441.4 MB/s
* cpu0 (Cortex–A76): memcpy: 5613.1 MB/s, memchr: 13626.8 MB/s, memset: 8520.4 MB/s
* cpu0 (Cortex–A76): memcpy: 5709.6 MB/s, memchr: 13803.5 MB/s, memset: 8516.8 MB/s
* cpu0 (Cortex–A76) 16M latency: 109.8 106.7 109.2 104.1 106.2 112.3 145.9 191.4
* cpu0 (Cortex–A76) 16M latency: 107.8 108.8 105.1 109.4 104.8 114.0 144.1 187.3
* cpu0 (Cortex–A76) 16M latency: 106.5 107.8 106.9 105.1 110.8 111.4 146.5 194.7
* cpu0 (Cortex–A76) 16M latency: 108.6 107.5 103.7 108.5 107.4 114.4 141.5 183.4
* cpu0 (Cortex–A76) 16M latency: 103.6 103.7 109.1 109.8 104.0 111.7 142.3 185.4
* cpu0 (Cortex–A76) 16M latency: 102.2 107.9 112.2 105.7 103.0 110.5 146.5 184.7
* cpu0 (Cortex–A76) 16M latency: 108.8 105.7 103.1 103.4 111.0 112.6 142.0 192.9
* cpu0 (Cortex–A76) 16M latency: 103.2 108.3 106.2 111.5 106.7 111.6 143.2 178.7
* cpu0 (Cortex–A76) 128M latency: 118.8 117.8 119.7 118.5 118.3 119.2 119.3 124.0
* cpu0 (Cortex–A76) 128M latency: 118.6 117.9 119.6 117.1 119.5 117.5 120.4 124.2
* cpu0 (Cortex–A76) 128M latency: 119.7 117.8 119.9 117.9 118.8 118.4 119.5 123.8
* cpu0 (Cortex–A76) 128M latency: 119.2 118.4 119.5 117.5 119.6 117.6 119.8 124.5
* cpu0 (Cortex–A76) 128M latency: 119.7 124.7 118.3 118.5 119.4 117.5 119.0 124.0
* cpu0 (Cortex–A76) 128M latency: 119.9 117.1 118.3 120.0 118.3 117.1 119.2 124.6
* cpu0 (Cortex–A76) 128M latency: 118.5 117.1 121.6 117.1 118.3 117.2 121.1 124.2
* cpu0 (Cortex–A76) 128M latency: 119.7 118.3 119.8 117.1 120.4 117.3 119.2 124.7
* 7–zip MIPS (3 consecutive runs): 11156, 11153, 11171 (11160 avg), single–threaded: 3264
*
aes-256-cbc 537338.90k 1002041.30k 1253641.73k 1330746.37k 1363561.13k 1365912.23k (Cortex-A76) *
aes-256-cbc 539711.76k 1002669.74k 1254003.37k 1330769.58k 1363036.84k 1365595.48k (Cortex-A76) *
aes-256-cbc 539677.10k 1002709.72k 1254107.99k 1330062.68k 1363435.52k 1365988.69k (Cortex-A76) *
aes-256-cbc 539400.02k 1002469.80k 1254300.76k 1330708.82k 1363268.95k 1366283.61k (Cortex-A76) *
aes-256-cbc 539675.38k 1002485.23k 1254375.08k 1330787.33k 1363132.42k 1365650.09k (Cortex-A76) *
aes-256-cbc 539275.28k 1002480.64k 1254301.35k 1330483.54k 1363271.68k 1366398.29k (Cortex-A76) *
aes-256-cbc 539657.11k 1002297.39k 1254385.24k 1330881.19k 1363268.95k 1366452.91k (Cortex-A76) *
aes-256-cbc 539494.14k 1001723.39k 1254484.05k 1330861.74k 1362755.58k 1366179.84k (Cortex-A76)### PCIe and storage devices:
* Raspberry RP1 PCIe 2.0 South Bridge: Speed 5GT/s, Width x4, driver in use: rp1, ASPM Disabled
* 238.5GB “SAMSUNG MZ9LQ256HBJD-00BVL” SSD as /dev/nvme0: Speed 5GT/s (downgraded), Width x1 (downgraded), 0% worn out, drive temp: 49°C, ASPM Disabled
* 238.5GB “PCIe SSD” SSD as /dev/nvme1: Speed 5GT/s (downgraded), Width x1 (downgraded), 0% worn out, drive temp: 48°C, ASPM Disabled
### Swap configuration:
* /var/swap on /dev/nvme0n1p2: 200.0M (0K used)
### Software versions:
* Debian GNU/Linux 12 (bookworm)
* Build scripts: http://archive.raspberrypi.com/debian/ bookworm main
* Compiler: /usr/bin/gcc (Debian 12.2.0–14+deb12u1) 12.2.0 / aarch64–linux–gnu
* OpenSSL 3.0.16, built on 11 Feb 2025 (Library: OpenSSL 3.0.16 11 Feb 2025)
* ThreadX: 69471177 / 2025/05/08 15:13:17
### Kernel info:
*
/proc/cmdline: reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe cgroup_disable=memory numa_policy=interleave numa=fake=8 system_heap.max_order=0 smsc95xx.macaddr=2C:CF:67:28:FD:27 vc_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x40000000 console=ttyAMA10,115200 console=tty1 root=PARTUUID=c15065e6-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=TH * Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
* Vulnerability Spectre v1: Mitigation; __user pointer sanitization
* Vulnerability Spectre v2: Mitigation; CSV2, BHB
* Kernel 6.12.25+rpt–rpi–2712 / CONFIG_HZ=250
All known settings adjusted for performance. Device now ready for benchmarking.
Once finished stop with [ctrl]–[c] to get info about throttling, frequency cap
and too high background activity all potentially invalidating benchmark scores.
All changes with storage and PCIe devices as well as suspicious dmesg contents
will be reported too.
Time fake/real load %cpu %sys %usr %nice %io %irq Temp VCore PMIC DC(V)
15:59:11: 2400/2400MHz 3.55 27% 1% 25% 0% 0% 0% 62.8°C 0.8905V 3.4W 5.10V
...
Cleaning up. Done.
Checking cpufreq OPP again. Done.
Clockspeeds now at 63.4°C:
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2399
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu–1 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
cpu0–cpu3 (Cortex–A76): OPP: 2400, ThreadX: 2400, Measured: 2398
|
Температура CPU начиналась с ~45°C в режиме простоя и достигала 75°C под нагрузкой (stress-ng). Большая часть теста проводилась без вентилятора.
По производительности система показала в среднем 11 160 MIPS в 7-zip, что сравнимо с 10 930 MIPS на Raspberry Pi 5 с активным охлаждением или 10,520 MIPS с корпусом Pironman 5 , так что здесь проблем нет.
Затем режим GPIO Fan был переключен на «Always On», и температура CPU снизилась примерно до 45°C в течение 10 минут и стабилизировалась на этом уровне. Для проверки максимальной температуры CPU при работе вентиляторов был запущен stress-ng:
1
|
stress–ng —cpu 4 —iomix 4 —vm 4 —vm–bytes 128M
|
Температура CPU быстро возрастает на несколько градусов при запуске стресс-теста, но вскоре стабилизируется на уровне чуть ниже 60°C до конца теста.
Все тесты проводились при температуре окружающей среды около 28°C.
Потребляемая мощность
Можно предположить, что покупатели такого корпуса с RGB-подсветкой не слишком заботятся о потреблении энергии, но измерения с помощью настольного ваттметра были проведены при различных условиях
- Выключено – 0.0 – 0.1 Вт
- Режим простоя
- OLED выключен, все RGB-светодиоды отключены, PWM вентилятор в режиме Quiet – 5.4 – 5.9 Вт
- OLED включен, все RGB-светодиоды выключены, PWM-вентилятор в режиме Quiet – 5.5 – 6.0 Вт
- OLED включен, RGB-светодиоды в режиме дыхания на 100% скорости, PWM-вентилятор в режиме Quiet – 6.0 – 6.5 Вт
- OLED включен, RGB-светодиоды в режиме дыхания на 100% скорости, RGB-светодиоды вентилятора включены, PWM-вентилятор в режиме Quiet – 6.4 – 6.9 Вт
- OLED включен, RGB-светодиоды в режиме дыхания на 100% скорости, RGB-светодиоды вентилятора включены, PWM-вентилятор в режиме Always On – 7.0 – 7.6 Вт
Измерения проводились с USB RF-адаптером для клавиатуры и мыши, подключением по Wi-Fi, HDMI-дисплеем и двумя установленными NVMe SSD.
Заключение
Как и его предшественник, Pironman 5 Max от SunFounder — отличный компактный корпус типа Tower для Raspberry Pi 5, который улучшает прошлогоднюю версию Pironman 5. Он получил более стильный дизайн, плату с поддержкой двух NVMe для подключения до двух M.2 NVMe SSD или одного SSD и одного M.2 AI-ускорителя, а также небольшие улучшения, такие как Tap-to-Wake для OLED, отверстие для кабеля камеры и RGB-вентиляторы.
Корпус выглядит эффектно благодаря OLED-экрану и RGB-подсветке, которыми можно управлять через удобный интерфейс или CLI для продвинутых пользователей. Он сохраняет все возможности Raspberry Pi 5: Gigabit Ethernet, четыре USB-порта, два полноразмерных HDMI-порта, USB-C для питания и доступ к 40-контактному GPIO-разъему.
Конструкция избыточна, но, вероятно, это часть очарования корпуса. Охлаждение работает отлично благодаря большому радиатору и двум RGB-вентиляторам. Последние можно отключать большую часть времени, так как радиатор справляется с задачей. По сравнению с Pironman 5, новая модель Max не поддерживает PCIe Gen3 x1 из-за использования PCI Gen2 коммутатора для двух M.2 PCIe-разъемов. Скрипт Pironman5 и InfluxDB (для логирования) также потребляют больше CPU (около 2–15%), чем ожидалось.
Благодарим SunFounder за предоставленный для обзора Pironman 5 Max и Raspberry Pi AI Kit. Корпус Tower PC для Raspberry Pi 5 можно приобрести от $94.99 , цена зависит от выбранных опций: блок питания, Raspberry Pi 5, один или два SSD, AI Kit и т.д. Компания также представлена на AliExpress и Amazon , но новые продукты могут появиться там через несколько месяцев.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.