So; this is what I did to prove to myself that I could. Maybe for my CV, I had fun and learned a lot doing this. Enjoy, or ignore, as you wish.
PrintEye is a minimalist information panel for Duet boards; it plugs into the DanelDue UART port, taking power from there and sending
M408 S0 once a second, and otherwise waiting for a reply and updating the display based on their contents.
It consists of a ATMega328P on a simple standalone board, linked to 2x 0.96' I2C OLED displays, a LED, a Button, and two mosfet level converters for the serial connection to the 3.3v UART on the Duet board.
The Primary connector for the Board doubles as a FTDI programming port, allowing me to update and debug without yanking the CPU out of it's socket. There is no reason why the current cable could not be adapted to the spiffy new 5-pin IO connector of the Duet3 and then that port configured as a UART. Afik the D3 does not have a dedicated panelDue port,
The displays I used have hard-set identical I2C addresses, to avoid using a multiplexer I create two separate software I2C interfaces, one per display, this works surprisingly well. The U8x8 Arduino library handles all the heavy lifting on the display side.
Most of my effort went into the software, which:
- Follows printer status; can turn displays off when printer is in psu-off mode. (configurable)
- Heartbeat/Status LED; brightness configurable.
- Pause/Resume button; configurable on/off and hold-down time.
- Bed plus selected tool heater set and actual temps are reported; as are 'off' and 'fail' states.
- Screen brightness, timeouts, etc are all configurable.
I have also written this up as a formal project on Hackaday, with archives, gallery and a better summary but lacking very detailed instructions, I assume you know which end of a soldering iron to pick up etc..
My plan for the V2 of this drops the displays in flavor of a LED dot-matrix (16x2) and four servos plus these; for a mad plan to put a delta printer into a 70's era Tardis console. Possibly.