diff --git a/README.md b/README.md
index 34d4c5c4..12c377a6 100644
--- a/README.md
+++ b/README.md
@@ -22,6 +22,10 @@ See [User Documentation](https://snapmakeru1-extended-firmware.pages.dev/) for f
## Building from Source
+**Source repositories:**
+- GitHub: [https://github.com/paxx12](https://github.com/paxx12)
+- Codeberg: [https://codeberg.org/paxx12-snapmaker-u1](https://codeberg.org/paxx12-snapmaker-u1)
+
See [Building from Source](docs/development.md) for instructions on building custom firmware using Docker.
## Dependent projects
diff --git a/docs/development.md b/docs/development.md
index 4c30de64..3d2e91e1 100644
--- a/docs/development.md
+++ b/docs/development.md
@@ -26,6 +26,23 @@ For external third-party components, see [Third-Party Integrations](design/third
The `./dev.sh` script automatically sets up a Debian Trixie ARM64 environment with all required dependencies.
+## Source Repository
+
+The project is hosted on GitHub with a mirror on Codeberg:
+
+- **GitHub**: [https://github.com/paxx12](https://github.com/paxx12)
+- **Codeberg**: [https://codeberg.org/paxx12-snapmaker-u1](https://codeberg.org/paxx12-snapmaker-u1)
+
+### Using Codeberg Mirror
+
+To use Codeberg as the source instead of GitHub, configure git to automatically remap GitHub URLs:
+
+```bash
+git config --global url."https://codeberg.org/paxx12-snapmaker-u1/".insteadOf "https://github.com/paxx12/"
+```
+
+This remaps all GitHub repository URLs to Codeberg automatically, including submodules and dependencies.
+
## Quick Start
Build tools and download firmware:
diff --git a/docs/firmware_config.md b/docs/firmware_config.md
index 923ed874..cb0ca26b 100644
--- a/docs/firmware_config.md
+++ b/docs/firmware_config.md
@@ -50,6 +50,7 @@ Toggle settings directly from the web interface:
| Klipper Metrics Exporter | Enabled, Disabled | Enable Prometheus metrics |
| VPN Provider | None, Tailscale | Enable VPN remote access (Experimental) |
| Cloud | None, OctoEverywhere | Enable Cloud-based remote access (Experimental) |
+| Tweaks | TMC AutoTune, TMC Reduced Current, Object Processing, AFC Stub | Experimental Klipper tweaks ([tweaks](tweaks.md)) |
Changes are applied immediately and relevant services are restarted.
diff --git a/docs/index.md b/docs/index.md
index d701d327..6635d786 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -27,6 +27,10 @@ Download the latest firmware from [Releases](https://github.com/paxx12/Snapmaker
### Building from Source
+**Source repositories:**
+- GitHub: [https://github.com/paxx12](https://github.com/paxx12)
+- Codeberg: [https://codeberg.org/paxx12-snapmaker-u1](https://codeberg.org/paxx12-snapmaker-u1)
+
For developers who want to build custom firmware, see [Building from Source](development.md).
## Community
@@ -52,7 +56,7 @@ Heavily expanded firmware with extensive features and customization. Includes al
- [Firmware Configuration](firmware_config.md) - Customize firmware behavior via web interface or config file
- [Camera Support](camera_support.md) - Hardware-accelerated camera stack with WebRTC streaming for internal and USB cameras
- [Klipper and Moonraker Custom Includes](klipper_includes.md) - Add custom configuration files via Fluidd/Mainsail
-- [Klipper Tweaks](tweaks.md) - Experimental TMC driver optimizations and [object processing for adaptive mesh](tweaks.md#object-processing-for-adaptive-mesh) (firmware-config only)
+- [Klipper Tweaks](tweaks.md) - Experimental [TMC driver optimizations](tweaks.md#tmc-autotune), [reduced current](tweaks.md#tmc-reduced-current), and [object processing for adaptive mesh](tweaks.md#object-processing-for-adaptive-mesh) (firmware-config only)
- [AFC-Lite Stub](afc-lite.md) - Experimental AFC UI compatibility layer for Fluidd/Mainsail (may be removed)
- [RFID Filament Tag Support](rfid_support.md) - NTAG213/215/216 support for OpenSpool format
- [Remote Screen](remote_screen.md) - View and control printer screen remotely via web browser
diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/html/index.html b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/html/index.html
index 1e1889ac..efcbc411 100644
--- a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/html/index.html
+++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/html/index.html
@@ -9,6 +9,8 @@
:root { --bg: #1a1a1a; --card: #2d2d2d; --item: #3d3d3d; --hover: #4d4d4d; --accent: #4fc3f7; --text: #e0e0e0; --muted: #888; --success: #81c784; --error: #e57373; --warning: #ff9800; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; padding: 20px; }
+ a { color: var(--accent); text-decoration: none; }
+ a:hover { text-decoration: underline; }
.container { max-width: 900px; margin: 0 auto; }
h1 { color: var(--accent); margin-bottom: 20px; font-size: 24px; display: flex; justify-content: space-between; align-items: center; }
.card { background: var(--card); border-radius: 8px; padding: 16px; margin-bottom: 16px; }
diff --git a/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_object_processing.yaml b/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_object_processing.yaml
index e790ca8d..1c5bb599 100644
--- a/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_object_processing.yaml
+++ b/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_object_processing.yaml
@@ -3,7 +3,7 @@ settings:
label: Tweaks
items:
object_processing:
- label: Object Processing for Adaptive Mesh
+ label: 'Object Processing for Adaptive Mesh (link)'
get_cmd:
- bash
- -c
diff --git a/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_tmc_autotune.yaml b/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_tmc_autotune.yaml
index 2413f93f..33136360 100644
--- a/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_tmc_autotune.yaml
+++ b/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_tmc_autotune.yaml
@@ -3,7 +3,7 @@ settings:
label: Tweaks
items:
tmc_autotune:
- label: TMC AutoTune
+ label: 'TMC AutoTune (link)'
get_cmd:
- bash
- -c
diff --git a/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_tmc_current.yaml b/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_tmc_current.yaml
index e51bded0..06966b18 100644
--- a/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_tmc_current.yaml
+++ b/overlays/firmware-extended/21-klipper-tweaks/root/usr/local/share/firmware-config/functions/21_settings_tweaks_tmc_current.yaml
@@ -3,7 +3,7 @@ settings:
label: Tweaks
items:
tmc_reduce_current:
- label: TMC Reduced Current
+ label: 'TMC Reduced Current (link)'
get_cmd:
- bash
- -c
diff --git a/overlays/firmware-extended/99-monitoring/root/usr/local/share/firmware-config/functions/19_settings_monitoring.yaml b/overlays/firmware-extended/99-monitoring/root/usr/local/share/firmware-config/functions/61_settings_monitoring.yaml
similarity index 100%
rename from overlays/firmware-extended/99-monitoring/root/usr/local/share/firmware-config/functions/19_settings_monitoring.yaml
rename to overlays/firmware-extended/99-monitoring/root/usr/local/share/firmware-config/functions/61_settings_monitoring.yaml