RepPanel - A DIY alternative to the PanelDue with WiFi support

  • RepPanel is a user interface for Duet based 3D printers. It is a cheaper alternative to the already available PanelDue. It uses the ESP32 and is optimized for 3.5" displays. If you source the hardware yourself it costs around 25€-30€.
    A big difference to the PanelDue is that the RepPanel does not have to be connected via cable to the printer. You can put it up anywhere in your WiFi.

    RepPanel print job status display
    RepPanel running on ESP32

    Link to a video:

    It is not intended to be a replacement for Duet Web Control. If you just want a display for your printer you still might be better off using the PanelDue, since it does not involve sourcing the hardware, compiling & flashing the firmware. However, if you have a little experience with tinkering it is fairly easy to set up and you'll be rewarded with a cheap and cool looking printer control πŸ™‚

    Tested with Duet2 WiFi running

    • RepRapFirmware
    • RepRapFirmware 3.0
    • RepRapFirmware 3.1.0
    • RepRapFirmware 3.1.1

    GitHub Repository
    Personal Project Page

  • Really cool! I like the interface
    ItΒ΄s perfect if you just want to have a glance at it to see how far it is

  • @seeul8er, looks awesome!

    1. Any plans making it to work also with RRF2? IIRC it has slightly different HTTP protocol but not 100% sure.

    2. Do you run it on battery? If so, what kind of battery life to you get?

  • @zapta RRF2 is on the list. I guess the JSON responses have changed a bit.

    I am powering it with a 5V phone charger. A USB power bar should be fine as well.

    According to my reasonably priced USB power meter, the system consumes the following:

    • Connected to WiFi + Display backlight on + No Requests: ~0.7W (0.13A, 5.22V)
    • Connected to WiFi - No Display backlight + No Requests: ~0.32W (0.06A)
    • Connected to Wifi + Display on + Requesting stuff from Duet: ~0.9W (0.14-0.2A)

    I do not think the display needs to be always on. Nor does it need to update the screen when the display is off. Implementing some sort of idle mode would be useful I think. That way powering it with a power bar should be no issue. You can still hook it up to a phone charger or your computers USB port. Boot times are also very quick, like 2 seconds quick. Simply powering it on and off would also be a solution.

  • If you want to make it work with both RRF2 and 3, here is a possible jump start:

    It is a little abstraction layer I wrote for that very purpose. Absolutely NOT a general interface, just a set of methods that work on both releases.

  • It looks really nice, polished. But I don't like have it WiFi connected. Do you plan also supporting serial connection to Duet?

  • @dragonn Planned βœ…

    @Danal I am using the same calls as DWC for getting the data in WiFi mode. Seems the requests (rr_gcode etc.) haven't changed.

  • @seeul8er said in RepPanel - A DIY alternative to the PanelDue with WiFi support:

    @dragonn Planned βœ…

    @Danal I am using the same calls as DWC for getting the data in WiFi mode. Seems the requests (rr_gcode etc.) haven't changed.

    Agreed. Network type, WiFi v Ether v ... is not relevant. the /rr_commands work via any form of IP connectivity.

    However, I was referring to V2 firmware vs V3 firmware. The calls are different for V3, and so is the returned JSON object.

  • I think I'd opted for a optional $2-3 DT-06 wifi module with esp-link firmware or something to plug into the PanelDue port. Would give you the same g-code interface to deal with regardless of wired, wireless, rrf2 or rrf3.

    Looks good though!

  • Can you send me a few links for sourcing the hardware please. I want in on that project. This is exactly what I have been looking for and thinking about the past few weeks!


  • @bberger Cool! It's all in the GitHub repo, but I sent you a PM.

  • Moderator

    @seeul8er Someone (probably @Phaedrux) has added this to


  • @droftarts NIce. I'm OK with that πŸ‘

  • seems to be some issues compiling what is in the git repo under windows. some define's and some missing font functions. I don't know enough about to begin fixing the issue however.

  • @Colten I know. Should be fixed within the development branch. The current way is that you need to copy file content of main/lv_conf_back.hover to externals/lv_port_esp32/components/lvgl/lv_conf.h. You can find lv_conf_back.h in the dev branch.

  • Hi guys!
    I am very happy to finally release v1.0.0 of RepPanel. It now supports UART/PanelDue wired connections as well as WiFi. All connections can be hot-swapped.
    I also fixed lots of bugs related to memory issues. You can now have up to 16 macros/jobs per directory with file names up to 63 characters.

    RepPanel with prototype case
    I also tried to design the first prototype for a case. Still needs some tiny improvements but it already is very compact and clean. Together with a simple circuit board it is only 25mm thick. The images do not reflect the quality of the screen well. In reality, the contrast is a lot better.

  • First release of RepPanel
    First test of RepPanel

  • Hi

    I have just started trying to get this to work as I have several applications. I have flashed the software onto an ESP devkit and connected your recommended screen. I have not however connected it to a duet board. I had hoped at least part of the screen would show up but I only get a faint outline in the top left hand corner. I suspect I have made a mistake in connecting to the screen but I would be grateful if you would confirm that is the case. Or does the duet need to be connected.

Log in to reply