-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Your new community enhanced experience for X1 and X1C printers
TEST git commit
Following initial install of X1Plus, if you wish to continue to use custom firmware, never use the OEM firmware or Bambu Handy to upgrade or downgrade your firmware. If you ever use the OEM firmware or Bambu Handy to perform future upgrades or downgrades on your printer then it may be possible for the manufacturer to stop installation of custom firmware. Only perform upgrades in the ways recommended below:
X1Plus upgrade files are provided in .x1p format (eg. 1.0.x1p ) and can simply be copied to the root of your micro SD card (ideally via FTP/SFTP) and then on reboot, select "Startup Options", then "Start X1Plus installer", and select the appropriate file version from the drop-down menu.
New .x1p versions can be found here
Similar to the initial install of X1Plus, it will soon be possible to use a desktop installer to update to the latest version.
X1Plus runs directly off your micro SD card. When booted into X1Plus, never remove your micro SD card. The SD “Format” button in the UI has been removed from X1Plus so you do not inadvertently wipe your running X1Plus install!
If your normal printing workflow involves removing the micro SD card to transfer files to your printer, we'd recommend using FTP/SFTP instead, or only transferring files while your printer is powered off.
As anyone used to using Raspberry Pis knows, micro SD cards are not always particularly reliable and can sometimes fail with no little notice, or in weird ways. You can mitigate against these issues by using high endurance or industrial cards, but it may be prudent to have more than one card with X1Plus installed on it.
Due to minor changes to OEM features, our documentation here may overlap or vary slightly from Bambu's OEM documentation, but for reference that's available here. We would recommend still reading the guides and documentation from Bambu Lab even if you plan to run CFW full time. Features which do not really differ from OEM firmware are not mentioned in this guide.
On this page, there are a number of quality of life improvements made to the OEM firmware.
- Network: Bambu Cloud
- Printer has full access to the internet + bambu cloud. All outbound connections are allowed.
- Network: LAN
- Printer connections are restricted to LAN by software-based permission checks performed internally within the firmware.
- Network: LAN + shield
- An enhancement to LAN mode that uses linux iptables to block outbound connections from the printer. Outbound UDP (for example, DNS, NTP and SSDP) and outbound ICMP are not blocked. The purpose behind this enhancement is to block outbound connections at the OS level, so even software bugs or malware would not be able to establish outbound connections.
This is used to toggle the SSH server as well as rotate the SSH password. The user for SSH is ‘root’. The SSH server is disabled by default.
In this screen you can see all of the firmware versions for individual components of the machine. You can tap on each item for more information and to see the hardware revision for that component (if applicable).
The screen lock provides a low-security anti-tamper option for curious hands, public spaces etc.
- Screen Saver Only
- Provides simply a screensaver, similar to stock
- Swipe to unlock
- Classic swipe-to-unlock mode
- Passcode
- Basic numerical password protected lock screen
- Once you've set a passcode, you can unset it by clicking to set it again and not entering a code.
- If you ever forget your screen lock passcode, you can reset it using the ‘Reset X1Plus settings’ in the bootloader menu.
- In here you can see various statistics for your printer and AMS units (if attached). This data can be helpful when determining when to replace the consumables within your AMS.
- You can also tell your printer that you've lubricated your lead screws (even if you haven't and you're called Joel)
On this page you can run a bed mesh calibration routine (in a similar manner to you can on OEM firmware before a print), but you can also then visualise the measured data to assist with tramming or to establish whether there your bed is warped. If this routine shows that your bed is out of tram, you can run the guided tramming routine to level correct this. This may be needed after the replacement of a heatbed sensor, or a complete bed.
The Vibration Compensation (also known as input shaper) is used to identify resonant frequencies in the printer’s motion system and apply a shaped output of the printers movements in order to reduce ‘ghosting’ on prints. Calibration is done automatically and the data is exported and viewed as a graph. Major shifts in resonant frequencies without relocation can indicate that your printer requires maintenance. The compensation routine within the custom firmware uses a slightly altered frequency range vs stock firmware because this altered range appears to result in a greater calibration success rate.
This is a built-in terminal providing root shell access to the printer via on-screen keyboard, as well as a console for sending live G-Code commands. As all shell commands are sent as root, it's quite easy to cause irrecoverable damage to the printer firmware, so be very careful.
Here you can re-map the physical buttons on the top of the printer to perform custom actions.
Two actions for each button can be saved, and the duration of the button press determines which action is executed. A "short press" is detected when either the e-stop or power button is held down less than 850 milliseconds, while a "long press" is any button press that's held down for over 850 milliseconds.
X1Plus sets the following actions as defaults for the power and e-stop buttons:
Power button
Short Press: Toggle LCD
Long Press: Reboot
E-stop button
Short Press: Pause print
Long Press: Abort print
You can adjust each of these settings, and the changes to the defined actions take effect immediately. Please note that the e-stop button functions differently than it does on stock firmware, and it will immediately abort your print rather than displaying a dialog box asking if you want to abort.
The "Set Temp" action will only be run if the printer is not running a print or calibration sequence. Each button can be mapped to set the bed or nozzle temperature to the value specified.
The "Run Macro" action allows you to run a Gcode file or a Python script with a button press. To test this feature, a sample macro is provided in /usr/etc/macros/preheat.py
. Any changes you make to this script will be overwritten when you update X1Plus, so it is recommended to store your macros on your SD card. The sample macro lifts the build plate up to the toolhead and enables the bed heater and fans, and then it will monitor chamber temperature until it reaches 45°C (or the temperature you have set).
You may personalize both the home screen, printing progress screen, and screenlock images by uploading files to your SD card to the default filepaths listed below or to custom filepaths which can be defined in /config/screen/printer.json
.
Home screen image:
Default: /x1plus/printers/<serialnumber>/images/home.png
Custom: cfw_home_image
Printing progress screen image:
Default: /x1plus/printers/<serialnumber>/images/printing.png
Custom: cfw_print_image
Lock screen image:
Default: /x1plus/lockscreen.png
Custom: cfw_lockscreen_image
Images with a transparent background are recommended. Aspect ratios are preserved, but if an image with a large filesize is selected, this can create lag in the UI, so it is recommended to scale file sizes down ahead of time.
You can also add text and imagery to the X1Plus lock screen, see Screen Lock
If you want to skip the X1Plus boot prompt during startup and boot right into X1Plus, you can enable this by placing an empty file with the name "quick-boot" (minus quotes) in the directory x1plus/printers/<serialnumber>/ on the SD card. Upon bootup, if no new .x1p update files are found on the root of the SD card, the printer will boot right into X1Plus. Note that if uninstalled .x1p files are found on the root of the SD card, you will be shown the normal startup menu.
You can backup the contents of your emmc to SD card by placing an empty file with the name “dump-emmc” (minus quotes) in the directory x1plus/printers/<serialnumber>/ on the SD card. Upon bootup, the emmc will be backed up to a file named emmc.bin in the same directory. Approximately 3.7gb of free space on the SD card will be required and the process will take 5-10 minutes. The idea with an emmc backup is that tools may be developed in the future to allow even severely bricked printers to be recovered using an emmc backup image.
VNC control of your printer permits remote control of functions that are only accessible via the printer's screen. You can also take screenshots of UI elements or faults using this method.
SSH login to the printer and run the script
/usr
8646
/bin/start_bbl_screen_vnc.sh
and you can connect to the printer with a VNC client on the default port 5900. Screen responsiveness will be relatively slow due to the slow wifi speed, although this is still improved compared to stock firmware.
X1Plus will accept and use NTP time servers provided to it via DHCP option 42.
You can use the command ntpq -p
from the terminal to confirm that this is working.
Correct time is not critically important on the X1 series of printers, but without it, anything that gives a time (eg. calibration results) may not display correctly. A local network NTP server can facilitate correct time without giving the printer direct access to the internet.
It's worth noting that this camera was previously inaccessible to end-users, which is what makes it particularly exciting now.
⚠ However, it's important to be aware that executing this script will stop the GUI on the LCD screen, and you may have to reboot your printer to return to the normal screen. Proceed with caution. ⚠
Executing the script located at /usr/bin/camera_debug.sh
enables real-time viewing of images from webcams. Option 10, in particular, streams video from the second webcam positioned near the Lidar sensor to the LCD screen. The image will be displayed in a small rectangle and may appear very dark, potentially appearing entirely black on the screen. Activating the Nozzle LED beforehand from the Gcode Terminal on the printer's LCD GUI could be helpful in such situations.
Currently, this feature may not seem very useful. However, it holds potential for creating interesting timelapses or videos in the future.
If your screen service needs a restart, you may use this command from the SSH console: /etc/init.d/S99screen_service restart
. This is especially useful after running VNC server or camera debug scripts, as they may stop the screen service.
It is still recommended to reboot your printer after running those scripts to ensure that all scripts are launched in the order they are intended.
-
Start X1Plus from SD card
- Loads the X1Plus you have installed on the currently inserted SD card
-
Start X1Plus installer
- The preferred method for upgrading your X1Plus installations. Place the latest .x1p file in the root of the SD card and use this option.
- Reset X1Plus Settings
- Resets X1Plus-specific configuration settings to default. For example resets the screen lock PIN.
- Emergency Recovery Console
- Starts up a number of features (ssh, serial console, etc) intended to allow troubleshooting and repair of a broken X1Plus bootloader. EXTREMELY DANGEROUS! It is very easy to permanently brick your printer using the recovery console.
- Start built-in firmware with updater disabled
- If you absolutely need to boot into the OEM firmware, this option will try to disable the OEM update function to prevent inadvertently erasing the bootloader and losing your ability to run or install X1Plus. Still, tread with extreme caution when running the OEM firmware, operating in LAN mode and avoiding use of Bambu Handy is still highly recommended.
- Start built-in firmware unmodified
- Can be dangerous if you intend to retain your ability to run or install X1Plus. Not generally recommended.