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.
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 3.0
- RepRapFirmware 3.1.0
- RepRapFirmware 3.1.1
- RepRapFirmware 3.2
- RepRapFirmware 3.3
NitroFreak last edited by
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
zapta last edited by
@seeul8er, looks awesome!
Any plans making it to work also with RRF2? IIRC it has slightly different HTTP protocol but not 100% sure.
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.
Danal last edited by
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.
dragonn last edited by
It looks really nice, polished. But I don't like have it WiFi connected. Do you plan also supporting serial connection to Duet?
Danal last edited by Danal
@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.
A Former User last edited by
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!
bberger last edited by
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.
@droftarts NIce. I'm OK with that
Colten last edited by
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 idf.py 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
externals/lv_port_esp32/components/lvgl/lv_conf.h. You can find lv_conf_back.h in the dev branch.
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.
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.
pd last edited by
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.
pandaym last edited by pandaym
Anywhere to get working hardware for this inside the EU?
@pd Sorry for the late reply! Can you share the link to your display, because there are multiple very similar versions of it and I already had a user that bought the wrong one I clarified it inside the GitHub project page. Can you also share the wiring and a picture of what you can see on screen?
It is not necessary to connect the Duet. The app should start anyways.
@pandaym Hi, the ESP32 is not an issue since it is generally available. I ordered the display directly from china. Since it was below 22€ it is tax free and shipping was OK-fast. There may be other ili9488 displays with SPI (+ supported touch controller) and the same resolution that work and that you can get within the EU. However, I have not tested any of them.
PCR last edited by
Dear @seeul8er ,
would you be intrested in a PCB. I will order some PCBs for other projects in China. If you want i could design one!
@PCR I already thought about it but wanted to keep it as simple as possbile for others to follow for now. Non the less a custom PBC would be awesome!
And if you are willing to give it a try why not.
With that we would get a couple of options to choose from. We could dump the pin headers of the TFT module and use an FCC cable. The DevKit would also not be necessary since the ESP module could be soldered directly to the PCB. Or keep the devkit and and solder it to the PCB since it offers USB power and serial for a low price.
The software does only support SPI connections so a 8bit parallel interface is currently not possible.
A Former User last edited by
the ESP module could be soldered directly to the PCB
how much flash do you need? (ESP8285 is cheaper and smaller but only 1MB)
@bearer Hardware-wise the ESP8285 is not enough (especially RAM - kind of maxed out on the ESP32). The image needs 1.4 MB at the moment. The software only supports the ESP32.
pandaym last edited by
I really like your solution, and decided to try and grab a few pieces for it, as I was already ordering a lot of other stuff off Mouser.com
Since stuff like this is COMPLETELY new to me, could you maybe take a look at these parts I grabbed and see if you think it will work?
I have no idea where to begin, but I will figure that out I would just like to know if I overlooked something in the specs for the stuff I needed to find. I just went for ESP32 devkit and from the details of the screen, I saw it was 320x480 and had SPI connection: https://www.seeedstudio.com/3-5-Inch-TFT-Display-for-Raspberry-Pi-Resistive-Touch-Screen-p-2248.html