{"id":25411345,"url":"https://github.com/educ8s/esp32-e-paper-thermometer-with-web-dashboard","last_synced_at":"2025-04-14T08:28:02.327Z","repository":{"id":277316400,"uuid":"928138994","full_name":"educ8s/ESP32-E-Paper-Thermometer-with-Web-Dashboard","owner":"educ8s","description":"A desk thermometer whitch features a tri-color E-paper display powered by an ESP32, with Web Dashboard","archived":false,"fork":false,"pushed_at":"2025-02-22T09:41:02.000Z","size":151,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-05T18:54:26.684Z","etag":null,"topics":["e-paper","epaper-displays","esp32","esp32-arduino","inkplate2"],"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/educ8s.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":"2025-02-06T05:59:46.000Z","updated_at":"2025-04-02T15:50:08.000Z","dependencies_parsed_at":"2025-02-14T12:46:43.022Z","dependency_job_id":null,"html_url":"https://github.com/educ8s/ESP32-E-Paper-Thermometer-with-Web-Dashboard","commit_stats":null,"previous_names":["educ8s/esp32-e-paper-thermometer-with-web-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/educ8s%2FESP32-E-Paper-Thermometer-with-Web-Dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/educ8s%2FESP32-E-Paper-Thermometer-with-Web-Dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/educ8s%2FESP32-E-Paper-Thermometer-with-Web-Dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/educ8s%2FESP32-E-Paper-Thermometer-with-Web-Dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/educ8s","download_url":"https://codeload.github.com/educ8s/ESP32-E-Paper-Thermometer-with-Web-Dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248845175,"owners_count":21170715,"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":["e-paper","epaper-displays","esp32","esp32-arduino","inkplate2"],"created_at":"2025-02-16T10:17:12.162Z","updated_at":"2025-04-14T08:28:02.317Z","avatar_url":"https://github.com/educ8s.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32-Powered E-Paper Home Environment Dashboard\n\n## Overview\nThis project blends electronics with design to create a vintage-style thermometer powered by an ESP32 microcontroller and a tri-color E-paper display. While resembling a classic analog thermometer, it also features a modern web-based dashboard for real-time monitoring of temperature, humidity, and pressure. \n\nThe case is 3D-printed using wood filament, giving it an authentic vintage look, and the real-time dashboard allows for local data storage and privacy-focused environmental tracking.\n\n## Features\n- **Elegant E-Paper Display:** Low power consumption and excellent readability.\n- **Web-Based Dashboard:** Monitor temperature, humidity, and barometric pressure in real time.\n- **Local Data Storage:** No cloud dependence, ensuring full privacy.\n- **48-Hour Logging:** View historical trends for environmental monitoring.\n- **Minimal Wiring:** Just four simple connections.\n- **Custom 3D-Printed Case:** Vintage-inspired design with a practical USB breakout for easy power access.\n\n## Video Tutorial\n![ESP32-Powered E-Paper Home Dashboard](preview.jpg)\n\n🎥 [Watch the Full Video Tutorial](https://youtu.be/eyifLGnNtt4)\n\n## Parts List\nHere are the components you need for this build:\n\n| Component | Description | Buy Link |\n|-----------|-------------|---------|\n| **Inkplate2** | E-Paper display board from Soldered | [Buy Here](https://educ8s.tv/part/Inkplate2) |\n| **BME280** | Sensor for temperature, humidity, and barometric pressure | [Buy Here](https://educ8s.tv/part/BME280) |\n| **MicroUSB Breakout** | Power | [Buy Here](https://educ8s.tv/part/MiniUSBBreakout) |\n\n## Circuit Diagram\nThe wiring for this project is extremely simple:\n- **BME280 Sensor → Inkplate2 Board**\n  - VCC → 3.3V\n  - GND → GND\n  - SCL → SCL\n  - SDA → SDA\n\n## Software Setup\nTo compile and upload the project, install the following libraries in the Arduino IDE:\n- **Inkplate Library** (for the E-paper display)\n- **Adafruit BME280 Library** (for the sensor)\n- **ArduinoJson Library** (for handling JSON data)\n\n### Code Structure\nThe project follows an object-oriented programming approach for better maintainability:\n- **`Sensor.cpp` \u0026 `Sensor.h`** – Handles sensor readings.\n- **`SensorData.cpp` \u0026 `SensorData.h`** – Stores and manages historical data.\n- **`Display.cpp` \u0026 `Display.h`** – Manages rendering data on the E-paper display.\n- **`index_html.h`** – Hosts the web-based dashboard.\n- **`ESP32_HomeDashboard.ino`** – Main program logic, handling updates and communication.\n  \nIf you're new to Object-Oriented Programming or want to master it, check out my course [Object Oriented Progamming Made Easy](https://bit.ly/3NaMfg4)\n\n## Web Dashboard\nThe built-in web server displays live and historical data with intuitive graphs. Simply access the device's local IP in a browser to view:\n- **Current Temperature, Humidity, and Pressure**\n- **Graphs of the last 48 hours' data**\n- **Automatic unit switching between Celsius and Fahrenheit**\n\n## Power Consumption \u0026 Optimization\nThis project is designed to remain plugged in, but some power-saving measures are included:\n- The E-Paper display updates only when necessary.\n- Historical data is updated every 5 minutes.\n- Running the web server increases power consumption to ~1200mAh/day.\n\nFor battery operation, consider disabling the web server and optimizing sleep modes.\n\n## 3D-Printed Enclosure\nThe 3D-printed case is designed for aesthetics and functionality. The following modifications improve usability:\n- **Sensor Exposure:** Cutout at the back ensures accurate readings.\n- **USB Breakout Access:** Allows for easier power connection.\n- **Stable Stand:** Adjusted port positioning for an upright display.\n\nYou can find the 3D model files [here](https://www.printables.com/model/1180113-esp32-project-e-paper-thermometer-with-web-dashboa).\n\n## How to Use\n1. Flash the firmware to the ESP32 board.\n2. Edit `ESP32_HomeDashboard.ino` to enter your WiFi credentials.\n3. Upload the code and reboot the board.\n4. Find the device's IP address in the serial monitor and access it via a web browser.\n\n## Future Improvements\n- **Battery Optimization:** Reduce power consumption for months-long operation.\n- **Mobile App Integration:** Use MQTT or Bluetooth for enhanced connectivity.\n- **More Sensors:** Expand the project with additional environmental tracking features.\n\n---\n\n## License \u0026 Open Source Contribution\nThis project is fully open source, and contributions are welcome! Feel free to expand the functionality and share your modifications.\n\n🛠 Built by [Nick Koumaris](https://www.educ8s.tv)\n📺 Follow me on [YouTube](https://www.youtube.com/educ8s) for more projects!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feduc8s%2Fesp32-e-paper-thermometer-with-web-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feduc8s%2Fesp32-e-paper-thermometer-with-web-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feduc8s%2Fesp32-e-paper-thermometer-with-web-dashboard/lists"}