Pi-hole Monitor is a Wemos D1 Mini (ESP8266) with an I2C OLED display that is managed through a web interface and sits on your local network and will display statistics from your Pi-hole server.
Pi-hole Monitor Video
Note: Using the links provided here help to support these types of projects. Thank you for the support.
SDA -> D2
SCL -> D5
VCC -> 5V+
GND -> GND-
https://www.thingiverse.com/thing:3573903 -- new 0.96" SSD1306 OLED Display
https://www.thingiverse.com/thing:2884823 -- for the 0.96" SSD1306 OLED Display
https://www.thingiverse.com/thing:2934049 -- for the 1.3" SSH1106 OLED Display
Once compiled and loaded you will have ability to upgrade pre-compiled firmware from a binary file. You can upload the pre-compiled binary files to your printer monitor via the web interface. From the main menu in the web interface select "Firmware Update" and follow the prompts.
It is recommended to use Arduino IDE. You will need to configure Arduino IDE to work with the Wemos board and USB port and installed the required USB drivers etc.
Use the Arduino guide for details on how to installing and manage libraries https://www.arduino.cc/en/Guide/Libraries
Packages -- the following packages and libraries are used (download and install):
ESP8266WiFi.h
ESP8266WebServer.h
WiFiManager.h --> https://github.com/tzapu/WiFiManager
ESP8266mDNS.h
ArduinoOTA.h --> Arduino OTA Library
"SSD1306Wire.h" --> https://github.com/ThingPulse/esp8266-oled-ssd1306/releases/tag/4.1.0 (version 4.1.0)
"OLEDDisplayUi.h"
All settings may be managed from the Web Interface, however, you may update the Settings.h file manually only the first time loading -- but it is not required.
NOTE: The settings in the Settings.h are the default settings for the first loading. After loading you will manage changes to the settings via the Web Interface. If you want to change settings again in the Settings.h, you will need to erase the file system on the Wemos or use the “Reset Settings” option in the Web Interface.
The Pi-hole Monitor uses the WiFiManager so when it can't find the last network it was connected to it will become a AP Hotspot -- connect to it with your phone or computer and you can then enter your WiFi connection information to get the monitor on your network.
After connected to your WiFi network it will display the IP addressed assigned to it and that can be used to open a browser to the Web Interface. Everything can be configured there.
Please do not feel obligated, but donations and tips are warmly welcomed. I have added the donation button at the request of a few people that wanted to contribute and show appreciation. Thank you, and enjoy the application and project.
Or -- you can buy me something from my Amazon Wishlist: https://www.amazon.com/hz/wishlist/ls/GINC2PHRNEY3
David Payne -- Principal developer and architect
Contributing to this software is warmly welcomed. You can do this basically by forking from master, committing modifications and then making a pulling requests to be reviewed (follow the links above for operating guide). Detailed comments are encouraged. Adding change log and your contact into file header is encouraged. Thanks for your contribution.