| What | Status |
|---|---|
| Klipper | WIP |
| Katapult for Klipper | WIP |
| Use stock display with klipper | WIP, almost complete |
| Flash Klipper from Display | WIP |
| Flash Klipper to Display via update | Planning |
| No modifications required | WIP |
| Orcas Slicer | WIP |
| Cura | Maybe |
| What | Status | Notes |
|---|---|---|
| Assisted bed leveling | Not started | Custom implementation needed |
| Assisted nozzle alignment | Not started | Custom implementation needed |
| CAN Bus | Not Planned | Dubious benefit, needs firmware support |
| Display | WIP | Bootloader not locked, OS is rooted, see own section |
| Endstops | Working | |
| Extruders | Working | |
| Fans | Working | Untested: Chamber Fan, Backside part cooler. |
| Filament Sensor | Open | Custom-Implementation needed in Klippy, Klipper does not work with ADCs |
| Firmware flash via display | Open | |
| Heater | Working | Extruder & bed |
| LED | Working | PWM dimmable |
| Microcontroller | Mostly working | Mostly basic things needed for printing. |
| Nozzle Diameter Detection | Not started/planned | Dubious benefit |
| Power Loss Recovery | Not started/planned | Really needed? |
| Scripts | WIP | Basic functionality working , only single extruder tested in slicer |
| Serial | Working | Back USB port with integrated CH340E working |
| Stepper & Drivers | Working | Working, Tuning needed, Y too noisy, 1.4A too much? |
| Temperature Sensors | Partially Working |
Working: Extruder, needs verification/calibration, bed Non-working/tested: MCU, “chamber” |
| TMC 2209 Drivers | Working | Standard, UART and Diag/StallGuard (not used as physical endstops exist) |
| What | Model | Documentation | Notes |
| Board | Quectel SC20-W (not - WL!) | 8GB Flash, 1GB RAM | |
| CPU | Qualcomm MSM8909 (ARM Cortex-A7) | ||
| Linux | Kernel 3.10.49 Qualcomm modified | Many firmware blobs | |
| Display |
| What | Status | Notes |
|---|---|---|
| Booting Linux | Works | lk2nd + kernel 6.12.1 https://github.com/msm8916-mainline |
| UART | Works | UART1 → MCU, UART0 → Debug, |
| USB | Works | Host/Device mode works, role switching |
| Display | Works | simpledrm with 24bpp currently, console is shown, Brightness control |
| Touchscreen | Works | |
| Bluetooth | Untested | Device starts, no testing |
| X11 | Works | Needed for KlipperScreen |
| WiFi | Works | Works stable, 2.4/5Ghz (no DFS), and WPA2 (not much more tested) |
| Full OS | Works | Armbian (Debian Trixie) works, MainsailOS works |
| Klipper | Works | works |
| Klipper Screen | Works | works |
| Flashing from Android | Open | |
| Camera | Not planned | May be feasible, but needs at least soldering or more hardware, USB cam possible |
Picture of the backside of the Display PCB:
| No | Description |
|---|---|
| 1 |
FFC cable connector carrying:
|
| 2 | Switch for Device or Host mode, the ID pin is ignored, in Device mode, 5V must be provided by the remote device or the interface won't become active. On = Host mode (for USB sticks an so), Off = Device Mode, including ADB, Fastboot & EDL |
| 3 | Debug UART, for the Snapdragon it's the primary UART, but for the SC20 it's the secondary UART. Important: 1.8V only. Upper pin: TX, lower pin RX. I soldered cables for RX & TX directly onto the castellated pins of the SC20, and used a USB UART adapter with 1.8V support. |
| 4 | Unpopulated level shifter. The test pads above the field and the traces to the SC20 would be connected by a level shifter for 1.8V. Either solder a 1.8V compatible level shifter to the pads or use a 1.8V capable UART soldered to the SC20 or to the testpads and bridge the empty pads |
| 5 | EDL button. Keep pressed during boot to enter EDL mode. |
Mine:
Original
$ lsusb
Bus 001 Device 011: ID 05c6:9008 Qualcomm, Inc. Gobi Wireless Modem (QDL mode)
# ./edl
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2025.1
main - Trying with no loader given ...
main - Waiting for the device
main - Device detected :)
sahara - Protocol version: 2, Version supported: 1
main - Mode detected: sahara
sahara -
Version 0x2
------------------------
HWID: 0x009600e100000000 (MSM_ID:0x009600e1,OEM_ID:0x0000,MODEL_ID:0x0000)
CPU detected: "MSM8909"
PK_HASH: 0xcc3153a80293939b90d02d3bf8b23e0292e452fef662c74998421adad42a380f
Serial: 0x23a30b59
sahara - Possibly unfused device detected, so any loader should be fine...
sahara - Trying loader: /root/edl/edlclient/../Loaders/qualcomm/model_generic/msm8909/009600e100000000_cc3153a8029393 9b_fhprg_peek.bin
sahara - Protocol version: 2, Version supported: 1
l# ./edl printgpt
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2025.
main - Trying with no loader given ...
main - Waiting for the device
main - Device detected :)
main - Mode detected: firehose
Parsing Lun 0:
GPT Table:
-------------
modem: Offset 0x0000000004000000, Length 0x0000000004000000, Flags 0x1000000000000000, UUID 256e5070-df22-7687-dfc9-d91b65d7e5ea, Type EFI_BASIC_DATA, Active False
sbl1: Offset 0x0000000008000000, Length 0x0000000000080000, Flags 0x0000000000000000, UUID 5b461e03-821f-8e01-c6a0-58fe06f5b9d8, Type 0xdea0ba2c, Active False
sbl1bak: Offset 0x0000000008080000, Length 0x0000000000080000, Flags 0x0000000000000000, UUID c435bbde-9bf4-876b-267d-e90746ec113c, Type 0xdea0ba2c, Active False
aboot: Offset 0x0000000008100000, Length 0x0000000000100000, Flags 0x0000000000000000, UUID 1563b682-0972-1e85-977d-773082bbf308, Type 0x400ffdcd, Active False
abootbak: Offset 0x0000000008200000, Length 0x0000000000100000, Flags 0x0000000000000000, UUID a06d7d6b-c56a-f9d6-bbed-f6b1627a0054, Type 0x400ffdcd, Active False
rpm: Offset 0x0000000008300000, Length 0x0000000000080000, Flags 0x0000000000000000, UUID 9da4370e-0bf4-1d72-6d4c-1e9feadcc2cd, Type 0x98df793, Active False
rpmbak: Offset 0x0000000008380000, Length 0x0000000000080000, Flags 0x0000000000000000, UUID be7947bf-20eb-d482-20e8-1015a339cdda, Type 0x98df793, Active False
tz: Offset 0x0000000008400000, Length 0x00000000000c0000, Flags 0x0000000000000000, UUID e22aaf3d-9a4c-5f83-f013-49962b151d32, Type 0xa053aa7f, Active False
tzbak: Offset 0x00000000084c0000, Length 0x00000000000c0000, Flags 0x0000000000000000, UUID 7cad31b2-fee0-788d-de29-c385ef7f8f10, Type 0xa053aa7f, Active False
pad: Offset 0x0000000008580000, Length 0x0000000000100000, Flags 0x0000000000000000, UUID e8628193-27fb-d671-111c-dfb2f7c8ef3c, Type EFI_BASIC_DATA, Active False
modemst1: Offset 0x0000000008680000, Length 0x0000000000180000, Flags 0x0000000000000000, UUID 5378dca5-f292-ee65-c06b-54430f26f690, Type 0xebbeadaf, Active False
modemst2: Offset 0x0000000008800000, Length 0x0000000000180000, Flags 0x0000000000000000, UUID 255d5e3e-fb44-0cf0-f008-12b8675744d0, Type 0xa288b1f, Active False
misc: Offset 0x0000000008980000, Length 0x0000000000100000, Flags 0x0000000000000000, UUID e159b334-c883-df73-33d0-30ce074f598f, Type 0x82acc91f, Active False
fsc: Offset 0x0000000008a80000, Length 0x0000000000000400, Flags 0x0000000000000000, UUID 3318f4af-c4d7-8677-cd3a-b846aa7c3963, Type 0x57b90a16, Active False
ssd: Offset 0x0000000008a80400, Length 0x0000000000002000, Flags 0x0000000000000000, UUID b6d22a25-25e5-3dbd-7bef-c117841908ee, Type 0x2c86e742, Active False
splash: Offset 0x0000000008a82400, Length 0x0000000006400000, Flags 0x0000000000000000, UUID 73a4b5cb-8830-4ac8-5d75-4057f866d92d, Type 0x20117f86, Active False
DDR: Offset 0x0000000010000000, Length 0x0000000000008000, Flags 0x1000000000000000, UUID afe07d78-bdf9-199f-8a75-3a47ccf167ae, Type 0x20a0c19c, Active False
fsg: Offset 0x0000000010008000, Length 0x0000000000180000, Flags 0x1000000000000000, UUID 8a6b8ef3-903e-e0de-e7e6-68e27536c9bb, Type 0x638ff8e2, Active False
sec: Offset 0x0000000010188000, Length 0x0000000000004000, Flags 0x1000000000000000, UUID 423e4b4f-331e-f021-a5f5-666c10356628, Type 0x303e6ac3, Active False
boot: Offset 0x000000001018c000, Length 0x0000000002000000, Flags 0x1000000000000000, UUID d3fc79cf-6307-7a9b-4bd1-d1183bce500b, Type 0x20117f86, Active False
system: Offset 0x000000001218c000, Length 0x0000000060000400, Flags 0x1000000000000000, UUID 91cd5cb5-69e1-b01f-6e13-2ce4394f1652, Type 0x97d7b011, Active False
persist: Offset 0x000000007218c400, Length 0x0000000002000000, Flags 0x1000000000000000, UUID 2336fb1a-136d-dd79-ac55-0055cf5f0339, Type 0x6c95e238, Active False
cache: Offset 0x000000007418c400, Length 0x0000000010000000, Flags 0x1000000000000000, UUID ccab3a1c-4c2b-deda-2a37-87f116bb70c6, Type 0x5594c694, Active False
recovery: Offset 0x000000008418c400, Length 0x0000000002000000, Flags 0x1000000000000000, UUID a7126d09-5099-a978-9e90-de926331a132, Type 0x9d72d4e4, Active False
devinfo: Offset 0x000000008618c400, Length 0x0000000000100000, Flags 0x1000000000000000, UUID dd328e16-c458-9792-ed5b-101ae27f038d, Type 0x1b81e7e6, Active False
keystore: Offset 0x0000000088000000, Length 0x0000000000080000, Flags 0x0000000000000000, UUID b5d66cec-21ce-3b6c-a137-925a4f467c6f, Type 0xde7d4029, Active False
oem: Offset 0x0000000088080000, Length 0x0000000004000000, Flags 0x0000000000000000, UUID e81d22e7-4b6d-6ce4-fbd4-1cf093f5aa3b, Type 0x7db6ac55, Active False
config: Offset 0x000000008c080000, Length 0x0000000000080000, Flags 0x0000000000000000, UUID 1124d49b-8842-2ea8-528c-523f36cf2a92, Type 0x91b72d4d, Active False
reserve1: Offset 0x000000008c100000, Length 0x0000000008000000, Flags 0x0000000000000000, UUID e4d674fc-a706-8ba5-ea78-209772433b6b, Type 0x7db6ac55, Active False
reserve2: Offset 0x0000000094100000, Length 0x0000000000a00000, Flags 0x0000000000000000, UUID da928cd5-ed59-bb81-7378-c82e7680aae4, Type 0x7db6ac55, Active False
reserve3: Offset 0x0000000094b00000, Length 0x0000000000a00000, Flags 0x0000000000000000, UUID 55b98923-2d53-234e-70aa-c33f85baade0, Type 0x7db6ac55, Active False
reserve4: Offset 0x0000000095500000, Length 0x0000000001000000, Flags 0x0000000000000000, UUID 77cf2096-31bb-7773-6a8c-47daea1dd426, Type 0x7db6ac55, Active False
userdata: Offset 0x0000000096500000, Length 0x000000013bafbe00, Flags 0x0000000000000000, UUID 332d0be5-2808-8293-1886-0ddc13de4b18, Type 0x1b81e7e6, Active False
Total disk size:0x00000001d2000000, sectors:0x0000000000e90000