Building your own Monerobox with Pi 4

Monerobox has been using Rock64 since the beginning of the project back in November 2018 because it has a USB 3 port which can utilize the faster IO read/write of a SSD. Pi 4 was not yet released and Pi 3 does not have any USB 3 port. I have been thinking to support Pi 4 since its release and finally I have time to make this happen.

We will walk through how to setup a Monerobox running on Pi 4B headless, the Pi will boot from the SSD connected to a USB 3 port, both Raspberry OS and Monero blockchain data will be stored on the SSD.

Hardware list

Warning: Make sure the interface and size match when buying SSD and SSD enclosure. If you buy an enclosure that supports SATA M2 2280 then you should buy a SATA M2 2280 SSD. SSD interface are sometimes confusing as there are SATA, NVME and even mSATA…

Software installation

  1. Make your Pi 4B able to boot from USB mass storage device: following the tutorial. You will need a microSD card for this step.
touch /media/jason/boot/ssh

Second, we will enable WiFI by creating a file “wpa_supplicant.conf” in the directory “/media/jason/boot/”. Here is a example of the content of the config file:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<Insert 2 letter ISO 3166-1 country code here>

network={
ssid="<Name of your wireless LAN>"
psk="<Password for your wireless LAN>"
}

Explanation of the config file can be found at https://www.raspberrypi.org/documentation/configuration/wireless/headless.md

4. Booting Pi 4B: Unmount the SSD from your laptop and connect to your Pi 4B and start it. Wait for about 5 minutes for Pi initialization. The Pi will boot from SSD and SSH will be enabled by default and it will connect to the WIFI specified in the “wpa_supplicant.conf” file.

5. Connect to Pi 4B: If you are using Ubuntu you can connect to the Pi with command:

ssh pi@raspberry.local

If this does not work, you have to login to your router and find out the IP address of the Pi(default hostname of Pi is raspberry). The default username is “pi” and password is “raspberry”.

6. Install Monerobox software: You can clone the monerobox repository and run the installation script:

git clone https://github.com/monero-ecosystem/monerobox.git
cd monerobox && git checkout pi4
sudo ./base_image.sh

The Pi will reboot after installation complete.

7. Start Monerbox: SSH to your Pi after reboot and then you can start the Monerobox with the following command:

cd monerobox && ./start_manager.sh

It will initialize the Docker setting for Monerobox and download and running Monerobox docker images.

8. Status check: Wait for about 5 minutes, you should be able to access Monerobox on Pi 4 using the web browser on your laptop by URL: http://http://monerobox.local or using the IP address that you find in step 5.

Monerobox starts syncing

Assembling the box

If you are using a SSD enclosure, all you need to do is install the SSD in to the enclosure according to you instruction provided by the enclosure and then you can connect it to Pi or your laptop.

Pi 4B and SSD enclosure with a SSD
Pi 4B connected with SSD enclosure

If you use an expansion board Geekworm X862, install the Pi and the board according to the instruction provided by X862.

Pi 4B with a expansion board X862

I also designed a 3D-printing box to house the Pi and expansion board.

Pi 4B with a expansion board X862 in a 3D-printed box
Pi 4B with a expansion board X862 in a 3D-printed box

software engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store