MCPcopy Index your code
hub / github.com/dr-mod/zero-btc-screen

github.com/dr-mod/zero-btc-screen @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
69 symbols 231 edges 17 files 1 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Zero BTC Screen

Bitcoin (or any other currency) stock price for your RPi Zero

display

Hardware

Platform

  • Raspberry Pi Zero W
  • Raspberry Pi 3b+
  • Raspberry Pi 4
  • Any other modern RPi

Supported displays

  • Waveshare eInk types:
  • epd2in13v2
  • epd2in13v3
  • epd2in13bv3
  • epd2in7
  • epd3in7
  • inkyWhat (Red, Black, White)
  • Virtual (picture)

Installation

  1. Turn on SPI via sudo raspi-config Interfacing Options -> SPI
  2. Install dependencies sudo apt update sudo apt-get install python3-pip python3-numpy git pip3 install RPi.GPIO spidev pillow

  3. Install drivers for your display (you don't need to install both)

    1. If you have a Waveshare display git clone https://github.com/waveshare/e-Paper.git ~/e-Paper pip3 install ~/e-Paper/RaspberryPi_JetsonNano/python/
    2. If you have an Inky wHAT display pip3 install inky[rpi]
  4. Download Zero BTC Screen git clone https://github.com/dr-mod/zero-btc-screen.git ~/zero-btc-screen
  5. Run it python3 ~/zero-btc-screen/main.py

Screen configuration

The application supports multiple types of e-ink screens, and an additional "picture" screen.

To configure which display(s) to use, configuration.cfg should be modified. In the following example an e-ink epd2in13v2 and "picture" screens are select:

[base]
console_logs             : false
#logs_file               : /tmp/zero-btc-screen.log
dummy_data               : false
refresh_interval_minutes : 15
# Price pair from Coinbase e.g. BTC-EUR or ADA-GBP
currency                 : BTC-USD

# Enabled screens or devices
screens : [
    epd2in13v2
#    epd2in13v3
#    epd2in13bv3
#    epd2in7
#    epd3in7
    picture
#    inkyWhatRBW
  ]

# Configuration per screen
# This doesn't make any effect if screens are not enabled above
[epd2in13v2]
mode : candle

[epd2in13v3]
mode : candle

[epd2in13bv3]
mode : line

[epd2in7]
mode : candle

[epd3in7]
mode : candle

[picture]
filename : /home/pi/output.png

[inkyWhatRBW]
mode : candle

Autostart

To make it run on startup you can choose from 2 options:

  1. Using the rc.local file
    1. sudo nano /etc/rc.local
    2. Add one the following before exit 0 /usr/bin/python3 /home/pi/zero-btc-screen/main.py & conversely, you can run in screen you can install it with sudo apt-get install screen su - pi -c "/usr/bin/screen -dm sh -c '/usr/bin/python3 /home/pi/zero-btc-screen/main.py'"
  2. Using the system's services daemon

    1. Create a new service configuration file sudo nano /etc/systemd/system/btc-screen.service
    2. Copy and paste the following into the service configuration file and change any settings to match your environment ``` [Unit] Description=zero-btc-screen After=network.target

      [Service] ExecStart=/usr/bin/python3 -u main.py WorkingDirectory=/home/pi/zero-btc-screen StandardOutput=inherit StandardError=inherit Restart=always User=pi

      [Install] WantedBy=multi-user.target 3. Enable the service so that it starts whenever the RPi is rebooted sudo systemctl enable btc-screen.service 4. Start the service and enjoy! sudo systemctl start btc-screen.service ```

    If you need to troubleshoot you can use the logging configurations of this program (mentioned below). Alternatively, you can check to see if there is any output in the system service logging. sudo journalctl -f -u btc-screen.service

Support the project

If you would like to support this project and and keep me caffeinated, you can do it here:

"Buy Me A Coffee"

Core symbols most depended-on inside this repo

line
called by 26
data/plot.py
y_axis_labels
called by 6
data/plot.py
caption
called by 6
data/plot.py
candle
called by 6
data/plot.py
human_format
called by 3
data/plot.py
get_dummy_data
called by 1
main.py
fetch_prices
called by 1
main.py
main
called by 1
main.py

Shape

Method 52
Class 13
Function 4

Languages

Python100%

Modules by API surface

data/plot.py9 symbols
config/config.py9 symbols
presentation/observer.py8 symbols
presentation/screens/epd3in7.py6 symbols
presentation/screens/epd2in7.py6 symbols
presentation/screens/epd2in13v2.py6 symbols
presentation/screens/inkywhatrbw.py5 symbols
presentation/screens/epd2in13bv3.py5 symbols
presentation/screens/picture.py4 symbols
config/builder.py4 symbols
presentation/screens/epd2in13v3.py3 symbols
main.py3 symbols

For agents

$ claude mcp add zero-btc-screen \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact