{"id":13721349,"url":"https://github.com/btc-ticker/btc-ticker","last_synced_at":"2025-05-07T13:32:31.449Z","repository":{"id":42557592,"uuid":"363948293","full_name":"btc-ticker/btc-ticker","owner":"btc-ticker","description":"BTC Ticker on a 2.7 inch e-paper attached to a rasberry zero WH","archived":false,"fork":false,"pushed_at":"2025-02-26T21:10:52.000Z","size":3685,"stargazers_count":50,"open_issues_count":4,"forks_count":10,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-26T22:22:18.341Z","etag":null,"topics":["bitcoin","e-paper","mempool","raspberry-pi","raspbian","ticker"],"latest_commit_sha":null,"homepage":"https://btc-ticker.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/btc-ticker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-03T14:00:01.000Z","updated_at":"2025-02-26T21:10:55.000Z","dependencies_parsed_at":"2024-01-18T22:12:16.642Z","dependency_job_id":"18b6c53a-be83-4b9b-92f8-6848bb80929a","html_url":"https://github.com/btc-ticker/btc-ticker","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btc-ticker%2Fbtc-ticker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btc-ticker%2Fbtc-ticker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btc-ticker%2Fbtc-ticker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btc-ticker%2Fbtc-ticker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/btc-ticker","download_url":"https://codeload.github.com/btc-ticker/btc-ticker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252886723,"owners_count":21819762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","e-paper","mempool","raspberry-pi","raspbian","ticker"],"created_at":"2024-08-03T01:01:15.918Z","updated_at":"2025-05-07T13:32:31.438Z","avatar_url":"https://github.com/btc-ticker.png","language":"Python","funding_links":[],"categories":["Displays, LED, Tickers"],"sub_categories":[],"readme":"# bitcoin-ticker\n\nbitcoin-ticker is a E-ink ticker that shows usefull information about bitcoin. Due to\nthe limited refresh lifetime, new information is currently shown every 5 minutes and\nwhenever a new block arrives.\n\n![](pictures/view7.jpg) ![](pictures/view6.jpg) ![](pictures/view1.jpg)\n![](pictures/view2.jpg) ![](pictures/view3.jpg) ![](pictures/view4.jpg)\n\n## Hardware\n\n- waveshare 2.7 e-Paper HAT (e.g. from\n  [berrybase](https://www.berrybase.de/sensoren-module/displays/epaper-displays/2.7-264-215-176-epaper-display-hat-f-252-r-raspberry-pi),\n  [welectron](https://www.welectron.com/Waveshare-13354-27inch-e-Paper-HAT?utm_campaign=id),\n  [reichelt](https://www.reichelt.de/entwicklerboards-display-epaper-2-7-schwarz-weiss-debo-epa-2-7-p224220.html))\n- rasberry pi zero WH (e.g. from\n  [berrybase](https://www.berrybase.de/raspberry-pi/raspberry-pi-computer/boards/raspberry-pi-zero-wh))\n- Power supply Micro USB 5V (e.g. from\n  [berrybase](https://www.berrybase.de/raspberry-pi/raspberry-pi-computer/stromversorgung/netzteile-fuer-die-steckdose/micro-usb-netzteil/ladeadapter-5v/1a-flache-bauform-schwarz))\n- micro SD card with 16 GB or more (e.g. from\n  [berrybase](https://www.berrybase.de/raspberry-pi/raspberry-pi-computer/speicherkarten/sandisk-ultra-microsdhc-a1-98mb/s-class-10-speicherkarte-43-adapter-16gb))\n- Printed Case (e.g. Typ B from\n  [ebay](https://www.ebay.de/itm/GEHAUSE-fur-2-7-264-176-ePaper-e-Ink-Display-HAT-und-Raspberry-Pi-Zero/384176908149)\n  oder\n  [ebay-kleinanzeigen](https://www.ebay-kleinanzeigen.de/s-anzeige/gehaeuse-fuer-2-7-e-ink-display-hat-rasp-pi-zero-typ-b/1807419003-225-8325))\n\n### More e-paper that are supportet:\n\n- waveshare 7.5 V2 (e.g. from\n  [berrybase](https://www.berrybase.de/sensoren-module/displays/epaper-displays/7.5-800-215-480-epaper-display-hat-f-252-r-raspberry-pi-v2))\n- waveshare 3.7 (e.g. from\n  [welectron](https://www.welectron.com/Waveshare-18057-37inch-e-Paper-HAT))\n\nThe config.ini needs the following settings when using the 7.5 inch:\n\n```\nepd_type = 7in5_V2\norientation = 270\nlayout_list=ohlc\n```\n\n## Usage\n\n### Ticker view\n\nThe Tickers the following information:\n\n- Block height, Mean block intervall in minutes, Time\n- Minimal Block fee for the first 7 blocks in mempool\n- Dollar price of a bitcoin\n- Satoshi per Dollar (also know as moskow time)\n- Sotoshi per Euro\n- Euro price of a bitcoin\n\nWhenever a new block has arrived on the blockchain, the following information is shown\nfor 120 seconds (can be disabled in the config.ini):\n\n- Euro price of a bitcoin, mean block intervall in minutes, Time\n- Minimal Block fee for the first 7 blocks in mempool\n- Blocks in mempook, Number of transaction in mempool\n- Blocks until next difficulty retargeting, est. difficulty multiplier, est. retarget\n  time\n- Block height\n\nDue to the limited lifetime of 1000000 refreshes and an expected lifetime of 5 years,\nthe refresh period has been set to 216 seconds.\n\n### Buttons\n\nThere are four buttons which the following behaviour (Please be patient after pressing,\nthe e-ink is quite slow):\n\n1. Switch through different ticker views (views can be selected in the config.ini)\n2. Switch BTC/fiat graph through 1, 3 and 7 days (Can be changed in the config.ini)\n3. Switch the layout of the ticker (layouts can be selected in the config.ini)\n4. Switch inverted mode\n\n### Switching to ro-mode\n\nPer default, the file system is mounted writable. When there is a empty ro file in\n/boot, the filesystem will remounted readonly.\n\n```\nsudo touch /boot/ro\n```\n\nenables the readonly remount. The file can also be created with a PC, similar to the ssh\nfile.\n\n### Switching between ro and rw mode\n\nAfter logging in with ssh,\n\n```\nrw\n```\n\nremounts the file system with write support.\n\n```\nro\n```\n\nswitches back to readonly.\n\n### Config.ini\n\nIt possible to personalize the ticker to your needs. After logging into your raspi with\nSSH, the config can be edited with\n\n```\nrw\nnano config.ini\nro\n```\n\nAfter writing the change to the ini file, a restart of the btc-ticker service is needed:\n\n```\nsudo systemctl restart btcticker\n```\n\n### Update btc-ticker without reflashing the sdcard\n\nAfter logging into the btc-ticker with SSH, the update can be started with\n\n```\nrw\n./99updateMenu.sh\n```\n\nSelect now:\n\n- PATCH\n- Patch menu\n- PATCH to update the ticker to the newest updates from git.\n\n## Download image\n\n- Downlad version 0.6.0 from\n  [btc-ticker-0_6_0.img.gz](https://btc-ticker.com/btc-ticker-0_6_0.img.gz)\n- Verify SHA256 checksum. It should be:\n  `ebeb7e615237853f7388f3f8b00268c2e88b560104f711f11e76ed6e0e59805d`\n\n### Flash SDcard with Raspberry Pi Imager\n\nUse https://www.raspberrypi.com/software/ for flashing the image to the sd-card.\n\n- Select btc-ticker img file\n- select sdcard\n- Before writing click on settings and modify the following settings\n- enable ssh with Use password authentication\n- set username and password and write Username: admin Password: btcticker\n- enable WiFi and enter your WiFi connection details\n- start with clicking on write\n\n### wpa_supplicant.conf (only when not using settings on Imager)\n\nWhen you use the Raspberry Pi Imager with settings, there is no need for adding\nwpa_supplicant.conf manually. When you did not enter your wifi credentials in the\nsettings menu, you need to do thefollowing:\n\n- add `wpa_supplicant.conf` to the boot partition when mounted on PC\n\n```\nctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\nupdate_config=1\ncountry=[COUNTRY_CODE]\nnetwork={\n  ssid=\"[WIFI_SSID]\"\n  psk=\"[WIFI_PASSWORD]\"\n  key_mgmt=WPA-PSK\n}\n```\n\n- replace `[COUNTRY_CODE]` with the ISO2 code (e.g. DE)\n- Set `[WIFI_SSID]` and `[WIFI_PASSWORD]`\n- On the first boot, the filesystem is mounted writable (Necessary for coping the\n  wpa_supplicant.conf).\n- When there is no wpa_supplicant.conf at /boot, the filesystem will be mounten\n  readonly.\n\n## Build SDcard from scratch\n\nThe SDcard build process is inspired by the great\n[raspiblitz](https://github.com/rootzoll/raspiblitz).\n\n- Download lastest\n  [raspios image](https://downloads.raspberrypi.org/raspios_oldstable_armhf/images/)\n- Write the Image to a SD card\n  [Tutorial](https://www.raspberrypi.org/documentation/installation/installing-images/README.md)\n- Add a `ssh` file to the boot partition when mounted on PC\n- Add a `wpa_supplicant.conf` file, as shown in the section before. More information are\n  also available\n  [here](https://www.raspberrypi.org/documentation/configuration/wireless/headless.md)\n- Login via SSH to `ssh pi@[IP-OF-YOUR-RASPI]` using password `raspberry`\n\nThe image can now be build with:\n\n```\nwget https://raw.githubusercontent.com/btc-ticker/btc-ticker/main/build_sdcard.sh \u0026\u0026 sudo bash build_sdcard.sh\n```\n\nAfter everything run through, it is possible to login with the password `btcticker` In\norder to prepare everyting for release, run `/home/admin/XXprepareRelease.sh`. When you\njust want to use it for yourself, you do not need to run\n`/home/admin/XXprepareRelease.sh`.\n\n## Changing the ssh password\n\nIn order to secure your btc-ticker in your local network, you should change the SSH\npassword after setting up everything.\n\n- Login via SSH to `ssh admin@[IP-OF-YOUR-RASPI]` using the password `btcticker`\n- Change the password (this will be improved in the next release)\n\n```\necho \"pi:NEWPASSWORD\" | sudo chpasswd\necho \"root:NEWPASSWORD\" | sudo chpasswd\necho \"admin:NEWPASSWORD\" | sudo chpasswd\n```\n\nReplace `NEWPASSWORD` with the new password.\n\n## Used APIs\n\nbtc-ticker is using the following APIs:\n\n- [mempool.space/api](https://mempool.space/api), which can also be run locally in e.g.\n  raspiblitz\n- [coingecko api](https://www.coingecko.com/en/api)\n- [blockchain API v1](https://github.com/blockchain/api-v1-client-python) (only as\n  backup, when mempool.space is not available)\n\n## Pre-commit-config\n\n### Installation\n\n```\n$ pip install pre-commit\n```\n\n### Using homebrew:\n\n```\n$ brew install pre-commit\n```\n\n```\n$ pre-commit --version\npre-commit 2.10.0\n```\n\n### Install the git hook scripts\n\n```\n$ pre-commit install\n```\n\n### Run against all the files\n\n```\npre-commit run --all-files\npre-commit run --show-diff-on-failure --color=always --all-files\n```\n\n### Update package rev in pre-commit yaml\n\n```bash\npre-commit autoupdate\npre-commit run --show-diff-on-failure --color=always --all-files\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtc-ticker%2Fbtc-ticker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbtc-ticker%2Fbtc-ticker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtc-ticker%2Fbtc-ticker/lists"}