Main Content


A lightweight ATMega328p based information display panel thingie for RepRap firmware based 3D Printers; specifically the Duet controller.

This is somewhat of a Parts bin special; I wanted to add some sort of temperature feedback to my DuetWifi controlled 3D printer; it’s Wifi interface is great but I got fed up with not being able to see the status at a glance while prepping the machine. This unit plugs directly into the UART (panelDue) connector on my controller, it runs at 5V from the supply on the connector; and has simple mosfet level converters on the serial port to cope with the 3.3V controller used by the Duet.

This is a low cost and lightweight temperature and status monitor for 3d Printers using Duet (or other repRap Firmware) controllers.

The Controller connects to the PanelDue serial port on the Duet card, and periodically queries the Duet Firmware for It’s status and temperatures, then updates it’s display as appropriate.

Atmega328P based (as per the Arduino Uno)
2 x 0.96’ OLED displays on individual I2C busses
Level Shifter for Serial connections (duet is 3.3v, 328p is 5v)
A button for pausing, a LED to show we are alive and a case to show off
All the software is complete and tested, this was more than half the work..
I include the full KiCad project, exported Gerber Files and more.
The compact single-sided PCB is optimised for home production with a CNC or chemicals. It has generous pads, tracks and clearance widths.
I do not provide detailed build instructions; You need to be confident you can do things like 3d print cases and make PCB’s if you wish to follow this project. All the sources are provided but none of the technique ;-)
The two OLED display panels have fixed I2C addresses which conflict; so I create two separate I2C busses on the controller in software to drive them independently.

The completed project:

Only displays very basic info: Status, tool and bed status + temperatures, percentage printed.
Periodically sends M408 S0 status requests to the controller and processes the Json reply to obtain values.
Responds to some ‘config’ Json for update speed, brightness, timeouts and more
Sleep mode when controller reports PSU off, (configurable).
Activity LED and Pause button are fully configurable.
Clearly shows when heaters are in a fault state.
Plug-n-play with panelDue UART port, powered by the port itself.”

Link to article