U1 custom firmware and toolkit

This is a question for the awesome Snapmaker team.

Firstly, thank you so much for making U1 such an awesome printer and for delivering on time in perfect condition, respected all deadlines.

If I understood your public messaging about U1 correctly, you embrace open source and will be making firmware public at some point.

Until that time, to enable enthusiasts and maybe make some improvements that your team could simply copy into your official firmware, I’ve made a little project.

And now I’d like to make sure that Snapmaker is OK with me publishing it.

Thus far I have:

  • Modified Snapmaker U1’s root system
  • Enabled SSH
  • Gained access and password to lava and root user accounts
  • Wrote a camera streaming script to use HLS/h264 and snapshots
    • added Rockchip-specific ffmpeg and newer v4l2 to get 1080p@30fps and hardware encoding
  • Integrated camera with Moonraker/Fluidd and tested integration with Homeassistant
  • Built and flashed rootfs partition
  • Installed Entware and Debian chroot to get all the tools I need
  • Wrote a toolkit to create USB update files so that I can do this easier in the future and to enable other people to create USB update files to get the same goodies as I.

I am currently testing my toolkit, not sure if it’s good or not but it’s probably going to be fine and enable users to build and flash custom firmware without opening their printer.

Thus far I have not given any of this to anyone nor instructed anyone else on how to replicate this.

Questions:

  • Would it be ok if I published my toolkit, or would you prefer that I don’t?
    • Naturally, there are many warnings and disclaimers about affiliation/endorsment/safety, etc.
  • Would it be ok if my public repo contained your tools that I got from my printer?
    • Those files are: systemUpgrade.sh update updateEngine upfileUnpack
    • I’m fully aware that those are probably copyrighted so I definitely don’t want to do anything that might be inconvenient for Snapmaker, let alone anything illegal
  • Would it be ok if I used my toolkit in CI/CD and published my custom firmware update files?

You can find the proof of work here: Index of /u1work/ . It only contans:

  • video as proof of work
  • screenshot of my vscode (I don’t want to accidentally publish something before your reply)
  • photos of my hardware exploration (also cautious not to show anything that isn’t already in your wiki)

Looking forward to hearing from you and again thank you for making such an amazing printer !

10 Likes

Hi horza! I’m really glad to see your enthusiasm and high praise for U1. I’ll check with the software team and ask them to assess the risks, then get back to you!

5 Likes

Thanks for bringing this to the forum :wink:

1 Like

Nice work!
Seeing the camera in Fluidd is something I really miss too. Especially in LAN mode, so please bring this feature quickly!

I just wrapped up my unpack-modify-pack toolkit development.

It’s now easy for me to implement any feature, keep up with official updates and quickly produce OTA files which can be flashed by anyone via USB like normal OTA, no tinkering required.

OTA file which unlocks ssh/root is ready.

Tomorrow I’ll also make more variants which include my camera server and Entware.

As soon as Snapmaker responds I’ll publish toolkit repo and start taking feature requests there.

3 Likes

Hi horza,

Thank you again for reaching out proactively before release. This is vital to keeping our community safe and respectful. We truly appreciate the exploration you’ve done on the U1 and your willingness to share the details with us.

Community sharing

We welcome developers like you sharing discoveries in the community, and you’re free to post your project on the official forum.

  • We want every user who experiments with firmware to do so only after fully understanding the terms, the risks, and the warranty implications.

  • If you plan to continue developing your toolkit, we strongly recommend placing the following notices at the top of both your GitHub repo and your forum thread:

    • “Unofficial — use at your own risk”

    • “May void your warranty”

    • “Does NOT contain any Snapmaker proprietary files”

About our open-source plan

As previously stated in the U1 Kickstarter FAQ, we will publish the open-source portions of the U1 firmware by the end of March 2026.
At that time, most U1 Kickstarter backers will have received their machines, and we welcome users with ideas and skills to submit changes and engage in technical discussions that contribute to the U1 project.

What firmware does Snapmaker U1 use, and is it open source?

Snapmaker U1 runs Klipper firmware with Moonraker for API management. Both components have been modified by Snapmaker and will be released under an open-source license before March 2026. We also use the unmodified Fluidd web client, which can be open-sourced at any time.

We’re still in a rapid-iteration phase and need additional time to prepare the open-source environment so users can modify the code and run it correctly on U1. Once that work is finished, we’ll publish the code as promised.

Snapmaker has benefited greatly from open-source projects such as OrcaSlicer and Klipper, and we remain committed to complying with open-source licenses and giving back to the community.


To help you and any other developers planning to experiment with firmware customization, please fully understand the possible implications.

We spoke with our firmware team and compiled the key points below (which you need to fully understand before modifying U1 code/configurations):

Functionality & Performance Risks of Third-Party Firmware

Since Snapmaker cannot verify or test third-party firmware, we cannot guarantee that all official U1 features will work properly under third-party firmware. Snapmaker is not responsible for any damage or risks resulting from such modifications.

System-resource & Stability Risks
a) CPU load – excessive usage can trigger communication errors and cause prints to abort unexpectedly.
b) Memory load – too many background services may exhaust RAM and trigger OOM (Out-of-Memory) crashes.
c) Storage space – every partition has a fixed size; overfilling them can lead to unpredictable failures.

Functionality that may be affected, including (but not limited to):

  • Toolhead swapping

  • Multi-toolhead offset calibration

  • Auto-load / auto-unload filament

  • Thermal-runaway protection

  • Online (cloud) control

  • Local or OTA firmware-update flow from the touchscreen

  • Safety-critical logic executed during printing

Hardware Damage or Safety Hazards
If third-party firmware modifications result in functional abnormalities, machine damage, or potential safety hazards (such as fire), these situations fall outside Snapmaker’s responsibility. This is especially the case after official firmware updates, where older modifications may behave unpredictably or become incompatible.

Privacy & Data Risk
Third-party firmware may pose risks of leakage of print files, network data, and personal privacy.

:prohibited: High-Risk Modifications – Strongly Discouraged

The following actions carry extremely high risk and may cause the U1 to fail to boot, making it impossible to recover firmware via the screen/USB drive:

  • Altering the bootloader or kernel command-line

  • Editing boot-configuration files

  • Modifying system partition sizes or names

U1 Terms of Use — Brief Reminder

To make the rules crystal-clear for anyone building or using third-party firmware, the key passages from the U1 Terms of Use are quoted below:

(3) Snapmaker Software and Firmware

  • You acknowledge and agree that Snapmaker Luban, Snapmaker Orca software, and product firmware incorporate customized developments based on open-source projects (including, but not limited to, Orca Slicer, Klipper, and others). Such open-source content is governed by their respective open-source license agreements.

  • The use of open-source software must strictly comply with the applicable license terms. License texts are included with each software package; please read them carefully.

  • Although you may modify the relevant code pursuant to the open-source licenses, any unauthorized modification, flashing, or hacking of the official firmware provided by the Company will immediately void the warranty for your Snapmaker device. The Company shall not be liable for any software or hardware failures, data loss, or other damages arising from user modifications of the firmware.

  • Except for the open-source components mentioned above, this Software (including but not limited to Snapmaker firmware, GUI, system management services, camera services, remote connection services, update services, and product information management services) constitutes the proprietary property of Snapmaker. We grant you a personal, non-exclusive, non-transferable license to use such proprietary software on Snapmaker devices. Regarding this proprietary software, you agree not to:

    • Copy, modify, create derivative works from, decompile, reverse engineer, or disassemble the Software, or attempt to derive the source code therefrom;

    • Sell, rent, lease, sublicense, or distribute our Software without authorization;

    • Remove, obscure, or alter any copyright, trademark, or other proprietary rights notices contained in the Software;

    • Circumvent any technical protection measures contained in the Software.

Thanks again for your contributions and for checking in with us.

Best regards

Snapmaker Community Team

6 Likes

The above is a preliminary plan we came up with after meeting with the software team over the past two days. If you have any other suggestions, feel free to DM me anytime!

4 Likes

This is awesome.

Thank you very much for the fast and positive response. I hope that this additional workload for your team didn’t cause too much inconvenience.

Should I reuse this thread for all discussions and announcements about this firmware/toolkit or open a new one?

My next steps are:

  • Today provide a download link to firmware which only enables ssh and adds custom version info.
  • This week publish toolkit repo (gotta exclude proprietary stuff from it)
  • Next week set up fully auditable CI/CD/hosting for prebuilt images

Btw, I wouldn’t mind if Snapmaker’s official firmware would log and collected the fact that some serial number at some point had this firmware. I deliberately implemented a custom version string so it’s easily recognizable.
I can’t stop other people from disabling that, but my prebuilt images would always keep that feature so that people who blindly download and flash can’t claim warranty. I think it’s only fair because I absolutely agree that custom firmware voids all warranties and support.

5 Likes

@horza @Simon_Zhi Thanks a lot to both of you to make this possible. I am sure there are lots of experienced developers out there who may contribute for the benefit of everyone in the community.

1 Like

I’d keep it here for sure. You or @Simon_Zhi can change topic type to wiki, and first post can be contributed to by others… So we can just keep it updated.
I will add this topic to awesome list after I’m done with “refactoring”.

Or simply change the category of the main post to this subcategory!

First version is out.

  • :warning: I only flashed it, but didn’t try printing because my printer is still open to allow easy access to SoC
  • :warning: Never tested any build on any printer other than mine
    • so, there’s a small chance that it’s gonna fail or worse - mess up eMMC on your printer

It would be best if only people who have experience using rkdeveloptool or dfu tools try it out and report back before anyone else tries it.
Even in the worst case scenario it’s possible to recover thanks to Rockchip’s unbrickable design and I would guide you through that process. But recovery would require opening your printer (wiki replace motherboard).

If it works fine on one printer other than mine, then it should be good for everyone because I’ve been using it for like 3 days now.

Modifications in this version compared to the official firmware:

  • Enable SSH server
  • Change passwords for root and lava users so I don’t out printer’s default passwords
  • Add a small version check page at http://[Printer-IP]/supercharge/version
    • Use this page to verify that it flashed

No, no camera yet. I first have to port my manual modifications into toolkit because I’m building these images in a reproducible way.

Oh, and it’s called :drum: :drum: :drum:

U1Supercharged (u1sc)

Repo is not up yet so you can’t audit the code for now. If you value security and privacy please wait until next week when I’ll have a fully auditable CI/CD set up.

Web is up: https://u1sc.com , there’s an “Install” link in the top menu.
:warning: Please read the warnings on that page :warning:

Happy flashing !

11 Likes

Great to have you here joining the community.
I have made this topic a wiki, so it would get easier to modify it in the future.
If you disagree or I could assist you in the forum, let me know.

1 Like

Please tell me Snapmaker is aware of this and will be porting some of these changes into official, the camera fixes alone are pretty monumental.

they are very much are aware.
Also, there is a much better custom firmware - the one by @paxx12 at Custom Firmware for Snapmaker U1 - Enhanced Features & WebRTC Camera

His has camera fixes implemented whereas mine doesn’t have them yet.

1 Like