Concept:

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.

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:

Software

https://github.com/easytarget/PrintEye

Project time was spent mostly in developing the Software; this was the most challenging part of the equation for me; I learned a lot doing this, which was the whole point of the exercise.

Please read the README file in the software repo for a proper description, requirements and documentation

I developed using the Arduino IDE and programmed the prototype via a FTDI adapter while testing using the serial terminal. The project was nearly complete before it was ever connected to my Duet controller. And when I did that, it worked first time :-)

Hardware

https://github.com/easytarget/PrintEyeHardware

In the release packages and Github repo I have provided the Full KICad project I created; including custom component and footprint definitions for the OLED displays.

The ATMega sits on a standalone PCB; it has a very 'vanilla' crystal and reset circuit; the OLED displays are driven directly, they already have appropriate pullup resistors onboard. The RX/TX serial lines go through a very basic bidirectional 3.3v level converter for compatibility with the Duet controller.

The UART port on the Duet controller provides a 5v power supply; and I designed the PCB with a FTDI connector facilitating in-place reprogramming with any suitable programmer. The Duet is connected via the same connector using an appropriate cable to bring power and serial comms.

PCB

Gerber files for the single-sided PCB are included in the Hardware Repo

Case

The included case is designed to have the OLED panels glued in place. The PCB then mounts onto their connectors.