This project is intended to easily give Bitcoin node runners a display for their nodes. You can create a brandnew raspberry pi configuration and connect to an existing node via RPC or run the display on top of your current node!
My build consists of a raspberry pi 4 (8gb), 1 TB HHD, and a 5" display from Amazon.
- Graphical display of bitcoin price movement (24 hour).
- Displays 24 hour percentage change with color coordinated title.
- Displays node information such as
- Name of node
- Connected chain
- Block height and sync status
- Low, medium, and high fee status.
- Current difficulty.
- CPU Temperature (pi)
- Testing capabilities included to run mock price data
- You should have a bitcoin node operational on your local network.
- You should know the RPC login information (user/pwd).
- You should be able to connect to the target display via ssh (Termius or VS Code) or terminal with a keyboard connected to the Pi.
Recommended node software:
- Parmanode - https://parmanode.com/install/ (Install it on RaspiPi OS not Linux)
- RaspiBlitz - https://github.com/raspiblitz/raspiblitz
Follow these steps if you're trying to run a new Pi Display. You can copy / paste directly into the terminal.
- Download the Pi imager from here.
- Open the imager.
- Insert your Pi SD card into your computer.
- Select your Pi device, OS, and storage option from the menu.
- Raspberry Pi OS (64-bit) is what I used.
- Click Next. You can opt to customize your settings so the Pi can connect to WiFi as soon as it boots. Make sure you click 'YES' after changing the settings.
- If you set your hostname to satoshi then you won't need to update a filepath later on if that's worth anything.
- Some beneficial settings include enabling SSH and setting country WLAN and timezone. Those can be changed from desktop preferences on the Pi though too.
- ENABLE SSH AND USE PASSWORD AUTHENTICATION!
- Confirm settings and write to the SD card.
- Boot the Pi with the SD card and ensure you have WiFi.
Follow these steps to install and set up the project:
- Navigate to where the repository will live.
cd /home/$USER/Documents # No need to replace $USER with your user profile name.
- Clone the repository:
- I have used /home/$USER/Documents as my repository directory.
git clone https://github.com/DanielG9d9/btc_piDisplay.git # This will clone the repository to the directory you run the command from.
- Navigate to the repository folder you just created:
- If you are not starting from the line above you may need to 'cd' from root
cd /home/$USER/Documents/btc_piDisplay # No need to replace $USER with your user profile name.
cd btc_piDisplay/
- If you are not starting from the line above you may need to 'cd' from root
- Run the install.sh file.
./install.sh # Run the script file to install dependencies.
If you need to manually start the display after a reboot or any reason you can easily do so by double clicking the Run Display.sh icon and "Execute."
You can also start the display remotely from your terminal via ssh!
- Navigate to your repository folder
cd /home/$USER/Documents/btc_piDisplay # Navigate to your saved directory.
- Open the virtual environment.
source bitcoin_env/bin/activate # Launch the bitcoin_env virtual environment.
- Run the script from the virtual environment.
nohup "/.Run Display.sh" /home/$USER/Desktop/bitcoin_display.log 2>&1 & # Use nohup to ensure the script does not stop when you close the terminal.
If you encounter errors an output log should be created at the location specified in the config file. By default it is set as "log_file": "/home/$USER/Desktop/bitcoin_display.log"
and should be updated to your custom path when setting other config parameters. More specifically, $USER should be changed to your profile name. If you don't know what your profile name is run the command whoami
in the terminal of the raspberry pi.
Need to kill the app from terminal? Use pkill -f piDisplay.py