Vendor-style Web Builder profile for:
- Machine: Voron Cascade CNC
- Controller: BTT Scylla V1.0 / STM32H723
- Driver: STM32H7xx
- Stepper drivers: TMC5160 over SPI
- Axes: XYZ
- Spindle: INVT GD10 via grblHAL MODVFD
- Max spindle speed: 24,000 RPM
- SD card enabled
- USB CDC enabled
- Optional ESP-AT variant
profiles.json— registry file to expose the machine to Web Builder.profiles/voron-cascade.json— actual machine profile.
- Steps/mm: X/Y/Z = 853.33294
- Max rate: X/Y = 5000 mm/min, Z = 3000 mm/min
- Acceleration: X/Y = 100 mm/s², Z = 50 mm/s²
- Travel: X = 260 mm, Y = 220 mm, Z = 100 mm
- Homing direction mask = 2:
- X homes positive (Max)
- Y homes negative (Min)
- Z homes positive (Max)
- Homing order:
- Cycle 0: Z
- Cycle 1: X + Y
- Homing seek/feed = 500 / 50 mm/min
- Pull-off = 1.0 mm
- Locate cycles = 2
- Hard limits = enabled
- Soft limits = disabled
- TMC5160 current = 3000 mA X/Y/Z
- Microsteps = 16
- Hold current = X 50%, Y 50%, Z 60%
This profile intentionally uses:
CONTROL_ENABLE = 7
which means firmware controls are:
- Reset
- Feed Hold
- Cycle Start
The machine E-Stop should remain a hardwired safety chain that removes dangerous power, rather than relying on a firmware-only E-Stop input.
This differs from one older experimental Web Builder export which used CONTROL_ENABLE=70.
SPINDLE0_ENABLE = 5 selects grblHAL MODVFD and the profile enables Modbus.
The finalized Voron Cascade / INVT GD10 runtime values are:
| Setting | Value | Function |
|---|---|---|
$462 |
8192 | Run/Stop register |
$463 |
8193 | Set-frequency register |
$464 |
12288 | Get/output-frequency register |
$465 |
1 | CW run command |
$466 |
2 | CCW run command |
$467 |
1 | Stop command |
$468 |
50 | RPM input multiplier |
$469 |
60 | RPM input divider |
$470 |
60 | RPM output multiplier |
$471 |
100 | RPM output divider |
These values are intentionally not placed in Web Builder setting_defaults.
In the current grblHAL MODVFD plugin they are non-core NVS settings and the plugin restore
routine hard-codes its own defaults. Therefore this repository includes:
post-flash-runtime-settings.txt— paste/run these commands in gSender after flashing.verify-runtime-settings.txt— commands to read the values back.runtime-settings.json— machine-readable record of the finalized runtime values.
After applying the post-flash settings, power-cycle or hard-reset the controller before final spindle testing.
Two variants are supplied:
- USB + MODVFD
- USB + ESP-AT + MODVFD
Use the first variant while debugging or when Wi-Fi is not required.
No Wi-Fi SSID or password is stored in this repository/profile.
The current STM32H7xx Web Builder driver exposes both the regular BTT Scylla H723 target
and a bootloader-compatible target using the same board symbol BOARD_BTT_SCYLLA.
The vendor profile therefore selects the Scylla board family, but you should still verify
the Web Builder board/target dropdown before compiling. If you need the bootloader image,
select the BTT Scylla H723 (bootloader) target.
- Create a GitHub repository, for example
grblhal-profiles. - Upload this folder structure unchanged.
- Replace every
coolboysalamplaceholder in:profiles.jsonprofiles/voron-cascade.json
- Commit/push.
- Use the hosted
profiles.jsonURL as the vendor profile-list URL for Web Builder. - Select
Voron Cascadeand the desired variant.
grblHAL stores settings in non-volatile storage. After flashing a firmware built from this
profile, existing settings can remain in NVS. Back up the current settings first, then use
the appropriate grblHAL restore command (commonly $RST=*) only when you intentionally
want the firmware DEFAULT_* values to replace the stored settings.
GitHub-ready profile: 2026-09-04
Repository:
https://github.com/coolboysalam/grblhal-profiles
Vendor profile list:
https://github.com/coolboysalam/grblhal-profiles/blob/main/profiles.json
Machine profile:
https://github.com/coolboysalam/grblhal-profiles/blob/main/profiles/voron-cascade.json
GitHub account:
coolboysalam
The repository should be public so Web Builder can fetch the profile without authentication.