Duet3D Monitor - Adding a big status light to your printer.
This is an experimental project to have large led indicators with the printer status using data sniffed from the PanelDue serial communication. The pictures below are of the current (second) prototype. It is based on a Teensy LC with an Arduino sketch, an isolated 24/5V DC DC, a small strip of WS2812B RGB leds, and a diodes and a resistor.
Overall I find it to be very useful. When the printer is busy the light is white which also helps the Wyze webcam at night. Once the print is completed and the extruder cools down to 70C the light changes to green which indicates that it's safe to turn off.
Programming is done via the Teensy USB connector and the USB cable can be removed in normal operation. I chose the Teensy LC because it provides a good balance between cost, computing power, easy to install and use IDE, and having a 5V output to drive the the WS2812B LEDs. To make the thing working on both the DC/DC and USB power (for development), I cut the VIN/VUSB link at the backside of the teensy and am using two Schottky diodes the OR the 5V from the two sources.
All the source files are available here: https://github.com/zapta/misc/tree/master/duet3d_monitor . I will add the kicad files one the PCB design is ready.
Next I will place everything on a small proper PCB and will replace the cheapo DC/DC with digikey 1951-3441-ND
Status update. I created a kicad schematic. Next will create a PCB layout.
Source files here
zapta last edited by zapta
The PCB layout is done and I placed an order with jlpcb. the boards should arrive in 2-3 weeks. Hopefully it will work with no changes. The board is pretty small, 1.4" x 1.95" which is about 5 x 3.5cm. I intentionally used through hole only components to make it easier to build.
All source files are here https://github.com/zapta/misc/tree/master/duet3d_monitor/board
Status update: the PCBs arrived from jlcpcb, I assembled one and everything works like a charm. I also added to the firmware heuristics to display the correct status when PanelDue shows incorrect status when running certain macros, and its also distinguishes between busy and cooling states.
All hardware and firmware source files are available here https://github.com/zapta/misc/tree/master/duet3d_monitor . I consider this project to be done.
bearer last edited by
Thanks for sharing!
Just in time for receiving D1 Mini with buzzer and RGB shields and trying to adapt the code work with the off the shelf hardware. On that note, is there an simple way to "fake" the printing, or print without extruding somehow? (or is the "simple" solution to slice a file and strip out all the E paramters and the commands to turn the heat on?)
oliof last edited by
You could create a manual gcode file with nothing but Dwell commands to test (-:
On that note, is there an simple way to "fake" the printing, or print without extruding somehow?
Use simulation mode?
B0M0A0K last edited by
This post is deleted!
zapta last edited by zapta
A quick update, the monitor now beeps and blinks when the printer is in pause mode, to grab user attention to change filament, etc.
See also related feature request here https://forum.duet3d.com/topic/11417/feature-request-get-user-s-attention-when-in-pause-mode
A short video (it sounds and looked better in real life)
The hacked PCB