Repository navigation
Other Printers Experimental
NebulaOS is made for the Creality Ender-3 V3 KE. Underneath it runs ordinary upstream Klipper, so on paper other Creality printers driven by a Nebula Pad could use it too, with a mainboard firmware you build yourself. This page collects what is known about that, for people who want to try.
Experimental, untested, unsupported. We do not have these printers and have not tested any of them with NebulaOS. Nothing on this page is a promise that it works. If you try it, you do it at your own risk, and you need a way back (your printer's stock firmware and its own recovery method). If you get one working, please share how - see Tell us.
Four separate things all have to work. A firmware that builds and flashes is only the first:
- NebulaOS has to run on your Nebula Pad. NebulaOS installs on the touchscreen computer built into the KE. Whether it installs and runs on a separately sold (retail) Nebula Pad is not known - nobody has tried it yet.
- Your mainboard needs a Klipper firmware built for it - the rest of this page.
- Klipper needs a configuration for your printer. NebulaOS's own configuration describes the KE: its pins, motors, bed size and load-cell probe. You have to replace that with your printer's (see The printer configuration).
- NebulaOS's own features assume a KE. The print start, the calibration menu, Auto Calibration and the Z offset use the KE's load-cell probe. On another printer, expect parts of them not to work until they are adapted.
- Settings → Printer → MCU firmware and Reinstall NebulaOS firmware are for the KE only. They check for the KE's special image format and must not be used for any other board.
- Build the firmware on a PC and flash it the way your board is normally flashed: almost always an SD card in the mainboard, or another method the board's maker supports.
- At every start NebulaOS checks which mainboard firmware is running. On another board it does not recognise it: normally it reports a warning and lets Klipper start. It never writes firmware to a board it does not recognise as a KE. If it ever stops Klipper with an unsupported mainboard message instead, please report it - see Tell us.
Look at the chip printed on the processor of your mainboard, not only the board's label: a board marked C14 can carry either an STM32F401 or a GD32F303.
| Printer / board | Chip on the board | Processor in make menuconfig
|
Bootloader offset | Serial to the Nebula Pad | Baud | How sure |
|---|---|---|---|---|---|---|
| Ender-3 V3 SE, C13 | GD32F303 | STM32F103 | 28 KiB | USART2 (PA3/PA2) | 230400 | Community-reproduced (with a Sonic Pad) [S5] |
| Ender-3 V3 SE, C14 | STM32F401 | STM32F401 | 64 KiB | USART2 (PA3/PA2) | 230400 | Candidate only - the serial setting is not confirmed [S8][S9] |
| Ender-3 V3 SE, marked C14 | GD32F303 | STM32F103 | 28 KiB | USART2 (PA3/PA2) | 230400 | Candidate only [S11][S12][S13] |
| Creality 4.2.2 | STM32F103 | STM32F103 | 28 KiB | USART3 (PB11/PB10) | 230400 | Upstream Klipper settings; baud from SimpleAF's Nebula Pad setup [S6][S4] |
| Creality 4.2.2 | GD32F103 | STM32F103, Disable SWD at startup on | 28 KiB | USART3 (PB11/PB10) | 230400 | Upstream Klipper settings [S6][S4] |
| Creality 4.2.2 | GD32F303 | STM32F103 | 28 KiB | USART3 (PB11/PB10) | 230400 | Community starting point; not every board may boot [S3][S6] |
| Creality 4.2.7 | STM32F103 | STM32F103 | 28 KiB | USART3 (PB11/PB10) | 230400 | Upstream Klipper settings; SimpleAF marks these Nebula Pad setups untested [S7][S3] |
| Creality 4.2.7 | GD32 | STM32F103 | 28 KiB | USART3 (PB11/PB10) | 230400 | Candidate only [S3][S7] |
None of these has been tested with NebulaOS. The Ender-3 V3 and V3 Plus are left out: they are a different design.
Why "serial to the Nebula Pad" matters: most Klipper guides for these boards are written for a
Raspberry Pi on USB and use USART1 (PA10/PA9). That firmware flashes fine but cannot talk to a
Nebula Pad over the display cable. You choose the serial port in make menuconfig, by the name in
the table - you never need to rewire anything.
For comparison, the KE itself: GD32F303, 12 KiB bootloader, USART2 at 230400, plus a Creality header that only the KE needs. Do not copy the KE's settings to another board (how the KE firmware is built).
On a Linux PC (or WSL), with Klipper's build tools installed (Klipper's install guide):
git clone https://github.com/Klipper3d/klipper.git
cd klipper
git checkout 58bd67db3ce1be1951c3e4a6d1156a79903d4edc # the Klipper NebulaOS 1.0.2 runs
make menuconfig
makeThe firmware is out/klipper.bin. Build from the same Klipper version as the printer runs
(the commit above is NebulaOS 1.0.2's); a firmware from a very different Klipper version may refuse
to connect. Before building for a different board, run make clean and check every setting again.
The most complete known recipe, reproduced by a community member with a Sonic Pad [S5]:
Enable extra low-level configuration options: on
Micro-controller architecture: STMicroelectronics STM32
Processor model: STM32F103
Disable SWD at startup: on
Bootloader offset: 28KiB bootloader
Clock reference: 8 MHz crystal
Communication interface: Serial (on USART2 PA3/PA2)
Baud rate for serial port: 230400
If your Klipper version offers Optimize stepper code for 'step on both edges', turn it on. Leave everything else at its default.
| Board | How |
|---|---|
| V3 SE C13 (GD32F303) | The .bin in the root of the SD card [S16] |
| V3 SE C14 (STM32F401) |
STM32F4_UPDATE/firmware.bin on the SD card [S9][S10] |
| V3 SE marked C14 with a GD32F303 | Some owners succeeded with the root of the SD card, like the C13; not all [S12][S13] |
| Creality 4.2.2 / 4.2.7 | The .bin in the root of the SD card [S6][S7] |
Use a small FAT32 card, give the file a new, short name each time (many Creality bootloaders skip a name they have seen before), and insert the card with the printer switched off.
The Nebula Pad talks to the mainboard on this serial port:
[mcu]
serial: /dev/ttyS1
baud: 230400
restart_method: commandNebulaOS's printer.cfg includes the KE's hardware files (machine.cfg, prtouch.cfg,
z_offset_probe.cfg from /etc/nebulaos/klipper/). For another printer, replace those includes
with a configuration for your printer. Good starting points:
- SimpleAF's Nebula Pad configs for the V3 SE, 4.2.2 and 4.2.7 [S4]
- A community V3 SE Klipper config [S15]
- Upstream Klipper's Creality 4.2.2 and 4.2.7 examples
These are references, not drop-in files: pins, motor directions, thermistors, endstops, the probe and the bed size must match your printer. SimpleAF's files also use SimpleAF-only parts. On the V3 SE, the stock load-cell automatic Z offset does not work with plain Klipper [S15].
Stepper drivers: a different driver chip (TMC2208, TMC2209, A4988 ...) does not need a different
firmware. It is part of the printer configuration. Many Creality boards run TMC drivers without a
UART connection; then leave out any [tmc...] section. Never copy motor currents from another
printer [S18][S19].
- Klipper connects to the mainboard.
- Temperatures read sensible room values.
- Endstops and the probe change state when triggered (
QUERY_ENDSTOPS,QUERY_PROBE). - Fans run.
- Each motor moves the right way, a small step at a time.
- Heaters heat and the safety limits are right.
- Only then home, and only then calibrate.
If you get a printer working, please open an issue on NebulaOS titled Community build: <printer>, so the next person can use it:
Printer model:
Mainboard label / revision:
Chip printed on the processor:
Nebula Pad (retail or other) and NebulaOS version:
Klipper commit used for the firmware:
make menuconfig: processor / bootloader / clock / serial / baud / other options:
How you flashed it (SD folder, file name):
[mcu] serial and baud:
Stepper drivers (chip, UART or standalone):
Printer config source and what you changed:
klippy.log (remove IP addresses, user names and serial numbers):
What works (connect, temperatures, endstops, movement, probe, heating, homing, a print):
How you would get back to stock:
These are other people's findings, not NebulaOS tests.
| Ref | Source | What it shows |
|---|---|---|
| S1 | NebulaOS: building your own KE firmware | The KE's settings and why its tools are KE-only |
| S2 | NebulaOS MCU architecture | Upstream Klipper on the printer, the KE patch set |
| S3 | SimpleAF: retail Nebula Pad guide | Printers SimpleAF runs on a retail Nebula Pad, untested ones, SD flashing |
| S4 | SimpleAF Nebula Pad configs |
[mcu] serial /dev/ttyS1 at 230400, pin maps |
| S5 | Klipper Discourse: C13 GD32F303 build | The C13 make menuconfig settings that worked (Sonic Pad) |
| S6 | Klipper: Creality 4.2.2 config | 4.2.2 build settings, GD32F103 note, USART3, SD file names |
| S7 | Klipper: Creality 4.2.7 config | 4.2.7 build settings, USART3, SD flashing |
| S8 | Community V3 SE Klipper build guide | C13 vs C14 targets for a USB host |
| S9 | Creality: C14 + Nebula Pad firmware guide | Creality's own C14 procedure |
| S10 | Nebula Pad C14 community guide |
STM32F4_UPDATE SD method |
| S11 | C14-marked board with a GD32F303 | That this variant exists; a USB-host build |
| S12 | Reddit: C14 label, GD32 chip | Flashing trouble and how one owner solved it |
| S13 | Reddit: C14/GD32 with a Nebula Pad | One owner using the C13-style SD path |
| S14 | Klipper: building the firmware |
make menuconfig, make
|
| S15 | Community V3 SE config | Pins and probe; the stock auto Z offset does not work in plain Klipper |
| S16 | Creality: V3 SE firmware update | C13 SD root, new short file names |
| S18 | TH3D: Creality 4.2.x driver codes | Stepper driver letters on 4.2.x boards |
| S19 | Klipper: TMC drivers | UART vs standalone drivers |
| S20 | Reddit: C14 STM32F401 with a retail Nebula Pad | Creality's own C14 firmware working with a retail Pad |
| S21 | Reddit: C14 flashing trouble | SD folder and file-name pitfalls |
Research collected 2026-11-06. NebulaOS facts from NebulaOS-klipper-mcu/docs/BUILDING_YOUR_OWN_FIRMWARE.md,
etc/nebulaos/klipper/machine.cfg and etc/init.d/S50nebulaos-mcu-guard (mcu_lifecycle.py), firmware 3bdf3ff.
1. Get printing
- 1. What is NebulaOS
- 2. Install NebulaOS
- 3. First start
- 4. First calibration
- 5. Set up your slicer
- 6. Your first print
- 7. Keeping NebulaOS updated
2. Improve your prints
3. Using NebulaScreen
- Overview
- Home and printing
- Macros and Console
- Tune
- Settings → Connections
- Settings → Display
- Settings → Printer
- Settings → System
- Settings → Updates
- Settings → Reset
- Camera
- Timelapse
- Power-loss recovery
4. Advanced and integrations
- SSH, SFTP and security
- Files, configuration and backups
- Mainsail and Moonraker
- Custom macros and integrations
- Beeps and songs
- How NebulaOS works
- Two system slots
- Other printers (experimental)
- Words you will see
- Thank you
5. Help and recovery
- Troubleshooting
- Report a problem
- Going back to stock
- Resetting
- Mainboard firmware
- Recovery (when it will not start)
Developer documentation lives in each component repository. Start from the project README.