ePaper Cryptocurrency Ticker: Monitor Prices with a DIY Desktop Display
Stay updated on your favorite cryptocurrencies with a sleek, low-power ePaper display powered by a Raspberry Pi. This open-source project transforms a Waveshare 2.7-inch ePaper HAT into an elegant desktop cryptocurrency ticker that refreshes every five minutes using real-time data from CoinGecko. Whether you're tracking Bitcoin, Ethereum, or niche altcoins, this minimalist monitor delivers unobtrusive, always-on price updates—perfect for desks, labs, or maker spaces.
Built as a lightweight Python script, the btcticker
project supports all coins, currencies, and exchanges listed on CoinGecko’s API, giving you full control over which assets and pricing pairs are displayed. You can even choose your preferred exchange for price accuracy.
Why Use an ePaper Cryptocurrency Ticker?
Unlike power-hungry monitors or phone apps that drain batteries, ePaper (electronic paper) displays consume energy only when refreshing content. Once an image is shown, it remains visible without any power—making it ideal for 24/7 cryptocurrency tracking.
This project combines affordability, customization, and efficiency:
- ✅ Ultra-low power consumption
- ✅ Always-visible screen (no backlight fatigue)
- ✅ Fully customizable coin and currency selection
- ✅ Runs silently on Raspberry Pi (no moving parts)
👉 Build your own live crypto tracker today—no experience required.
Getting Started: Setup Your Raspberry Pi
Before installing the ticker software, ensure your Raspberry Pi is properly configured. These instructions assume:
- Your Pi is connected to the internet
python3
andpip
are installed- You're using the V1 Waveshare 2.7" monochrome ePaper HAT (for V2, see configuration notes in
btcticker.py
)
If running headlessly, connect via SSH:
ssh pi@your-pi-ip-address
Install Required Packages
Update your system and install essential libraries:
sudo apt-get update
sudo apt-get install -y python3-pip mc git libopenjp2-7
sudo apt-get install -y libatlas-base-dev python3-pil python3-numpy python3-matplotlib
Enable SPI Interface
The ePaper display communicates via SPI, which must be enabled:
sudo raspi-config nonint do_spi 0
Reboot if prompted to apply changes.
Install the btcticker Software
Clone both the Waveshare driver and the btcticker
repository:
cd ~
git clone https://github.com/waveshare/e-Paper
git clone https://github.com/veebch/btcticker.git
Navigate into the btcticker
directory, copy the example configuration, and move the required Waveshare library:
cd btcticker
cp config_example.yaml config.yaml
cp -r ~/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd .
rm -rf ~/e-Paper
Install Python dependencies:
python3 -m pip install -r requirements.txt
Configure Your Cryptocurrency Display
Edit the config.yaml
file to customize what appears on your ePaper screen:
tickers:
- BTC
- ETH
- ADA
vs_currencies:
- usd
- eur
exchange: binance
update_interval: 300 # seconds (5 minutes)
font_size: 16
display_type: epd2in7 # matches Waveshare 2.7"
Key Configuration Options:
tickers
: List of cryptocurrencies to track (e.g., BTC, DOGE, SOL)vs_currencies
: Fiat or crypto pairs (USD, EUR, BTC)exchange
: Source for price data (Binance, Coinbase, Kraken, etc.)update_interval
: How often prices refresh (minimum: 300 seconds)
You can monitor multiple coins against multiple currencies—ideal for global traders.
👉 Discover how real-time crypto data can boost your trading strategy.
Automate Startup: Run Ticker on Boot
Ensure your ticker starts automatically when the Pi powers on.
Create a systemd service file:
sudo nano /etc/systemd/system/btcticker.service
Paste the following (adjust username if needed):
[Unit]
Description=Cryptocurrency Ticker
After=network.target
[Service]
ExecStart=/usr/bin/python3 /home/pi/btcticker/btcticker.py
WorkingDirectory=/home/pi/btcticker
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Unit]
Wants=network.target
After=network-online.target
Enable and start the service:
sudo systemctl enable btcticker.service
sudo systemctl start btcticker.service
Your ticker will now launch at boot and restart automatically if it crashes.
Troubleshooting Common Issues
Screen Remains Blank?
- Confirm SPI is enabled via
raspi-config
- Check that the ribbon cable is securely connected
- Ensure you copied the
waveshare_epd
folder correctly
Prices Not Updating?
- Verify internet connectivity
- Confirm CoinGecko API is accessible (
curl https://api.coingecko.com/api/v3/ping
) - Check logs:
journalctl -u btcticker.service -f
Using Waveshare V2 Display?
Open btcticker.py
and locate the section referencing display initialization. Uncomment the V2 lines and comment out V1:
# For V2:
epd = epd2in7b.EPD()
# For V1:
# epd = epd2in7.EPD()
Frequently Asked Questions
Can I use a different ePaper display size?
Yes, but you’ll need to adjust the layout code. The current script is optimized for the 2.7-inch monochrome HAT, but forks exist for 4.2" and color displays. Always match the display_type
in config to your model.
Does this work offline?
No. The script fetches live data from CoinGecko’s public API. An active internet connection is required for updates.
How often does the price update?
By default, every 300 seconds (5 minutes). You can increase frequency, but respect API rate limits—CoinGecko allows up to 10 calls per minute per IP.
Can I display more than three coins?
Yes! The display shows multiple coins in a scrollable or paginated format depending on font size and layout settings. Adjust font_size
and max_tickers_per_page
in config.yaml
.
Is there a risk of screen burn-in?
ePaper displays are immune to burn-in. However, frequent full-screen refreshes can reduce lifespan. This script uses partial refresh techniques where possible to preserve longevity.
Can I add alerts or sound notifications?
Not natively. This is a silent visual monitor. However, advanced users can modify the script to trigger GPIO pins or send push notifications via email or Telegram.
Expand Your Setup: Ideas for Customization
- 🔄 Multi-display array: Run several Pis to track different markets (DeFi, NFTs, stablecoins)
- 🌐 Local web dashboard: Serve cached prices via Flask for nearby devices
- 🕹️ Interactive controls: Add buttons to cycle views or change base currency
- 📈 Historical graphs: Use matplotlib to render small trend lines on-screen
👉 Turn your crypto interest into action with smart tools and insights.
Final Thoughts
The ePaper cryptocurrency ticker is more than a gadget—it's a statement of mindful monitoring in an age of digital noise. By combining low-energy hardware with open-source software, this project empowers users to stay informed without distraction.
Whether you're a developer, trader, or tech enthusiast, building your own ticker offers hands-on learning in Python, APIs, and embedded systems—all while creating a functional piece of financial art.
With full support for Bitcoin, Ethereum, altcoins, fiat conversions, and major crypto exchanges, this project scales from simple curiosity to serious dashboard utility.
Start today: clone the repo, tweak your config, and let your Pi keep watch over the market—silently, efficiently, beautifully.
Core Keywords: ePaper cryptocurrency ticker
, Raspberry Pi crypto display
, CoinGecko API
, Waveshare 2.7 inch
, Python crypto script
, DIY crypto monitor
, low-power crypto tracker
, real-time price ticker