{"id":26513363,"url":"https://github.com/nilathj/esp32-crypto-ticker","last_synced_at":"2026-04-11T15:33:46.109Z","repository":{"id":188403118,"uuid":"678663122","full_name":"nilathj/esp32-crypto-ticker","owner":"nilathj","description":"MQTT ESP32 crypto price ticker client","archived":false,"fork":false,"pushed_at":"2023-08-15T05:40:11.000Z","size":5133,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T04:34:25.712Z","etag":null,"topics":["cryptocurrency","esp32","mqtt","platformio","st7789"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nilathj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-08-15T04:19:11.000Z","updated_at":"2024-12-30T13:52:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"8609b60d-efca-459f-9d55-427d75af7d70","html_url":"https://github.com/nilathj/esp32-crypto-ticker","commit_stats":null,"previous_names":["nilathj/esp32-crypto-ticker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nilathj/esp32-crypto-ticker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilathj%2Fesp32-crypto-ticker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilathj%2Fesp32-crypto-ticker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilathj%2Fesp32-crypto-ticker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilathj%2Fesp32-crypto-ticker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nilathj","download_url":"https://codeload.github.com/nilathj/esp32-crypto-ticker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilathj%2Fesp32-crypto-ticker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31686134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","esp32","mqtt","platformio","st7789"],"created_at":"2025-03-21T04:28:10.730Z","updated_at":"2026-04-11T15:33:46.104Z","avatar_url":"https://github.com/nilathj.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MQTT Crypto price ticker using an ESP32-WROOM-32 with a 240x280 TFT using the SPI ST7789 interface controller\n  \nText is drawn by using the TFT_eSPI library using the google Noto Sans anti-aliased font that is loaded into a flash array.\n\nThe price tracker client display the coin name, price, daily % move (+ or -), daily volume.  This information is received by the client listening in on a MQTT topic as a JSON payload.\n\n### Crypto prices display\n![Crypto prices](docs/cryptoPrices.jpg)\n\n## Prerequisites\n* This code is using platformio with TFT_eSPI, AsyncMqttClient and ArduinoJson libraries.  Refer platformio.ini.\n* A MQTT server publishing price JSON payloads to the MQTT_PRICE_TOPIC (crypto/prices) periodically.  Refer [Docker Python Crypto Price Server](https://github.com/nilathj/crypto-price-server)\n* Setup SSID and WIFI password\n\n## Crypto price display code\n1. Connect to wifi\n2. Connect to MQTT server\n3. Subscribe to MQTT_PRICE_TOPIC\n4. mqttClient.onMessage\n   - Deserialise the JSON payload in the MQTT message\n   - Parse JSON\n   - Display crypto price data on the TFT using TFT_eSPI library.\n\n## Structure of the expected JSON in the MQTT payload\n```\n{\n   \"time\":\"Sat 1-04-23  19:09:15\",\n   \"coins\":[\n      {\n         \"name\":\"BTC\",\n         \"price\":\"$28,451\",\n         \"price_change_24h\":\"2.2%\",\n         \"vol\":\"17B\"\n      },\n      {\n         \"name\":\"ETH\",\n         \"price\":\"$1,825\",\n         \"price_change_24h\":\"1.5%\",\n         \"vol\":\"10B\"\n      },\n      {\n         \"name\":\"ADA\",\n         \"price\":\"$0.39\",\n         \"price_change_24h\":\"1.4%\",\n         \"vol\":\"759M\"\n      },\n      {\n         \"name\":\"DOT\",\n         \"price\":\"$6.26\",\n         \"price_change_24h\":\"0.6%\",\n         \"vol\":\"202M\"\n      }\n   ]\n}\n```\n\n\n## Design\nPython crypto price server running in docker --\u003e MQTT server --\u003e ESP32-CRYPTO-TICKER client\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilathj%2Fesp32-crypto-ticker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnilathj%2Fesp32-crypto-ticker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilathj%2Fesp32-crypto-ticker/lists"}