Skip to content

Hardware

shermand100 edited this page Mar 3, 2024 · 16 revisions

PiNode-XMR logo

Hardware

The creation of the PiNode-XMR self install script has now allowed the project to break free of the limitations of the Raspberry Pi platform.

As of April 2020 PiNode-XMR can be built on top of any ARM based single board computer running Ubuntu Server LTS OS (link to Armbian official download site) or for Raspberry Pi via the official disk imager available from RaspberryPi.com Disk Imager . Where possible, as the project runs 'headless' the minimal/lite/server versions were used.

Confirmed

Device Base disk Image Tested? Status Build time Notes
Raspberry Pi 3b+ Ubuntu Server 22.04 LTS 32bit Approx 8hrs 32bit OS Req for Pi3. This will allow use of BlockExplorer. No P2Pool.
Raspberry Pi 4 Ubuntu Server 22.04 LTS 64bit Approx 4hrs
Raspberry Pi 5 Ubuntu 23.10 (GNU/Linux 6.5.0-1011-raspy aarch64) Approx ~1.5 hours MicroSD as OS and external SSD as blockchain storage. Community tested by @yijiechoo16163
Rock 64 Armbian_20.05.1_Rock64_focal_current_5.4.43 or Armbian_21.08.1_Rock64_focal_current_5.10.60 Approx 4 hrs Requires 4GB RAM. For 2GB model, enable swap file must be selected in install menu. Disk images may be found in 'Archived' section of Download page.
RockPro64 Armbian_22.02_Rockpro64_jammy_5.16 Approx 4 hrs V.Rare cases of sync instability. See https://github.com/shermand100/PiNodeXMR/issues/88
Odroid XU4 Armbian_22.05_Odroid XU4/HCx_jammy_5.4.y Approx 4hrs (30mins light-mode) 32bit device, Recommend light-mode.
Odroid HC1 Armbian_22.05_Odroid XU4/HCx_jammy_5.4.y Approx 4hrs (30mins light-mode) 32bit device, Recommend light-mode. https://github.com/shermand100/PiNodeXMR/issues/17
Odroid HC2 Armbian_22.05_Odroid XU4/HCx_jammy_5.4.y Approx 4hrs (30mins light-mode) 32bit device, Recommend light-mode. https://github.com/shermand100/PiNodeXMR/issues/17
Rock Pi 4 Armbian_22.05_Odroid XU4/HCx_jammy_5.15.y Approx 4hrs

Also Compatible (but so far untested)

Devices with less than 2GB RAM may still be compatible if augmented with a 2GB swap-file. You will be given the opportunity to create this swap file during installation.

The following list of devices will require members of the community to participate in the testing and feedback process. The goal is to move devices from the table below to the confirmed table above.

Device Base disk Image Tested? Status Build time Notes
Orange Pi Plus 2E Armbian_22.02_Rockpro64_jammy_5.16 Approx. 4-6 hours Community tested by @dalecooper for PiNodeXMR v4 - requires re-test for v5
Any device listed here Table of Armbian_22.02_Rockpro64_jammy_5.16 devices PENDING

I'd love to hear from other users of their installation experience. Including devices not listed above or variants of. If you would like to contribute by being a tester please see https://github.com/shermand100/PiNodeXMR/issues/3 and leave your results there as a comment or the usual means via the PiNode-XMR Reddit or telegram


Considerations:

Storage Requirements

As of Q4 2023 Monero Blockchain size is >180GB for a full node and a general rule of thumb is that it is growing 30GB per year. For a pruned node the general rule of thumb is that it is 1/3 the size of the comparable full node.

Therefore right now in Nov 2023 a 256GB SSD may last until end 2025 as a full node before being full, but would continue it's life considerably if you afterwards opted for a pruned node. (By which time large SSDs will be cheaper anyway).

The storage requirement for the PiNodeXMR OS is obviously much lower. The largest/most bloated OS is Ubuntu server on Raspberry Pi at 10GB, but to allow additional space for growing logs, security upgrades and future enhancements to the PiNodeXMR project I'd recommend allowing 16GB for PiNodeXMR OS.

If you intend to use the same storage for PiNodeXMR OS and blockchain storage a ~320GB device should be considered for full node. At an absolute barebones budget level a pruned Monero blockchain and PiNodeXMR system could operate on a 128GB MicroSD, but expect poor read/write performance and less than 24months lifespan of the card.

Compatible USB Adapters when attaching HDD/SSD/NVMe

It's been highlighted by a user that USB mounting and system freezing issues can be caused when a device such as a Raspberry Pi tries to use a data protocol for increased speeds on USB3 that some USB adapters can't support.

This is reported on Raspberry Pi forums but could affect other Linux variations too.

A substantial list of good and bad adapters can be found externally here

If you already own a USB adapter you intend to use and either experience data error symptoms or wish to pre-empt against them there is a simple step to force an older protocol.


Whilst I've got your attention: (Hardware related)

Take a bit of time to plan your build.

You'll see some fairly serious builds out there made by committed tinkerers. These look great and run great but the price tag of the build can put a lot of people off. This in most cases isn't necessary...

In it's simplest and cheapest form this will run on a Raspberry Pi with a 256GB MicroSD card (or 64GB card if running a pruned node), but I should re-iterate the piece on limitations on the main page. If you are creating a lower budget build with older hardware your best experience with this project will be if you can copy an already sync'd blockchain from your main PC/Laptop to give your single board computer a good head-start. It is super simple to do with free software such as WinSCP (free). Just drag and drop over your network.

The next cheapest and best performance upgrade for the money you can do is to ditch MicroSDs at the first opportunity. Where possible if your device can support "USB boot" so everything (Operating system and blockchain) can be all loaded onto USB storage then your system will last longer and run faster. USB2 is faster than MicroSD and USB3 is best. HDD is better than MicroSD, and SSDs and NVMe's are best. It's all down to cost. In most cases you can use your standard SD card imaging software to write as you usually do but to a USB drive instead. Just google for the instructions for your hardware.

Example Hardware Build: -

The below images are of my personal node, of which I believe is constructed from realistic parts (average budget and performance) available to anyone in the world. Total build less than $200.

RockPi 4 (1) RockPi 4 (2) RockPi 4 (1) RockPi 4 (2)

Parts: (All links to https://shop.allnetchina.cn/)

Notes on the build: - The above parts build the standard node WITHOUT the OLED display shown and should be possible by an average DIYer. Below is the remaining info to add a display and requires extra tooling and parts which is rather fiddly and not essential for the function of PiNodeXMR.

The display is very common and can be purchased from any bulk/discount electronics retailer. I got mine from Aliexpress ~$3 as a 0.96 inch OLED 4PIN 7PIN IIC Serial White Display Module 128X64 I2C SSD1306

The display is then bolted to the M.2 extension board with 12mm (trimmed to size) M2 (2mm thread) bolts and nuts used as risers for correct standoff. The display is wired with budget female to female Dupont GPIO wires, trimmed, soldered and heat-shrink re-insulated.

An additional software tweak is then needed to run data to the display via I2C, message me for details if you intend to proceed with this step. I am happy to try and help but I consider this bit to be rather fickle with the drivers it accepts and so my help will be limited to pointing you to the repository I used and custom python script for the data and linking it. Adding the display is advanced for this project.