A basic OctoPrint-Monitor with ESP8266 (I use an NodeMCU v2, use $random_hardware that has WiFi and supports I2C) and an SSD1306 OLED
Code for a (very) basic OctoPrint monitor with a SSD1306 OLED display. It displays job information when printing, is dimmed when OctoPrint is offline.
The code has basic support for NTP and time handling included, but is unused in the code. Feel free to adopt to your needs.
- Copyright (c) 2020 noppingen: https://github.com/noppingen/ESP8266-OctoPrint-Monitor/
- Create a new PlatformIO project, paste
main.cpp - Add required libraries:
ArduinoJsonversion 6: https://github.com/bblanchon/ArduinoJsonThingPulse esp8266-oled-ssd1306: https://github.com/ThingPulse/esp8266-oled-ssd1306NTPclient: https://github.com/arduino-libraries/NTPClientTime: https://playground.arduino.cc/Code/Time/
- Set
YOUR_OCTOPRINT_HOSTYOUR_OCTOPRINT_API_KEYYOUR_WIFI_SSIDYOUR_WIFI_PASSYOUR_NTP_HOSTSCLpinSDApin
- Wire 4 pins,
- When using an Node MCU, do not use GPIO9/10 for I2C as I did in the pictures below: https://www.letscontrolit.com/forum/viewtopic.php?t=1462
- Print a case

