A picture of an Xtouch screen

If you have a P1 series Bambu Lab printer, you are probably already familiar with Xtouch; for those who might not be, Xtouch is open-source software that allows you to transform an ESP32 touch screen into an advanced controller and monitoring device for your Bambu Lab printer.

Last week, we interviewed Pedro Casaubon Aguilar (aka xperiments), the main developer of Xtouch, about Xtouch itself and its future following Bambu Lab’s communication.

AllAboutBambu: Who are you?

Pedro: I’m Pedro Causabon Aguilar, a Spanish web developer living in France. I have developed most of what Xtouch is today with the help of a few people for testing and finishing small parts of the development.

How did you come up with the idea of Xtouch?

I have been a front-end web developer for most of my career, but I am very curious and like to touch on various aspects of computer science. I have been willing to explore the hardware side of things. I have lots of experience with Arduino, and since last year I have been designing PCB boards.

Like many, I was frustrated that the P1 series didn’t have a nice touchscreen. Since I’m a developer with some experience in the field, I decided to remedy that problem.

Were there a lot of challenges for you when developing Xtouch?

Many people often ask me how I knew to use the MQTT protocol to talk with the printer. I received help from one of the Home Assistant maintainers (username “Wolfwithsword”). For the rest, I looked into Bambu Studio’s code. Bambu Studio is open-source and uses the MQTT protocol to talk to the printer, so everything I needed was readily available.

Many people expect to configure their AMS using Xtouch. Is this something you are working on?

The AMS feature is ready; it has been for months. I wanted this feature out for the release of Xtouch on a 5-inch screen, but Bambu Lab said at the end of last year that MQTT was going away, so everyone paused their development. But now that Bambu Lab has communicated that it’s not going away for at least a year, a year-and-a-half, I will continue the development. I still have to implement the user interface for the 2.8-inch screen before this feature can be fully ready.

Xtouch is open source; do you intend to keep it as is?

The short answer is “Yes.” The longer one is a bit more complicated. Xtouch has been published under a double license. I want Xtouch to stay free and open for every individual, but I do not want a company to make money off my work. That’s why Xtouch is published under GPLv3 for everyone but under a Commercial License for OEM.

With the GPLv3, you can do whatever you want with the code as long as the modifications are published in open source under the same licensing. Also, the code on Github reflects the published firmware, so you can always modify the code and stay up-to-date.

OEMs must first agree to a distribution agreement with me.

Can we contribute to Xtouch? Do you accept pull requests?

This part is a little bit tricky. Because of the double licensing, I cannot accept pull requests. People would have to forfeit their right over the code and give it to me. I know of other projects with similar licensing that have been able to do it, but I haven’t looked into it yet.

Bambu Lab recently released an article about their stand on the broader ecosystem. They targeted you and BigTreeTech’s Panda Touch and stated that you should not expect long-term support from them unless they approve it in advance. Are you in contact with them? Can we expect Xtouch to continue working in the future?

I have had contact with Bambu Lab, which has always been friendly. They are doing their best to do what’s best for their customers. I don’t think they will care about my opinion when building their new API, but I’m fairly confident they’ll reach out when they have something to test to let me react to the change before it is fully deployed.

I don’t know yet if their new APIs will include all the features I need for Xtouch; only time will tell.

What is the future of Xtouch?

As I have recently communicated on the Discord server, I have been diagnosed with stomach MALT lymphoma. This has understandably slowed down the development. However, I’m approaching this with optimism and determination.

I remain committed to developing Xtouch while prioritizing my health. And I’m excited to announce that I’m working on the roadmap for Xtouch version 2, which will include significant enhancements. One of the key features is the support of a larger 5-inch screen, offering users an even more immersive experience. Version 2 will also include the AMS functionality, access to files stored on the Xtouch’s SD card, and a new skip object for the 5-inch display.

I don’t have a release date yet, but I expect people will soon be able to try the 5-inch version.

Is there a way for users to try the new features before release?

People interested in becoming beta testers can contact me on the Discord channel.

Is there anything else you would like to add?

I have been overwhelmed by the community’s kindness and how well Xtouch was received. Xtouch is not the only hardware modification made to Bambu Lab printers; other projects, like the BBLed by the Dutch Developer and the BentoBox, are amazing, and we will work together so that the products can integrate seamlessly with one another.