Repository navigation
Home
NebulaScreen is the touchscreen app of NebulaOS for the Creality Ender-3 V3 KE. It runs directly on the printer's 480×272 display (framebuffer, no X11 or Wayland) and talks to Klipper through Moonraker.
NebulaScreen is based on GuppyScreen by ballaswag (GPL-3). See History and credits for the full lineage.
NebulaScreen is not installed on its own. It is part of every NebulaOS image, built by
NebulaOS-firmware from a pinned commit of this
repository. See Installation.
- Installing NebulaOS — from stock Creality firmware or OpenKE, with Creality's own updater. Later: Updating NebulaOS from the screen.
- Screen reference — every tab and panel.
- Calibration walkthrough — the order to calibrate a KE in.
- First layer uneven left to right → Axis Twist Compensation
- One bed corner high or low → Bed tramming
- Automatic Z offset needs teaching once → Load cell calibration
- Mesh only the print area, purge next to it → Adaptive meshing and purge
- Parts not square → Skew Correction
- Motors loud or hot → TMC Autotune
- Something else wrong → Troubleshooting
- Print status and control: temperatures, fans, LED, homing and jogging, file browser (including USB sticks), Exclude Object, Spoolman
- Interactive 3D bed mesh (rotate, zoom) plus a table view
- A Calibration menu with guided screens, in order: Bed Tramming, Heaters (PID), Axis Twist, Auto Calibration, Input Shaper, E-Steps, Skew Correction (then Load Cell Calibration, TMC Autotune and Bed Mesh), each with a status line (done / not done / redo)
- Live tuning during a print: speed, flow, Z offset, pressure advance; firmware retraction and machine limits on their own panels
- Power-loss recovery through NebulaOS
- NebulaOS settings on the screen: Wi-Fi and static IP, printer name, Spoolman server, display brightness and sleep, boot logo, Nebula Camera settings (Camera), updates (apps, and system images from USB, upload or online), logs, reset and A/B boot slot swap
- Buzzer: touch click,
M300with real pitch,PLAY_TUNEsongs (Beeps & songs) - Print-state locks: actions that could ruin a running print are blocked or ask first
| Printer | Creality Ender-3 V3 KE, running NebulaOS |
| SoC / arch | Ingenic X2000 — MIPS (mipsel) |
| Display | 480×272, resistive touch |
The code also builds as an SDL simulator for desktop development (Development and simulator).
Start with Building from source and Architecture.
GPL-3.0. NebulaScreen is based on GuppyScreen by ballaswag; the KE work builds on probielodan/guppyscreen and pellcorp/grumpyscreen, and the 3D bed mesh comes from prestonbrown/guppyscreen. Full credits: Contributing.
Get started
Get great prints
- Calibration guide (4 steps)
- Calibration walkthrough (A→Z)
- Bed tramming
- Load cell calibration (water bottle)
- Axis Twist Compensation
- Adaptive meshing + purge
- Square parts (Skew Correction)
- Quieter steppers (TMC Autotune)
Using the screen
Help
- Working on NebulaScreen
- Build from source
- Dev & simulator
- Architecture
- Configuration
- Releases & deployment
- Testing
- CI
- Contributing
- Publishing this wiki
NebulaOS