{"id":19686129,"url":"https://github.com/loiccoyle/tinyticker","last_synced_at":"2026-03-15T09:41:36.164Z","repository":{"id":193087612,"uuid":"412807941","full_name":"loiccoyle/tinyticker","owner":"loiccoyle","description":"🚀 A tiny Raspberry Pi powered ePaper ticker","archived":false,"fork":false,"pushed_at":"2024-06-06T01:56:39.000Z","size":5041,"stargazers_count":10,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-06T02:31:38.346Z","etag":null,"topics":["cryptocurrency","diy","eink","epaper","finance","raspberry-pi","stocks","ticker","waveshare"],"latest_commit_sha":null,"homepage":"https://loiccoyle.com/tinyticker","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/loiccoyle.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-10-02T13:42:59.000Z","updated_at":"2024-06-06T01:56:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"ef98657e-93d6-4a5d-ad29-93c82f5fca2b","html_url":"https://github.com/loiccoyle/tinyticker","commit_stats":null,"previous_names":["loiccoyle/tinyticker"],"tags_count":89,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loiccoyle%2Ftinyticker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loiccoyle%2Ftinyticker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loiccoyle%2Ftinyticker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loiccoyle%2Ftinyticker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loiccoyle","download_url":"https://codeload.github.com/loiccoyle/tinyticker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251450656,"owners_count":21591407,"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":["cryptocurrency","diy","eink","epaper","finance","raspberry-pi","stocks","ticker","waveshare"],"created_at":"2024-11-11T18:26:16.350Z","updated_at":"2026-03-15T09:41:31.120Z","avatar_url":"https://github.com/loiccoyle.png","language":"Python","readme":"\u003ch1 align=\"center\"\u003e🚀 tinyticker 🚀\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg  src=\"https://i.imgur.com/J4k3PCM.png\" height=400\u003e\n  \u003cimg src=\"https://i.imgur.com/QWP7bpH.png\" height=400\u003e\n\u003c/div\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pypi.org/project/tinyticker/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/tinyticker\"\u003e\u003c/a\u003e\n  \u003ca href=\"./LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/loiccoyle/tinyticker/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/loiccoyle/tinyticker/actions/workflows/ci.yml/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.com/channels/1239232827237597184/1239232827841839297\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/badge/%20discord-%20?logo=discord\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003chr/\u003e\n\n`tinyticker` uses a Raspberry Pi zero W and a small ePaper display to periodically display a stock or crypto chart.\n\nA `flask` web interface is created to set the ticker options and control the Raspberry Pi.\n\n`tinyticker` uses the [`cryptocompare`](https://github.com/lagerfeuer/cryptocompare) API to query the crypto price information, you'll need to get yourself a free [API key](https://min-api.cryptocompare.com/pricing). As well as the [`yfinance`](https://github.com/ranaroussi/yfinance) package to get the stock financial data.\n\n## 🛒 Hardware\n\nShopping list:\n\n- [Raspberry Pi Zero WH](https://www.adafruit.com/product/3708)\n- One of these ePaper displays:\n  - [Waveshare ePaper 2.13in Black \u0026 White](https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT)\n  - [Waveshare ePaper 2.13in Black, White \u0026 Red](\u003chttps://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(B)\u003e)\n  - [Waveshare ePaper 2.13in Black, White \u0026 Yellow](\u003chttps://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(C)\u003e)\n  - [Waveshare ePaper 2.7in Black \u0026 White](https://www.waveshare.com/wiki/2.7inch_e-Paper_HAT)\n  - [Waveshare ePaper 7.5in Black, White \u0026 Red](\u003chttps://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_(B)_Manual\u003e)\n- A micro sd card\n\n## 📦 Installation\n\n\u003e [!TIP]\n\u003e Check out \u003chttps://tinyticker.loiccoyle.com\u003e for more information.\n\n### Recommended setup\n\nFlash the [tinyticker image](https://drive.google.com/drive/folders/1U-PGzkOtSynN6FGDq2MsXF9kXGdkzd0D) onto a SD card and you should be good to go.\n\n\u003e [!NOTE]\n\u003e To build your own image, see the [`pi-gen`](https://github.com/loiccoyle/pi-gen) repo.\n\n### Manual setup\n\n\u003e [!NOTE]\n\u003e This is much more involved than the recommended setup and will most likely require some debugging.\n\n \u003cdetails\u003e\n  \u003csummary\u003eExpand\u003c/summary\u003e\n\nI highly recommend using [comitup](https://github.com/davesteele/comitup) to setup the networking on your RPi.\n\n- Write the `comitup` [image](https://davesteele.github.io/comitup/latest/comitup-lite-img-latest.html) to your sd card\n- Boot up the RPi and setup the networking\n- ssh into your RPi, you'll probably want to change the password while you're at it\n- Enable the [SPI interface](https://www.raspberrypi-spy.co.uk/2014/08/enabling-the-spi-interface-on-the-raspberry-pi/)\n- (Optional) rename the hostname of your RPi by editing the `/etc/hostname` and `/etc/hosts` file\n- (Optional) rename the Wifi AP name by editing the `/etc/comitup.conf` file\n- Install the `BCM2835` driver:\n\n  ```sh\n  curl http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz | tar xzv\n  cd bcm2835-1.60/\n  ./configure\n  make\n  make install\n  ```\n\n  - Install `pip`:\n\n  ```sh\n  sudo apt install python3-pip\n  ```\n\n  - Install dependency requirements:\n\n  ```sh\n  sudo apt install libxml2-dev libxslt1-dev libatlas-base-dev ninja-build patchelf libopenjp2-7 libtiff-dev libjpeg-dev\n  ```\n\n  - Install `tinyticker`:\n\n  ```sh\n  pip install tinyticker\n  ```\n\n  - To setup `tinyticker` to start on boot, copy over the [`systemd` unit files](./systemd) and enable them.\n\n\u003c/details\u003e\n\n## 👢 First boot\n\nOn first boot, you will need to connect your RPi to your wifi network.\n\n- Connect to the `tinyticker` wifi AP\n- Select the wifi network you want your RPi to connect to\n- Enter the wifi password\n\nYour RPi will now connect to your wifi and the `tinyticker` services will start.\n\nOnce the web app is running, head over to `http://tinyticker.local` to configure it.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floiccoyle%2Ftinyticker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floiccoyle%2Ftinyticker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floiccoyle%2Ftinyticker/lists"}