3d printers

How to Build a Wireless Printer Monitor for OctoPrint 3D Printers

OctoPrint is a powerful application that lets you remotely download GCodes, print 3D objects, and monitor and control all aspects of your 3D printer. However, to view or monitor 3D printers using OctoPrint, you need to manually open a particular IP address in the web browser whenever you want to check the progress or any other details or if the printer is in progress. running or has finished printing.


To make monitoring 3D printers even easier and more convenient with OctoPrint, you can create a small OctoPrint monitor that displays real-time progress on a mini OLED screen.

How does the OctoPrint 3D Printer Monitor work and why do you need it?

If you have configured OctoPrint to control and monitor your 3D printer and your prints, you should also consider building and installing a mini OctoPrint DIY 3D printer monitoring device that wirelessly connects to the OctoPrint API and retrieves data. information such as:

  1. Print time elapsed.
  2. Remaining time to complete printing with progress bar.
  3. Bed temperature.
  4. Nozzle temperature (tool).
  5. Percent complete.
  6. Current time (24h or AM/PM).
  7. OTA firmware updates.

All this information is displayed on a small OLED screen. It turns off the screen when the printer is off, not operational or goes offline and turns on when the printer is connected and operational.

It is a WiFi-based surveillance device built using a D1 Mini and a 0.96-inch OLED screen in a 3D-printed case. You can place this device anywhere in your office or home, such as on your desk, to keep an eye on progress and monitor prints without browsing through the OctoPrint web interface.

What You Need for an OctoPrint DIY Printer Monitor

Once you have all the required components, follow the steps below to create a wireless OctoPrint Monitor device.

Step 1: Flash the firmware

Visit the printer monitor release page and download the firmware. You can choose between two firmwares depending on the display you are using.

For this project, we are using the SSD1306 (0.96″) OLED display firmware. If you want a slightly larger screen, get the SH1106 1.3″ OLED display. You also need to 3D print a different case for the bigger screen.

  1. Download and install CH340 drivers for your Mac or Windows PC from GitHub.
  2. Next, download the ESPHome Flasher tool from GitHub.
  3. Connect the D1 Mini to your PC using a micro USB cable and launch the ESPHomeFlasher tool.
  4. Click it Reload serial device list (refresh) icon and choose the COM port from the drop-down list.
  5. Click on Browse to choose the firmware you downloaded.
  6. Click on Glow. It may take a few seconds.

Alternatively, you can also download the project, extract it and modify the code in Arduino IDE. You can modify or edit the code as needed.

Step 2: Configure the OctoPrint Monitor device

Once you have flashed the firmware, the device will reboot and boot into Access Point (AP) mode. We will connect to the access point and configure the OctoPrint monitor. The steps are as follows:

  1. In the Wi-Fi settings of your smartphone or PC, connect to Mon Oct-xxxxx Access point.
  2. Open the web browser and visit
  3. Click on Configure Wi-Fiselect the Wi-Fi network, enter the password and click on to safeguard.
  4. The device will reboot and the IP address will show up in ESPHome Flasher.
  5. Enter this IP address in your web browser and visit the page.
  6. Click on the Hamburger menu and click Configure.
  7. Enter the default value administrator and the password in the Username and password field and click Login.
  8. Open a new browser tab and visit the OctoPrint web interface.
  9. Click on Settings (wrench icon) then click APIs.
  10. Copy the API and paste it into the OctoPrint Monitor web interface. Also enter the OctoPrint Monitor IP address, Port (default is 80). If you are using Authentication for OctoPrint Monitor, enter the OctoPrint user ID and password. (You can
  11. You can also check options like Reverse Display Orientation or Change OctoPrint User ID and Password in the same menu. Click on to safeguard once you have finished.
  12. Then click on the Hamburger new menu and choose Time.
  13. Now visit OpenWeathermmap.orgcreate an account, log in and click on the API keys tongue.
  14. Copy the API key and paste it into the OctoPrint monitor.
  15. Also search your city to check the weather and copy the 7 digit code City ID displayed in the URL.
  16. Choose the Metric and weather language and click to safeguard.

The OctoPrint monitor will now start displaying weather information when the printer is not running.

Step 3: Connect OLED display to D1 Mini

Once the firmware is flashed and the OctoPrint monitor is configured, you can connect the 0.96″ or 1.3″ 128×64 OLED display to the D1 Mini board using patch cables as shown below.

Connect screens SDA at D2, SCL at D5, VDC at 5Vand Earth at g pin on the D1 Mini board. As an option, you can also use a NodeMCU board if you already have one. But you will have to design a specific 3D case for that.

Connect the USB cable to turn on the OctoPrint monitoring device and check if it displays information on the screen. Once confirmed, you can refer to the Thingiverse Project and assemble it into a 3D printed case.

You can use hot glue or tape to hold the screen in place. Put on the cover and connect the micro USB cable to the D1 Mini micro USB port.

Connect the USB to a 5V power source such as a power bank or smartphone adapter. This will turn on the device.

Monitor your 3D printer wirelessly

With the OctoPrint 3D printer monitor device, you can keep an eye on the printer status, such as remaining time, progress, bed and nozzle temperature, etc., without browsing the address OctoPrint Server IP or need to refresh the page.

You can build a few and put them on your desk or maybe in your living room to keep an eye on the printing progress. You can also create a smart clock using the MAX7219 matrix and use it to display printer status through the OctoPrint API.