├── .editorconfig ├── .gitattributes ├── .github ├── CODE_OF_CONDUCT.md ├── DEVELOPER_CERTIFICATE_OF_ORIGIN.md ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml ├── label-actions.yml ├── scripts │ └── setup_matrix.py ├── sdcard-logo.png ├── workflow_config.yml └── workflows │ ├── BuildImages.yml │ ├── Release.yml │ ├── deploy-docs.yml │ ├── label-actions.yml │ └── stale.yml ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── build-pi32.sh ├── build-pi64.sh ├── cliff-release.toml ├── cliff.toml ├── config ├── armbian │ ├── CB1 │ ├── bananapim2zero │ └── default ├── default └── raspberry │ ├── default │ ├── opicm4 │ ├── rpi32 │ └── rpi64 ├── patches ├── Readme.md ├── patch101.sh └── udev-fix.sh ├── site ├── .gitignore ├── .prettierrc ├── README.md ├── blog │ ├── 2021-11-14-ratos-v1-0-released.mdx │ ├── 2022-01-08-ratos-v1-1-released.mdx │ ├── 2022-10-17-moonraker-config-changes.mdx │ ├── 2022-11-08-no-you-dont-want-to-use-can.mdx │ ├── 2023-03-04-ratos-v2-0-0-released.mdx │ ├── 2023-05-23-breaking-crowsnest-changes.mdx │ ├── _media │ │ ├── camera-stream-option.png │ │ └── picam.png │ └── authors.yml ├── docs │ ├── boards │ │ ├── _category_.json │ │ ├── btt │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ │ ├── jumper-symbol.svg │ │ │ │ ├── manta-e3ez-wiring.svg │ │ │ │ ├── manta-m4p-10-wiring.svg │ │ │ │ ├── manta-m4p-22-wiring.svg │ │ │ │ ├── manta-m8p-11-fan-wiring.svg │ │ │ │ ├── manta-m8p-11-wiring.svg │ │ │ │ ├── manta-m8p-fan-wiring.svg │ │ │ │ ├── manta-m8p-wiring.svg │ │ │ │ ├── octopus-11-wiring-full.png │ │ │ │ ├── octopus-11-wiring.png │ │ │ │ ├── octopus-pro-max-ez-fan-wiring.svg │ │ │ │ ├── octopus-pro-max-ez-wiring.svg │ │ │ │ ├── octopus-pro-wiring-full.png │ │ │ │ ├── octopus-pro-wiring.png │ │ │ │ ├── skr-2-429-wiring-full.svg │ │ │ │ ├── skr-2-429-wiring.svg │ │ │ │ ├── skr-3-ez-wiring.svg │ │ │ │ ├── skr-3-wiring.svg │ │ │ │ ├── skr-mini-e3-30-wiring.svg │ │ │ │ ├── skr-pro-12-ADXL345-angled.png │ │ │ │ ├── skr-pro-12-ADXL345-top-down.png │ │ │ │ ├── skr-pro-12-endstops.png │ │ │ │ ├── skr-pro-12-jumpers.png │ │ │ │ ├── skr-pro-12-stepper-pins-alt.png │ │ │ │ ├── skr-pro-12-stepper-pins.png │ │ │ │ ├── skr-pro-12-vin.png │ │ │ │ ├── skr-pro-12-wiring.png │ │ │ │ ├── skrat-10-fan-wiring.svg │ │ │ │ ├── skrat-10-pi-wiring.png │ │ │ │ └── skrat-10-wiring.svg │ │ │ ├── manta-e3ez.mdx │ │ │ ├── manta-m4p-10.mdx │ │ │ ├── manta-m4p-22.mdx │ │ │ ├── manta-m8p-11.mdx │ │ │ ├── manta-m8p.mdx │ │ │ ├── octopus-11-407.md │ │ │ ├── octopus-11.md │ │ │ ├── octopus-max-ez.mdx │ │ │ ├── octopus-pro-429.md │ │ │ ├── octopus-pro-446.md │ │ │ ├── octopus-pro-h723.md │ │ │ ├── skr-2-429.md │ │ │ ├── skr-3-ez.mdx │ │ │ ├── skr-3.mdx │ │ │ ├── skr-mini-e3-30.mdx │ │ │ ├── skr-pro-12.md │ │ │ └── skrat-10.mdx │ │ ├── fysetc │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ │ ├── BT0-jumper.png │ │ │ │ ├── Probe_Voltage.png │ │ │ │ ├── SpiderADXL-Wiring.png │ │ │ │ └── spider-11-wiring.png │ │ │ └── spider-11.md │ │ ├── list.md │ │ └── prusa │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ ├── einsy-bootloader-hookup.png │ │ │ └── pi-bootloader-hookup.png │ │ │ └── einsy.mdx │ ├── configuration.md │ ├── configuration │ │ ├── _media │ │ │ ├── 0degree.png │ │ │ └── 90degree.png │ │ ├── adaptive-meshing.md │ │ ├── beacon_contact.md │ │ ├── calibration.md │ │ ├── chamber_filter.md │ │ ├── chamber_heater.md │ │ ├── filament_sensors.md │ │ ├── filaments.md │ │ ├── idex.md │ │ ├── includes-and-overrides.md │ │ ├── led.md │ │ ├── macros.md │ │ ├── macros_list.md │ │ └── toolboards.md │ ├── guides │ │ ├── 4028.md │ │ ├── _media │ │ │ ├── 4028-octopus-enable-pin.png │ │ │ ├── 4028-octopus.png │ │ │ └── stowable_probes.excalidraw.svg │ │ ├── real-time-analysis.md │ │ └── stowable-probes.mdx │ ├── installation.mdx │ ├── introduction.mdx │ ├── manual-firmware-compilation.md │ ├── printers │ │ └── list.mdx │ ├── slicers.md │ ├── toolboards │ │ ├── btt │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ │ ├── ebb36-wiring.svg │ │ │ │ └── ebb42-wiring.svg │ │ │ ├── ebb-36-10.mdx │ │ │ ├── ebb-36-11.mdx │ │ │ ├── ebb-36-12.mdx │ │ │ ├── ebb-42-10.mdx │ │ │ ├── ebb-42-11.mdx │ │ │ └── ebb-42-12.mdx │ │ ├── list.md │ │ └── mellow │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ ├── fly-sht-36-wiring.svg │ │ │ └── fly-sht-42-wiring.svg │ │ │ ├── fly-sht-36.mdx │ │ │ └── fly-sht-42.mdx │ └── troubleshooting.md ├── docusaurus.config.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.ts ├── sidebars.js ├── src │ ├── components │ │ ├── frontpage │ │ │ ├── hero.tsx │ │ │ └── logo.tsx │ │ └── ui │ │ │ ├── button.tsx │ │ │ ├── logo-sparkles.tsx │ │ │ ├── sparkles.tsx │ │ │ └── text-effect.tsx │ ├── css │ │ └── custom.css │ ├── lib │ │ └── utils.ts │ └── pages │ │ ├── changelog.mdx │ │ └── index.tsx ├── static │ ├── .nojekyll │ ├── CNAME │ └── img │ │ ├── config-folder.png │ │ ├── diagram │ │ ├── EBB36.webp │ │ ├── EBB42.webp │ │ ├── adxl345.png │ │ ├── adxl345.svg │ │ ├── axial-fan.png │ │ ├── beacon.webp │ │ ├── bed-heater.png │ │ ├── blower.png │ │ ├── bltouch.png │ │ ├── endstop.png │ │ ├── fly-sht36.webp │ │ ├── fly-sht42.webp │ │ ├── heater-thermistor.png │ │ ├── inductive-probe.png │ │ ├── kraken.webp │ │ ├── ldo-orbitool-o2.webp │ │ ├── leviathan.webp │ │ ├── manta-e3ez.png │ │ ├── manta-m4p.webp │ │ ├── manta-m5p.webp │ │ ├── manta-m8p-20.webp │ │ ├── manta-m8p.webp │ │ ├── nema17.png │ │ ├── nema17.svg │ │ ├── nitehawk36-fixed.webp │ │ ├── nitehawk36.webp │ │ ├── octopus-max-ez.png │ │ ├── octopus-pro.png │ │ ├── octopus.png │ │ ├── pi4.png │ │ ├── prusa-buddy.webp │ │ ├── prusa-einsy.webp │ │ ├── psu.png │ │ ├── psu.svg │ │ ├── skr-14.webp │ │ ├── skr-2.png │ │ ├── skr-mini-e3-v3.webp │ │ ├── skr-pico.png │ │ ├── skr-pro-12.webp │ │ ├── skr3-ez.webp │ │ ├── skr3.webp │ │ ├── skrat.png │ │ ├── spider-11.webp │ │ ├── spider-22.webp │ │ ├── ssr.png │ │ └── ssr.svg │ │ ├── favicon.png │ │ ├── firmware_version_mismatch.png │ │ ├── initial-macros.png │ │ ├── logos │ │ ├── Icon-all_black.png │ │ ├── Icon-all_black.svg │ │ ├── Icon-all_white.png │ │ ├── Icon-all_white.svg │ │ ├── Icon-black.png │ │ ├── Icon-black.svg │ │ ├── Icon-white.png │ │ ├── Icon-white.svg │ │ ├── Logo-all_black.png │ │ ├── Logo-all_black.svg │ │ ├── Logo-all_white.png │ │ ├── Logo-all_white.svg │ │ ├── Logo-black.png │ │ ├── Logo-black.svg │ │ ├── Logo-v2-all_black.png │ │ ├── Logo-v2-all_black.svg │ │ ├── Logo-v2-all_white.png │ │ ├── Logo-v2-all_white.svg │ │ ├── Logo-v2-black.png │ │ ├── Logo-v2-black.svg │ │ ├── Logo-v2-white.png │ │ ├── Logo-v2-white.svg │ │ ├── Logo-white.png │ │ ├── Logo-white.svg │ │ ├── Type-white.png │ │ ├── Type-white.svg │ │ ├── Type.png │ │ ├── Type.svg │ │ ├── Type_black.png │ │ ├── Type_black.svg │ │ ├── intermode-logo.png │ │ ├── ratrig-logo.png │ │ └── rpi-imager.png │ │ ├── mainsail.jpg │ │ ├── moonraker_unparsed_config.png │ │ ├── ratos-configurator-hardware-selection.png │ │ ├── ratos-configurator-printer-selection.png │ │ ├── real-time-tool-belt-tension.png │ │ ├── real-time-tool.png │ │ ├── site-banner.png │ │ ├── tutorial │ │ ├── docsVersionDropdown.png │ │ └── localeDropdown.png │ │ ├── undraw_docusaurus_mountain.svg │ │ ├── undraw_docusaurus_react.svg │ │ └── undraw_docusaurus_tree.svg ├── tailwind.config.ts ├── tsconfig.json ├── types.d.ts ├── versioned_docs │ ├── version-1.2.x │ │ ├── boards │ │ │ ├── _category_.json │ │ │ ├── btt │ │ │ │ ├── _category_.json │ │ │ │ ├── _media │ │ │ │ │ ├── jumper-symbol.svg │ │ │ │ │ ├── octopus-11-wiring-full.png │ │ │ │ │ ├── octopus-11-wiring.png │ │ │ │ │ ├── octopus-pro-wiring-full.png │ │ │ │ │ ├── octopus-pro-wiring.png │ │ │ │ │ ├── skr-2-429-wiring-full.svg │ │ │ │ │ ├── skr-2-429-wiring.svg │ │ │ │ │ ├── skr-pro-12-ADXL345-angled.png │ │ │ │ │ ├── skr-pro-12-ADXL345-top-down.png │ │ │ │ │ ├── skr-pro-12-endstops.png │ │ │ │ │ ├── skr-pro-12-jumpers.png │ │ │ │ │ ├── skr-pro-12-stepper-pins-alt.png │ │ │ │ │ ├── skr-pro-12-stepper-pins.png │ │ │ │ │ ├── skr-pro-12-vin.png │ │ │ │ │ └── skr-pro-12-wiring.png │ │ │ │ ├── octopus-11-407.md │ │ │ │ ├── octopus-11.md │ │ │ │ ├── octopus-pro-429.md │ │ │ │ ├── octopus-pro-446.md │ │ │ │ ├── skr-2-429.md │ │ │ │ └── skr-pro-12.md │ │ │ └── fysetc │ │ │ │ ├── _category_.json │ │ │ │ ├── _media │ │ │ │ ├── BT0-jumper.png │ │ │ │ ├── Probe_Voltage.png │ │ │ │ ├── SpiderADXL-Wiring.png │ │ │ │ └── spider-11-wiring.png │ │ │ │ └── spider-11.md │ │ ├── configuration.md │ │ ├── configuration │ │ │ ├── advanced-stepper-configuration.md │ │ │ ├── includes-and-overrides.md │ │ │ └── macros.md │ │ ├── guides │ │ │ ├── 4028.md │ │ │ └── _media │ │ │ │ └── 4028-octopus.png │ │ ├── installation.md │ │ ├── introduction.mdx │ │ ├── manual-firmware-compilation.md │ │ ├── printers │ │ │ ├── v-core-3.md │ │ │ ├── v-core-pro.md │ │ │ └── v-minion.md │ │ ├── slicers.md │ │ └── troubleshooting.md │ └── version-2.0.x │ │ ├── boards │ │ ├── _category_.json │ │ ├── btt │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ │ ├── jumper-symbol.svg │ │ │ │ ├── manta-e3ez-wiring.svg │ │ │ │ ├── manta-m4p-10-wiring.svg │ │ │ │ ├── manta-m4p-22-wiring.svg │ │ │ │ ├── manta-m8p-11-fan-wiring.svg │ │ │ │ ├── manta-m8p-11-wiring.svg │ │ │ │ ├── manta-m8p-fan-wiring.svg │ │ │ │ ├── manta-m8p-wiring.svg │ │ │ │ ├── octopus-11-wiring-full.png │ │ │ │ ├── octopus-11-wiring.png │ │ │ │ ├── octopus-pro-max-ez-fan-wiring.svg │ │ │ │ ├── octopus-pro-max-ez-wiring.svg │ │ │ │ ├── octopus-pro-wiring-full.png │ │ │ │ ├── octopus-pro-wiring.png │ │ │ │ ├── skr-2-429-wiring-full.svg │ │ │ │ ├── skr-2-429-wiring.svg │ │ │ │ ├── skr-3-ez-wiring.svg │ │ │ │ ├── skr-3-wiring.svg │ │ │ │ ├── skr-mini-e3-30-wiring.svg │ │ │ │ ├── skr-pro-12-ADXL345-angled.png │ │ │ │ ├── skr-pro-12-ADXL345-top-down.png │ │ │ │ ├── skr-pro-12-endstops.png │ │ │ │ ├── skr-pro-12-jumpers.png │ │ │ │ ├── skr-pro-12-stepper-pins-alt.png │ │ │ │ ├── skr-pro-12-stepper-pins.png │ │ │ │ ├── skr-pro-12-vin.png │ │ │ │ ├── skr-pro-12-wiring.png │ │ │ │ ├── skrat-10-fan-wiring.svg │ │ │ │ ├── skrat-10-pi-wiring.png │ │ │ │ └── skrat-10-wiring.svg │ │ │ ├── manta-e3ez.mdx │ │ │ ├── manta-m4p-10.mdx │ │ │ ├── manta-m4p-22.mdx │ │ │ ├── manta-m8p-11.mdx │ │ │ ├── manta-m8p.mdx │ │ │ ├── octopus-11-407.md │ │ │ ├── octopus-11.md │ │ │ ├── octopus-max-ez.mdx │ │ │ ├── octopus-pro-429.md │ │ │ ├── octopus-pro-446.md │ │ │ ├── octopus-pro-h723.md │ │ │ ├── skr-2-429.md │ │ │ ├── skr-3-ez.mdx │ │ │ ├── skr-3.mdx │ │ │ ├── skr-mini-e3-30.mdx │ │ │ ├── skr-pro-12.md │ │ │ └── skrat-10.mdx │ │ ├── fysetc │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ │ ├── BT0-jumper.png │ │ │ │ ├── Probe_Voltage.png │ │ │ │ ├── SpiderADXL-Wiring.png │ │ │ │ └── spider-11-wiring.png │ │ │ └── spider-11.md │ │ ├── list.md │ │ └── prusa │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ ├── einsy-bootloader-hookup.png │ │ │ └── pi-bootloader-hookup.png │ │ │ └── einsy.mdx │ │ ├── configuration.md │ │ ├── configuration │ │ ├── adaptive-meshing.md │ │ ├── advanced-stepper-configuration.md │ │ ├── includes-and-overrides.md │ │ ├── macros.md │ │ └── toolboards.md │ │ ├── guides │ │ ├── 4028.md │ │ ├── _media │ │ │ ├── 4028-octopus-enable-pin.png │ │ │ ├── 4028-octopus.png │ │ │ └── stowable_probes.excalidraw.svg │ │ └── stowable-probes.mdx │ │ ├── installation.md │ │ ├── introduction.mdx │ │ ├── manual-firmware-compilation.md │ │ ├── printers │ │ ├── v-core-3.md │ │ ├── v-core-pro.md │ │ ├── v-minion.md │ │ ├── voron-v01.md │ │ └── voron-v24.md │ │ ├── slicers.md │ │ ├── toolboards │ │ ├── btt │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ │ ├── ebb36-wiring.svg │ │ │ │ └── ebb42-wiring.svg │ │ │ ├── ebb-36-10.mdx │ │ │ ├── ebb-36-11.mdx │ │ │ ├── ebb-36-12.mdx │ │ │ ├── ebb-42-10.mdx │ │ │ ├── ebb-42-11.mdx │ │ │ └── ebb-42-12.mdx │ │ ├── list.md │ │ └── mellow │ │ │ ├── _category_.json │ │ │ ├── _media │ │ │ ├── fly-sht-36-wiring.svg │ │ │ └── fly-sht-42-wiring.svg │ │ │ ├── fly-sht-36.mdx │ │ │ └── fly-sht-42.mdx │ │ └── troubleshooting.md ├── versioned_sidebars │ ├── version-1.2.x-sidebars.json │ └── version-2.0.x-sidebars.json └── versions.json ├── sponsors ├── intermode-logo.png └── ratrig-logo.png └── src ├── build_dist ├── image └── .gitkeep ├── modules ├── armbian │ ├── config │ ├── end_chroot_script │ ├── filesystem │ │ └── root │ │ │ └── etc │ │ │ ├── udev │ │ │ └── rules.d │ │ │ │ └── 97-gpio.rules │ │ │ └── update-motd.d │ │ │ └── 10-mainsailos │ └── start_chroot_script ├── armbian_net │ ├── config │ ├── filesystem │ │ └── root │ │ │ ├── boot │ │ │ └── network_config.txt.template │ │ │ └── etc │ │ │ └── systemd │ │ │ └── system │ │ │ └── network-configurator.service │ └── start_chroot_script ├── cb1config │ ├── config │ ├── filesystem │ │ └── root │ │ │ └── etc │ │ │ └── udev │ │ │ └── rules.d │ │ │ └── 90-gpio-spi.rules │ └── start_chroot_script ├── cb1spi │ ├── config │ └── start_chroot_script ├── crowsnest │ ├── config │ └── start_chroot_script ├── deb_namserver │ └── start_chroot_script ├── dfu-util │ └── start_chroot_script ├── hotspot │ ├── config │ ├── filesystem │ │ └── root │ │ │ ├── etc │ │ │ ├── dhcp │ │ │ │ └── dhclient-exit-hooks.d │ │ │ │ │ └── prefix_delegation │ │ │ ├── hostapd │ │ │ │ └── hostapd.conf │ │ │ └── systemd │ │ │ │ └── system │ │ │ │ └── autohotspot.service │ │ │ └── usr │ │ │ └── bin │ │ │ ├── add_masquerade │ │ │ ├── autohotspotN │ │ │ └── make_sure_master │ └── start_chroot_script ├── hotspot_cb1 │ ├── config │ ├── filesystem │ │ └── root │ │ │ ├── etc │ │ │ └── create_ap.conf │ │ │ └── usr │ │ │ ├── bin │ │ │ └── start_hotspot.sh │ │ │ └── lib │ │ │ └── systemd │ │ │ └── system │ │ │ └── create_ap.service │ └── start_chroot_script ├── is_req_preinstall │ ├── config │ └── start_chroot_script ├── kiauh │ ├── config │ └── start_chroot_script ├── klipper │ ├── config │ ├── filesystem │ │ ├── home │ │ │ └── pi │ │ │ │ └── printer_data │ │ │ │ └── systemd │ │ │ │ └── klipper.env │ │ └── root │ │ │ └── etc │ │ │ └── systemd │ │ │ └── system │ │ │ └── klipper.service │ └── start_chroot_script ├── klipperscreen │ ├── config │ └── start_chroot_script ├── linear_movement_analysis │ ├── config │ └── start_chroot_script ├── mainsail │ ├── config │ ├── filesystem │ │ └── root │ │ │ └── etc │ │ │ ├── logrotate.d │ │ │ └── rsyslog │ │ │ └── nginx │ │ │ ├── conf.d │ │ │ ├── common_vars.conf │ │ │ └── upstreams.conf │ │ │ └── sites-available │ │ │ └── mainsail │ └── start_chroot_script ├── mainsailos │ ├── config │ └── start_chroot_script ├── moonraker │ ├── config │ ├── filesystem │ │ └── home │ │ │ └── pi │ │ │ └── printer_data │ │ │ └── config │ │ │ └── moonraker.conf │ └── start_chroot_script ├── node │ └── start_chroot_script ├── orangepi │ ├── config │ ├── end_chroot_script │ ├── filesystem │ │ └── root │ │ │ └── etc │ │ │ ├── udev │ │ │ └── rules.d │ │ │ │ └── 97-gpio.rules │ │ │ └── update-motd.d │ │ │ └── 10-mainsailos │ └── start_chroot_script ├── orangepi_net │ ├── config │ ├── filesystem │ │ └── root │ │ │ ├── boot │ │ │ └── network_config.txt.template │ │ │ └── etc │ │ │ └── systemd │ │ │ └── system │ │ │ └── network-configurator.service │ └── start_chroot_script ├── passwordless_sudo │ └── start_chroot_script ├── piconfig │ ├── config │ ├── filesystem │ │ └── tmp │ │ │ └── msos_config.txt │ └── start_chroot_script ├── postrename │ ├── config │ ├── filesystem │ │ └── root │ │ │ └── postrename │ └── start_chroot_script ├── ratos │ ├── config │ ├── end_chroot_script │ ├── filesystem │ │ └── root │ │ │ ├── etc │ │ │ └── avahi │ │ │ │ └── avahi-daemon.conf │ │ │ └── var │ │ │ └── log │ │ │ └── ratos.log │ └── start_chroot_script ├── rpi_mcu │ ├── config │ └── start_chroot_script ├── sonar │ ├── config │ └── start_chroot_script ├── timelapse │ ├── config │ ├── filesystem │ │ └── home │ │ │ └── pi │ │ │ └── timelapse_template.txt │ └── start_chroot_script └── udev_fix │ ├── config │ └── start_chroot_script └── version /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 4 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = true 12 | insert_final_newline = true 13 | 14 | [Makefile] 15 | indent_style = tab 16 | 17 | [*.{yml, yaml}] 18 | indent_style = space 19 | indent_size = 2 20 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Code of Conduct 2 | 3 | As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. 4 | 5 | We are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion. 6 | 7 | Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. 8 | 9 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team. 10 | 11 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. 12 | 13 | This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/) 14 | -------------------------------------------------------------------------------- /.github/DEVELOPER_CERTIFICATE_OF_ORIGIN.md: -------------------------------------------------------------------------------- 1 | Developer Certificate of Origin 2 | Version 1.1 3 | 4 | Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 5 | 1 Letterman Drive 6 | Suite D4700 7 | San Francisco, CA, 94129 8 | 9 | Everyone is permitted to copy and distribute verbatim copies of this 10 | license document, but changing it is not allowed. 11 | 12 | Developer's Certificate of Origin 1.1 13 | 14 | By making a contribution to this project, I certify that: 15 | 16 | (a) The contribution was created in whole or in part by me and I 17 | have the right to submit it under the open source license 18 | indicated in the file; or 19 | 20 | (b) The contribution is based upon previous work that, to the best 21 | of my knowledge, is covered under an appropriate open source 22 | license and I have the right under that license to submit that 23 | work with modifications, whether created in whole or in part 24 | by me, under the same open source license (unless I am 25 | permitted to submit under a different license), as indicated 26 | in the file; or 27 | 28 | (c) The contribution was provided directly to me by some other 29 | person who certified (a), (b) or (c) and I have not modified 30 | it. 31 | 32 | (d) I understand and agree that this project and the contribution 33 | are public and that a record of the contribution (including all 34 | personal information I submit with it, including my sign-off) is 35 | maintained indefinitely and may be redistributed consistent with 36 | this project or the open source license(s) involved. 37 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: miklschmidt 2 | custom: ['https://paypal.me/miklschmidt'] 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Bug report 2 | description: Create a report to help us improve 3 | labels: ["bug", "triage"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | This issue form is for reporting bugs only! 9 | If you have a feature request, please use [feature_request](/Rat-OS/RatOS/issues/new?template=feature_request.yml) 10 | - type: textarea 11 | id: what-happened 12 | attributes: 13 | label: What happened 14 | description: >- 15 | A clear and concise description of what the bug is. 16 | validations: 17 | required: true 18 | - type: textarea 19 | id: expected-behavior 20 | attributes: 21 | label: What did you expect to happen 22 | description: >- 23 | A clear and concise description of what you expected to happen. 24 | validations: 25 | required: true 26 | - type: textarea 27 | id: repro-steps 28 | attributes: 29 | label: How to reproduce 30 | description: >- 31 | Minimal and precise steps to reproduce this bug. 32 | validations: 33 | required: true 34 | - type: textarea 35 | id: additional-info 36 | attributes: 37 | label: Additional information 38 | description: | 39 | If you have any additional information for us, use the field below. 40 | 41 | Please note, you can attach logs, screenshots or screen recordings here, by 42 | dragging and dropping files in the field below. 43 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Unofficial RatRig Discord 4 | url: https://discord.gg/ratrig 5 | about: Quickest way to get in contact 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 2 | description: Suggest an idea for this project 3 | labels: ["feature request"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | This issue form is for feature requests only! 9 | If you've found a bug, please use [bug_report](/Rat-OS/RatOS/issues/new?template=bug_report.yml) 10 | - type: textarea 11 | id: problem-description 12 | attributes: 13 | label: Is your feature request related to a problem? Please describe 14 | description: >- 15 | A clear and concise description of what the problem is. 16 | validations: 17 | required: true 18 | - type: textarea 19 | id: solution-description 20 | attributes: 21 | label: Describe the solution you'd like 22 | description: >- 23 | A clear and concise description of what you want to happen. 24 | validations: 25 | required: true 26 | - type: textarea 27 | id: possible-alternatives 28 | attributes: 29 | label: Describe alternatives you've considered 30 | description: >- 31 | A clear and concise description of any alternative solutions or features you've considered. 32 | - type: textarea 33 | id: additional-info 34 | attributes: 35 | label: Additional information 36 | description: | 37 | If you have any additional information for us, use the field below. 38 | 39 | Please note, you can attach logs, screenshots or screen recordings here, by 40 | dragging and dropping files in the field below. 41 | -------------------------------------------------------------------------------- /.github/label-actions.yml: -------------------------------------------------------------------------------- 1 | # Configuration for Label Actions - https://github.com/dessant/label-actions 2 | 3 | not on Github: 4 | issues: 5 | comment: | 6 | Ahoi! 7 | 8 | It looks like this ticket is a request for help (or similar). 9 | Many helpful people will not see your message here and you are 10 | unlikely to get a useful response. 11 | 12 | We use github to handle bugreports, feature requests and 13 | planning new releases. 14 | 15 | Please use our Discord-Server for help: [discord.gg/mainsail](https://discord.gg/mainsail) 16 | 17 | This ticket will be automatically closed. 18 | 19 | Fair wind and a following sea! 20 | ~ Your friendly MainsailGithubBot 21 | 22 | *PS: I'm just an automated script, not a real sailor.* 23 | close: true 24 | -------------------------------------------------------------------------------- /.github/sdcard-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/.github/sdcard-logo.png -------------------------------------------------------------------------------- /.github/workflow_config.yml: -------------------------------------------------------------------------------- 1 | #### Configure workflow matrix 2 | #### 3 | #### Written by Stephan Wendel aka KwadFan 4 | #### Copyright 2023 - till today 5 | #### https://github.com/mainsail-crew/MainsailOS 6 | #### 7 | #### This File is distributed under GPLv3 8 | #### 9 | 10 | #### NOTE: Use entries according to their directory/file structure in 'config' 11 | #### e.g. raspberry/rpi32 armbian/orangepi3lts ... 12 | 13 | # Use this categorie to configure behaviour on pushes/pull requests against 14 | # develop branch 15 | # Each entry will be used in setup matrix 16 | 17 | buildtest: 18 | # armbian based images 19 | # - armbian/bananapim2zero 20 | # - armbian/orangepi3lts 21 | # - armbian/orangepi4lts 22 | - armbian/CB1 23 | # Orange Pi OS based images 24 | # - orangepi/orangepi_zero2 25 | # Raspberry Pi OS based images 26 | - raspberry/rpi32 27 | # - raspberry/rpi64 28 | - raspberry/opicm4 29 | 30 | # This is used to setup release build chain. 31 | # Each entry will be used in setup matrix for releases 32 | 33 | release: 34 | # armbian based images 35 | # - armbian/orangepi3lts 36 | # - armbian/orangepi4lts 37 | - armbian/CB1 38 | # Orange Pi OS based images 39 | # - orangepi/orangepi_zero2 40 | # Raspberry Pi OS based images 41 | - raspberry/rpi32 42 | # - raspberry/rpi64 43 | - raspberry/opicm4 44 | -------------------------------------------------------------------------------- /.github/workflows/deploy-docs.yml: -------------------------------------------------------------------------------- 1 | name: Deploy to GitHub Pages 2 | 3 | on: 4 | push: 5 | branches: [v2.1.x] 6 | paths: [site/**] 7 | workflow_dispatch: 8 | 9 | jobs: 10 | deploy: 11 | name: Deploy to GitHub Pages 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | - uses: pnpm/action-setup@v2 16 | with: 17 | version: 9.14.2 18 | - uses: actions/setup-node@v4 19 | with: 20 | node-version: 20. 21 | cache: 'pnpm' 22 | cache-dependency-path: site/pnpm-lock.yaml 23 | 24 | - name: Build website 25 | working-directory: site 26 | run: | 27 | pnpm install --frozen-lockfile 28 | pnpm run build 29 | # Popular action to deploy to GitHub Pages: 30 | # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus 31 | - name: Deploy to GitHub Pages 32 | uses: peaceiris/actions-gh-pages@v4 33 | with: 34 | github_token: ${{ secrets.GITHUB_TOKEN }} 35 | # Build output to publish to the `gh-pages` branch: 36 | publish_dir: ./docs 37 | user_name: Mikkel Schmidt 38 | user_email: mikkel.schmidt@gmail.com 39 | -------------------------------------------------------------------------------- /.github/workflows/label-actions.yml: -------------------------------------------------------------------------------- 1 | name: 'Label Actions' 2 | 3 | on: 4 | issues: 5 | types: [labeled, unlabeled] 6 | pull_request: 7 | types: [labeled, unlabeled] 8 | 9 | permissions: 10 | contents: read 11 | issues: write 12 | pull-requests: write 13 | discussions: write 14 | 15 | jobs: 16 | action: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: dessant/label-actions@v2 20 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: "Close stale issues or PRs" 2 | 3 | # Both `issue_comment` and `scheduled` event types are required for this Action 4 | # to work properly. 5 | on: 6 | issue_comment: 7 | types: [created] 8 | schedule: 9 | - cron: "30 1 * * *" 10 | 11 | permissions: 12 | issues: write 13 | pull-requests: write 14 | 15 | jobs: 16 | stale: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: actions/stale@v5 20 | with: 21 | days-before-stale: 14 22 | days-before-close: 7 23 | exempt-all-milestones: true 24 | close-issue-reason: not_planned 25 | only-labels: "❔ User Input" 26 | labels-to-remove-when-unstale: "❔ User Input,💤 Stale" 27 | stale-issue-label: "💤 Stale" 28 | stale-pr-label: "💤 Stale" 29 | stale-issue-message: | 30 | It looks like there hasn't been any recent updates on 31 | this issue. If you created this issue and no longer 32 | consider it to get merged, then please login to github 33 | and close it. Otherwise, if there is no further activity 34 | on this issue, it will be automatically closed within the 35 | next 7 days. 36 | *PS: I'm just an automated script, not a real human.* 37 | stale-pr-message: | 38 | It looks like there hasn't been any recent updates on 39 | this pull request. If you created this pull request and 40 | no longer consider it to get merged, then please login 41 | to github and close it. Otherwise, if there is no further 42 | activity on this pull request, it will be automatically 43 | closed within the next 7 days. 44 | *PS: I'm just an automated script, not a real human.* 45 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | src/config.local 2 | src/config 3 | src/custompios_path 4 | src/image-variants/*.zip 5 | src/nightly_build_scripts/index.html 6 | src/nightly_build_scripts/node_modules 7 | src/workspace-* 8 | src/workspace 9 | 10 | # Ignore src/image 11 | src/image/** 12 | 13 | # Ignore build.log 14 | src/build.log 15 | src/vagrant/*.log 16 | src/vagrant/.vagrant 17 | .vscode 18 | .idea 19 | build.log 20 | .DS_Store 21 | *~ 22 | .*.swp 23 | 24 | # Ignore built docs 25 | docs/** 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![RatOS](site/static/img/logos/Logo-black.svg) 2 | 3 |

4 | 5 | 6 |

7 | 8 | # What is RatOS 9 | 10 | RatOS is a preconfigured Raspberry Pi image that aims to make it as painless as possible to get Klipper, Mainsail and Moonraker up and running on your printer. It is developed and maintained by Mikkel Schmidt (miklschmidt#2036 on the Rat Rig Unofficial Discord) with help from the community. 11 | 12 | # How to use RatOS 13 | 14 | Start by reading the [Documentation](https://os.ratrig.com) 15 | 16 | # Build your own / Developing 17 | 18 | ## Requirements 19 | 20 | - [qemu-arm-static](http://packages.debian.org/sid/qemu-user-static) 21 | - [CustomPiOS](https://github.com/guysoft/CustomPiOS) 22 | - [Downloaded Raspbian Image](http://www.raspbian.org/) 23 | - Bash 24 | - Git 25 | - [Docker](https://docs.docker.com/engine/install/ubuntu/) 26 | - [Docker-Compose](https://docs.docker.com/compose/install/) 27 | - QEMU for emulation 28 | - About 5GB of free diskspace for the build 29 | - Yarn & Docusaurus for docs 30 | 31 | ## Building 32 | 33 | To prevent you have to deal with an entire build chain setup, \ 34 | simply fork this repository. 35 | 36 | Enable the workflows in your fork and you are good to go. \ 37 | On each push you make, an image is build and uploaded as an artifact. 38 | 39 | If you want or need to build locally please visit [CustomPiOS](https://github.com/guysoft/CustomPiOS). \ 40 | Especially ["Build a Distro From within Raspbian / Debian / Ubuntu / CustomPiOS Distros"](https://github.com/guysoft/CustomPiOS#build-a-distro-from-within-raspbian--debian--ubuntu--custompios-distros) 41 | 42 | ## HUGE THANK YOU to the Sponsors 43 | 44 | ![Rat Rig](sponsors/ratrig-logo.png) 45 | 46 | ![Intermode](sponsors/intermode-logo.png) 47 | -------------------------------------------------------------------------------- /build-pi32.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | if [[ -f "./src/config" ]]; then 5 | rm "./src/config" 6 | fi 7 | cat "./config/default" >> ./src/config 8 | cat "./config/raspberry/default" >> ./src/config 9 | cat "./config/raspberry/rpi32" >> ./src/config 10 | source ./src/config 11 | IMGCOUNT=$(ls ./src/image/*raspios-bullseye-armhf*.img.xz | wc -l) 12 | if [ $IMGCOUNT -eq 0 ]; then 13 | echo "Downloading image..." 14 | find ./src/image -type f -not -name '.gitkeep' -delete 15 | aria2c -d ./src/image --seed-time=0 $DOWNLOAD_URL_IMAGE 16 | fi 17 | exit 0 18 | pushd ./src 19 | sudo bash -x ./build_dist 20 | popd 21 | rm "./src/config" 22 | -------------------------------------------------------------------------------- /build-pi64.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | if [[ -f "./src/config" ]]; then 5 | rm "./src/config" 6 | fi 7 | cat "./config/default" >> ./src/config 8 | cat "./config/raspberry/default" >> ./src/config 9 | cat "./config/raspberry/rpi64" >> ./src/config 10 | source ./src/config 11 | IMGCOUNT=$(ls ./src/image/*raspios-bullseye-arm64*.img.xz | wc -l) 12 | if [ $IMGCOUNT -eq 0 ]; then 13 | echo "Downloading image..." 14 | find ./src/image -type f -not -name '.gitkeep' -delete 15 | aria2c -d ./src/image --seed-time=0 $DOWNLOAD_URL_IMAGE 16 | fi 17 | exit 0 18 | pushd ./src 19 | sudo bash -x ./build_dist 20 | popd 21 | rm "./src/config" 22 | -------------------------------------------------------------------------------- /config/armbian/CB1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | # shellcheck enable=require-variable-braces 4 | 5 | BASE_ARCH="arm64" 6 | BASE_IMAGE_ENLARGEROOT=10500 7 | BASE_IMAGE_RESIZEROOT=600 8 | BASE_ADD_USER="yes" 9 | BASE_USER="pi" 10 | BASE_USER_PASSWORD="raspberry" 11 | 12 | # Image source 13 | DOWNLOAD_URL_CHECKSUM="https://github.com/bigtreetech/CB1/releases/download/V2.3.1/CB1_Debian11_Klipper_kernel5.16_20230215.img.sha256" 14 | DOWNLOAD_URL_IMAGE="https://github.com/bigtreetech/CB1/releases/download/V2.3.1/CB1_Debian11_minimal_kernel5.16_20230215.img.xz" 15 | 16 | # export Variables 17 | export BASE_ARCH 18 | export BASE_IMAGE_ENLARGEROOT 19 | export BASE_IMAGE_RESIZEROOT 20 | export DOWNLOAD_URL_CHECKSUM 21 | export DOWNLOAD_URL_IMAGE 22 | 23 | export MODULES="base,deb_namserver,passwordless_sudo,pkgupgrade(network,cb1config,klipper,node,is_req_preinstall,moonraker,cb1spi,ratos(mainsail,crowsnest,linear_movement_analysis,timelapse,klipperscreen,rpi_mcu,disable-services(hotspot_cb1),dfu-util),password-for-sudo),postrename" -------------------------------------------------------------------------------- /config/armbian/bananapim2zero: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | # shellcheck enable=require-variable-braces 4 | 5 | # Image source 6 | DOWNLOAD_URL_CHECKSUM="${DOWNLOAD_BASE_URL}/armbian-bananapi_m2_zero_bullseye.img.xz.sha256" 7 | DOWNLOAD_URL_IMAGE="${DOWNLOAD_BASE_URL}/armbian-bananapi_m2_zero_bullseye.img.xz" 8 | 9 | # export Variables 10 | export BASE_ARCH 11 | export DOWNLOAD_URL_CHECKSUM 12 | export DOWNLOAD_URL_IMAGE 13 | -------------------------------------------------------------------------------- /config/armbian/default: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | 4 | # Declare Variables before exporting. 5 | # See https://www.shellcheck.net/wiki/SC2155 6 | 7 | # Download Base Url 8 | DOWNLOAD_BASE_URL="https://github.com/mainsail-crew/armbian-builds/releases/latest/download" 9 | 10 | # Base User 11 | BASE_ADD_USER="yes" 12 | BASE_USER="pi" 13 | BASE_USER_PASSWORD="armbian" 14 | 15 | # Needed while building for non rpi sbc 16 | BASE_DISTRO="armbian" 17 | BASE_IMAGE_RASPBIAN="no" 18 | 19 | # partition resizing 20 | BASE_ROOT_PARTITION="2" 21 | BASE_IMAGE_ENLARGEROOT=6500 22 | BASE_IMAGE_RESIZEROOT=600 23 | # Compress not needed due compression done in workflow 24 | BASE_RELEASE_COMPRESS=no 25 | # Modules are valid for 32bit and 64bit images 26 | MODULES="base,pkgupgrade,udev_fix,armbian(armbian_net,mainsailos,klipper,node,is_req_preinstall,moonraker,mainsail,crowsnest,ratos(linear_movement_analysis,timelapse,klipperscreen,rpi_mcu,disable-services(hotspot),dfu-util))" 27 | 28 | # export Variables 29 | export DOWNLOAD_BASE_URL 30 | export BASE_ADD_USER 31 | export BASE_USER 32 | export BASE_USER_PASSWORD 33 | export BASE_DISTRO 34 | export BASE_IMAGE_RASPBIAN 35 | export BASE_ROOT_PARTITION 36 | export BASE_IMAGE_ENLARGEROOT 37 | export BASE_IMAGE_RESIZEROOT 38 | export BASE_RELEASE_COMPRESS 39 | export MODULES 40 | -------------------------------------------------------------------------------- /config/default: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | # shellcheck enable=require-variable-braces 4 | 5 | get_version() { 6 | local ver 7 | ver="$(realpath "$( dirname -- "${BASH_SOURCE[0]}")"/version)" 8 | cat "${ver}" 9 | } 10 | 11 | get_img_name() { 12 | local -a types 13 | types=(zip 7z xz) 14 | if [ -n "${DIST_PATH}" ]; then 15 | for i in "${types[@]}"; do 16 | find "${DIST_PATH}/image/" -type f -name "*.${i}" -printf "%p\n" 17 | done 18 | fi 19 | 20 | if [ -z "${DIST_PATH}" ]; then 21 | echo "" 22 | fi 23 | } 24 | 25 | BASE_BOOT_MOUNT_PATH=boot 26 | DIST_VERSION="$(get_version)" 27 | BASE_ZIP_IMG="$(get_img_name)" 28 | DIST_NAME="RatOS" 29 | BASE_IMAGE_ENLARGEROOT=6500 30 | BASE_IMAGE_RESIZEROOT=600 31 | BASE_APT_CLEAN=no 32 | 33 | # export Variables 34 | export DIST_NAME 35 | export DIST_VERSION 36 | export BASE_ZIP_IMG 37 | export BASE_IMAGE_ENLARGEROOT 38 | export BASE_IMAGE_RESIZEROOT 39 | export BASE_BOOT_MOUNT_PATH 40 | export BASE_APT_CLEAN 41 | -------------------------------------------------------------------------------- /config/raspberry/default: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | 4 | BASE_IMAGE_ENLARGEROOT=10500 5 | BASE_IMAGE_RESIZEROOT=600 6 | # Compress not needed due compression done in workflow 7 | BASE_RELEASE_COMPRESS=no 8 | # Modules are valid for 32bit and 64bit images 9 | MODULES="base,pkgupgrade,udev_fix,network,piconfig,klipper,node,is_req_preinstall,moonraker,ratos(mainsail,crowsnest,linear_movement_analysis,timelapse,klipperscreen,rpi_mcu,disable-services(hotspot),dfu-util),password-for-sudo,postrename" 10 | # export Variables 11 | export BASE_IMAGE_ENLARGEROOT 12 | export BASE_IMAGE_RESIZEROOT 13 | export BASE_RELEASE_COMPRESS 14 | export MODULES 15 | 16 | export RPI_IMAGER_NAME="${DIST_NAME}" 17 | export RPI_IMAGER_DESCRIPTION="Modular klipper configuration for supported 3d printers" 18 | export RPI_IMAGER_ICON="https://raw.githubusercontent.com/Rat-OS/RatOS/master/site/static/img/logos/rpi-imager.png" 19 | -------------------------------------------------------------------------------- /config/raspberry/opicm4: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | 4 | # Just guessing, there's zero information on the architecture of this image. 5 | BASE_ARCH="arm64" 6 | 7 | # Third party OrangePi 4 Raspberry Pi OS image. 8 | DOWNLOAD_URL_CHECKSUM="https://gist.githubusercontent.com/miklschmidt/eb0dee54e204a8e5c030f5f4b2976588/raw/6cfe7cde0896fdd25b2b3f9a81ecf3d33cd5ddcb/Orangepicm4_1.0.0_raspios_bullseye_server_linux5.10.160.7z.sha256" 9 | DOWNLOAD_URL_IMAGE="https://github.com/leeboby/raspberry-pi-os-images/releases/download/opicm4/Orangepicm4_1.0.0_raspios_bullseye_server_linux5.10.160.7z" 10 | 11 | # export variables 12 | export BASE_ARCH 13 | export DOWNLOAD_URL_CHECKSUM 14 | export DOWNLOAD_URL_IMAGE 15 | -------------------------------------------------------------------------------- /config/raspberry/rpi32: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | 4 | # Keep for Bookworm template 5 | # DOWNLOAD_URL_CHECKSUM="https://downloads.raspberrypi.org/raspios_lite_armhf_latest.sha256" 6 | # DOWNLOAD_URL_IMAGE="https://downloads.raspberrypi.org/raspios_lite_armhf_latest.torrent" 7 | 8 | # New locations after Bullseye turned into 'oldstable' 9 | DOWNLOAD_URL_CHECKSUM="https://downloads.raspberrypi.com/raspios_oldstable_lite_armhf/images/raspios_oldstable_lite_armhf-2023-10-10/2023-05-03-raspios-bullseye-armhf-lite.img.xz.sha256" 10 | DOWNLOAD_URL_IMAGE="https://downloads.raspberrypi.com/raspios_oldstable_lite_armhf/images/raspios_oldstable_lite_armhf-2023-10-10/2023-05-03-raspios-bullseye-armhf-lite.img.xz.torrent" 11 | 12 | export DOWNLOAD_URL_CHECKSUM 13 | export DOWNLOAD_URL_IMAGE 14 | -------------------------------------------------------------------------------- /config/raspberry/rpi64: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | 4 | BASE_ARCH="arm64" 5 | 6 | # Keep for Bookworm template 7 | # DOWNLOAD_URL_CHECKSUM="https://downloads.raspberrypi.org/raspios_lite_arm64_latest.sha256" 8 | # DOWNLOAD_URL_IMAGE="https://downloads.raspberrypi.org/raspios_lite_arm64_latest.torrent" 9 | 10 | # New locations after Bullseye turned into 'oldstable' 11 | DOWNLOAD_URL_CHECKSUM="https://downloads.raspberrypi.com/raspios_oldstable_lite_arm64/images/raspios_oldstable_lite_arm64-2023-10-10/2023-05-03-raspios-bullseye-arm64-lite.img.xz.sha256" 12 | DOWNLOAD_URL_IMAGE="https://downloads.raspberrypi.com/raspios_oldstable_lite_arm64/images/raspios_oldstable_lite_arm64-2023-10-10/2023-05-03-raspios-bullseye-arm64-lite.img.xz.torrent" 13 | 14 | 15 | # export variables 16 | export BASE_ARCH 17 | export DOWNLOAD_URL_CHECKSUM 18 | export DOWNLOAD_URL_IMAGE 19 | -------------------------------------------------------------------------------- /patches/Readme.md: -------------------------------------------------------------------------------- 1 | # Patches 2 | 3 | This Folder contains a script to patch MainsailOS to latest changes. 4 | 5 | ## patch101.sh 6 | 7 | This is intended to patch MainsailOS version 1.0.0 to 1.0.1 8 | This fixes an error with WiFi powersave rules. 9 | _**DO NOT RUN THIS ON LATER VERSIONS!!!**_ 10 | 11 | ### Usage: 12 | 13 | `curl -sSL https://raw.githubusercontent.com/mainsail-crew/MainsailOS/develop/patches/patch101.sh | bash` 14 | 15 | This will ask you for sudo password! 16 | 17 | In most cases a reboot is required! 18 | 19 | ## udev-fix.sh 20 | 21 | This is intended to patch udev rules which has a Bug in udev package (version: 247.3-7+deb11u2 or 247.3-7+rpi1+deb11u2). 22 | Which does not create `/dev/serial/by-id` symlinks for your MCU.\ 23 | For further details see: 24 | 25 | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035094 26 | 27 | This is fixed by: 28 | https://github.com/systemd/systemd/pull/25246 29 | 30 | What we do: 31 | 32 | - Running `apt-get update` 33 | - Running `apt-get upgrade --yes` 34 | - `curl`ing the patched rule file from systemd repo 35 | - Copying to desired location in `/etc/udev/rules.d/60-serial.rules` 36 | 37 | This overwrites behaviour in the default configuration. 38 | Since this is the version of the master branch of systemd/udev there is no further 39 | need to intervention even on updates. 40 | 41 | _**NOTE: DO NOT RUN THIS PATCH IF YOU ARE PRINTING!!!**_ 42 | 43 | ### Usage: 44 | 45 | `curl -sSL https://raw.githubusercontent.com/mainsail-crew/MainsailOS/develop/patches/udev-fix.sh | bash` 46 | 47 | This will ask you for sudo password! 48 | 49 | A reboot is essential! 50 | -------------------------------------------------------------------------------- /site/.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | -------------------------------------------------------------------------------- /site/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 4, 3 | "useTabs": true, 4 | "plugins": ["prettier-plugin-tailwindcss"] 5 | } 6 | -------------------------------------------------------------------------------- /site/README.md: -------------------------------------------------------------------------------- 1 | # Website 2 | 3 | This website is built using [Docusaurus 3](https://docusaurus.io/), a modern static website generator. 4 | 5 | ### Installation 6 | 7 | ``` 8 | $ yarn 9 | ``` 10 | 11 | ### Local Development 12 | 13 | ``` 14 | $ yarn start 15 | ``` 16 | 17 | This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. 18 | 19 | ### Build 20 | 21 | ``` 22 | $ yarn build 23 | ``` 24 | 25 | This command generates static content into the `build` directory and can be served using any static contents hosting service. 26 | -------------------------------------------------------------------------------- /site/blog/2022-10-17-moonraker-config-changes.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | slug: moonraker-config-changes 3 | title: Moonraker is now safe to update 4 | authors: [miklschmidt] 5 | tags: [RatOS, Moonraker] 6 | --- 7 | 8 | ## Major moonraker config and file changes 9 | 10 | As you might know, a couple of weeks ago, I issued a warning about updating moonraker due to a major change that involved file restructuring, config changes and deprecations. I now believe i've ironed out all the kinks, and I can now say that the update is safe to do, as long as you update RatOS first, as usual. 11 | 12 | {/* truncate */} 13 | 14 | **There are a few things to note about this update:** 15 | 16 | Users who installed RatOS before 1.2.1 have an unmanaged moonraker config, this means that it's up to the user to manage it and RatOS can't correct it when things need updating. Fear not though, as most of this is automated by moonraker itself. When you update moonraker, make sure to keep an eye on the notifications in the topmenu, there's a chance you might have to follow the instructions in there to finish the config validation. If you're asked to enter a sudo password, the default is `raspberry`. 17 | 18 | ## Checking if your moonraker config is managed 19 | 20 | To check if you have a managed config (and thus don't need to do anything besides clicking the update buttons), you can look in your moonraker.conf for `[include config/moonraker.conf]`, if that is present, you have a managed moonraker config. If it's not, you have an unmanaged config, and you'll have to follow the instructions in the notification, if any is present. 21 | 22 | ## Missing files after update 23 | 24 | If you're missing files after updating (can happen if you do things out of order), you can run the following macro to restore them: `DELETE_AND_RESTORE_PRINTER_DATA_DIRS`. Restart moonraker and reload mainsail after running the macro. 25 | 26 | Thank you for bearing with me, and happy printing! 27 | -------------------------------------------------------------------------------- /site/blog/_media/camera-stream-option.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/blog/_media/camera-stream-option.png -------------------------------------------------------------------------------- /site/blog/_media/picam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/blog/_media/picam.png -------------------------------------------------------------------------------- /site/blog/authors.yml: -------------------------------------------------------------------------------- 1 | miklschmidt: 2 | name: Mikkel Schmidt 3 | title: Creator of RatOS 4 | url: https://github.com/miklschmidt 5 | image_url: https://github.com/miklschmidt.png 6 | -------------------------------------------------------------------------------- /site/docs/boards/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Supported Boards", 3 | "position": 3, 4 | "collapsible": false, 5 | "collapsed": false 6 | } -------------------------------------------------------------------------------- /site/docs/boards/btt/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "BIGTREETECH", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 1 6 | } -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/jumper-symbol.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/octopus-11-wiring-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/octopus-11-wiring-full.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/octopus-11-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/octopus-11-wiring.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/octopus-pro-wiring-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/octopus-pro-wiring-full.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/octopus-pro-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/octopus-pro-wiring.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skr-pro-12-ADXL345-angled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skr-pro-12-ADXL345-angled.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skr-pro-12-ADXL345-top-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skr-pro-12-ADXL345-top-down.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skr-pro-12-endstops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skr-pro-12-endstops.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skr-pro-12-jumpers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skr-pro-12-jumpers.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skr-pro-12-stepper-pins-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skr-pro-12-stepper-pins-alt.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skr-pro-12-stepper-pins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skr-pro-12-stepper-pins.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skr-pro-12-vin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skr-pro-12-vin.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skr-pro-12-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skr-pro-12-wiring.png -------------------------------------------------------------------------------- /site/docs/boards/btt/_media/skrat-10-pi-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/btt/_media/skrat-10-pi-wiring.png -------------------------------------------------------------------------------- /site/docs/boards/btt/octopus-11-407.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: Octopus v1.1 F407 3 | --- 4 | 5 | # BIGTREETECH Octopus v1.1 w/ STM32F407 6 | 7 | ## Wiring 8 | 9 | ![BTT Octopus V1.1 Wiring Diagram](_media/octopus-11-wiring.png) 10 | [Open Full Size Image](_media/octopus-11-wiring-full.png) 11 | 12 | :::danger if you use the Ratrig endstop switches and cables, do **not** blindly plug them in to your Octopus as doing this will short the board's 3.3V power rail. 13 | You will probably have to swap the outer two wires (red and white) on the board end of the cable but double check to make sure your cables match the wiring diagram in both ends. 14 | Orders shipped after October 2022 should have the correct cables (the connectors on the new cables are white). 15 | ::: 16 | 17 | :::info Jumpers 18 | ![Jumper Symbol](_media/jumper-symbol.svg) A green square with triangles inside is where you would place a jumper, 19 | remove all jumpers on the board that are not marked by this symbol. 20 | ::: 21 | 22 | ## Firmware installation 23 | 24 | :::caution Use a proper cable 25 | Make sure your board is connected to the Pi **via the provided USB-C cable** (USB-C on the Octopus, USB-A on the Pi). 26 | ::: 27 | 28 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 29 | 30 | ## I updated klipper and now i get an error! 31 | 32 | When you update klipper you might see an error that looks like this: 33 | 34 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 35 | 36 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 37 | -------------------------------------------------------------------------------- /site/docs/boards/btt/octopus-11.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: Octopus v1.1 3 | --- 4 | 5 | # BIGTREETECH Octopus v1.1 6 | 7 | ## Wiring 8 | 9 | ![BTT Octopus V1.1 Wiring Diagram](_media/octopus-11-wiring.png) 10 | [Open Full Size Image](_media/octopus-11-wiring-full.png) 11 | 12 | :::danger if you use the Ratrig endstop switches and cables, do **not** blindly plug them in to your Octopus as doing this will short the board's 3.3V power rail. 13 | You will probably have to swap the outer two wires (red and white) on the board end of the cable but double check to make sure your cables match the wiring diagram in both ends. 14 | Orders shipped after October 2022 should have the correct cables (the connectors on the new cables are white). 15 | ::: 16 | 17 | :::info Jumpers 18 | ![Jumper Symbol](_media/jumper-symbol.svg) A green square with triangles inside is where you would place a jumper, 19 | remove all jumpers on the board that are not marked by this symbol. 20 | ::: 21 | 22 | ## Firmware installation 23 | 24 | :::caution Use a proper cable 25 | Make sure your board is connected to the Pi **via the provided USB-C cable** (USB-C on the Octopus, USB-A on the Pi). 26 | ::: 27 | 28 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 29 | 30 | ## I updated klipper and now i get an error! 31 | 32 | When you update klipper you might see an error that looks like this: 33 | 34 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 35 | 36 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 37 | -------------------------------------------------------------------------------- /site/docs/boards/btt/skr-mini-e3-30.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: SKR Mini E3 v3.0 3 | --- 4 | 5 | import WiringSVG from "./_media/skr-mini-e3-30-wiring.svg"; 6 | 7 | # BIGTREETECH SKR Mini E3 v3.0 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/skr-mini-e3-30-wiring.svg) 14 | 15 | ## Firmware installation 16 | 17 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 18 | 19 | ## I updated klipper and now i get an error! 20 | 21 | When you update klipper you might see an error that looks like this: 22 | 23 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 24 | 25 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 26 | -------------------------------------------------------------------------------- /site/docs/boards/fysetc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fysetc", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 2 6 | } -------------------------------------------------------------------------------- /site/docs/boards/fysetc/_media/BT0-jumper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/fysetc/_media/BT0-jumper.png -------------------------------------------------------------------------------- /site/docs/boards/fysetc/_media/Probe_Voltage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/fysetc/_media/Probe_Voltage.png -------------------------------------------------------------------------------- /site/docs/boards/fysetc/_media/SpiderADXL-Wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/fysetc/_media/SpiderADXL-Wiring.png -------------------------------------------------------------------------------- /site/docs/boards/fysetc/_media/spider-11-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/fysetc/_media/spider-11-wiring.png -------------------------------------------------------------------------------- /site/docs/boards/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Complete list 3 | sidebar_position: 1000000 4 | --- 5 | 6 | :::warning 2.1 documentation is incomplete. 7 | This is preliminary documentation for the upcoming v2.1.0 release. The work is still ongoing and the documentation is not yet complete. 8 | ::: 9 | 10 | # Supported control boards 11 | 12 | RatOS currently supports the following control boards: 13 | 14 | ### Big Tree Tech 15 | 16 | - [BIGTREETECH SKRat v1.0](btt/skrat-10) 17 | - [BIGTREETECH SKR 2 429](btt/skr-2-429) 18 | - [BIGTREETECH SKR 2 407](btt/skr-2-429) 19 | - [BIGTREETECH SKR 3](btt/skr-3) 20 | - [BIGTREETECH SKR 3 H723](btt/skr-3) 21 | - BIGTREETECH SKR 3 EZbtt/skr-3-ez 22 | - BIGTREETECH SKR 3 EZ H723btt/skr-3-ez 23 | - [BIGTREETECH Octopus v1.1](btt/octopus-11) 24 | - [BIGTREETECH Octopus v1.1 F407](btt/octopus-11-407) 25 | - [BIGTREETECH Octopus Max EZ](btt/octopus-max-ez) 26 | - [BIGTREETECH Octopus Pro 446](btt/octopus-pro-446) 27 | - [BIGTREETECH Octopus Pro 429](btt/octopus-pro-429) 28 | - [BIGTREETECH Octopus Pro H723 v1.0](btt/octopus-pro-h723) 29 | - [BIGTREETECH Octopus Pro H723 v1.1](btt/octopus-pro-h723) 30 | - [BIGTREETECH Manta M4P v1.0](btt/manta-m4p-10) 31 | - [BIGTREETECH Manta M4P v2.2](btt/manta-m4p-22) 32 | - BIGTREETECH Manta M5P 33 | - [BIGTREETECH Manta M8P v1.0](btt/manta-m8p) 34 | - [BIGTREETECH Manta M8P v1.1](btt/manta-m8p-11) 35 | - [BIGTREETECH Manta E3EZ](btt/manta-e3ez) 36 | - [BIGTREETECH SKR Pro v1.2](btt/skr-pro-12) 37 | - [BIGTREETECH SKR Mini E3 V3.0](btt/skr-mini-e3-30) 38 | - BIGTREETECH Kraken 39 | 40 | ## LDO 41 | 42 | - LDO Leviathan v1.2 43 | 44 | ### Fysetc 45 | 46 | - [Fysetc Spider v1.1](fysetc/spider-11) 47 | - Fysetc Spider v2.2 48 | 49 | ### Prusa 50 | 51 | - [Prusa Einsy](prusa/einsy) 52 | - Prusa Buddy 53 | -------------------------------------------------------------------------------- /site/docs/boards/prusa/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Prusa", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 3 6 | } 7 | -------------------------------------------------------------------------------- /site/docs/boards/prusa/_media/einsy-bootloader-hookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/prusa/_media/einsy-bootloader-hookup.png -------------------------------------------------------------------------------- /site/docs/boards/prusa/_media/pi-bootloader-hookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/boards/prusa/_media/pi-bootloader-hookup.png -------------------------------------------------------------------------------- /site/docs/boards/prusa/einsy.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: Einsy 3 | --- 4 | 5 | # Prusa Einsy 6 | 7 | ## Wiring 8 | 9 | The Prusa Einsy is currently only compatible with the Prusa MK3S and the stock prusa wiring. Just make sure everything is wired according to the Prusa documentation and you'll be good to go. 10 | 11 | ## Flashing the bootloader 12 | 13 | To use the einsy board with RatOS, you need to flash a DFU bootloader to your board. Follow this guide to flash the bootloader on your Einsy, using the raspberry pi: [Einsy bootloader guide by Prutsium aka Pinky#1302](https://github.com/Prutsium/3D-Druckerplausch-Klipper/wiki/1_Flash_Einsy_USB_bootloader_en) 14 | 15 | You'll find reference pictures below of the wiring needed to flash the bootloader. 16 | 17 | ### Einsy board side pins 18 | 19 | ![Einsy bootloader hookup pins](_media/einsy-bootloader-hookup.png) 20 | 21 | [Open Full Size Image](_media/einsy-bootloader-hookup.png) 22 | 23 | ### Raspberry pi side pins 24 | 25 | ![Raspberry pi hookup pins for flashing einsy bootloader](_media/pi-bootloader-hookup.png) 26 | 27 | [Open Full Size Image](_media/pi-bootloader-hookup.png) 28 | 29 | ## Firmware installation 30 | 31 | After flashing the bootloader, follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 32 | 33 | ## I updated klipper and now i get an error! 34 | 35 | When you update klipper you might see an error that looks like this: 36 | 37 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 38 | 39 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 40 | -------------------------------------------------------------------------------- /site/docs/configuration/_media/0degree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/configuration/_media/0degree.png -------------------------------------------------------------------------------- /site/docs/configuration/_media/90degree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/configuration/_media/90degree.png -------------------------------------------------------------------------------- /site/docs/configuration/filaments.md: -------------------------------------------------------------------------------- 1 | # Filament Macros 2 | 3 | - [LOAD_FILAMENT](#load_filament) 4 | - [UNLOAD_FILAMENT](#unload_filament) 5 | - [M600](#m600) 6 | 7 | ## LOAD_FILAMENT 8 | 9 | - **Parameters** `[TOOLHEAD|TEMP]` 10 | 11 | `TOOLHEAD` = Required only for IDEX printers. 0 = Left toolhead, 1 = Right toolhead. Default: -1 12 | 13 | `TEMP` = The hotend temperature for the loading process. Default value is 220°C. 14 | 15 | ## UNLOAD_FILAMENT 16 | 17 | - **Parameters** `[TOOLHEAD|TEMP]` 18 | 19 | `TOOLHEAD` = Required only for IDEX printers. 0 = Left toolhead, 1 = Right toolhead. Default: -1 20 | 21 | `TEMP` = The hotend temperature for the unloading process. Default value is 220°C. 22 | 23 | ## M600 24 | 25 | - **Parameters** 26 | 27 | Pauses the print and unloads the filament from the hotend. Use this macro for manual filament changes. 28 | -------------------------------------------------------------------------------- /site/docs/configuration/idex.md: -------------------------------------------------------------------------------- 1 | # IDEX Macros 2 | 3 | - [IDEX_SINGLE](#idex_single) 4 | - [IDEX_COPY](#idex_copy) 5 | - [IDEX_MIRROR](#idex_mirror) 6 | - [IDEX_PARK](#idex_park) 7 | - [JOIN_SPOOLS](#join_spools) 8 | - [REMAP_TOOLHEADS](#remap_toolheads) 9 | 10 | ## IDEX Printing Modes 11 | 12 | Independent Dual Extrusion (IDEX) 3D printers offer versatile printing modes for enhanced productivity and flexibility. 13 | 14 | ### IDEX_SINGLE 15 | 16 | Single toolhead mode for single color, multicolor, and multimaterial prints. This is the default printing mode. 17 | 18 | ### IDEX_COPY 19 | 20 | Prints two identical models simultaneously. Run this macro before starting a print to enable COPY mode. The printer returns to single toolhead mode after print completion. 21 | 22 | ### IDEX_MIRROR 23 | 24 | Prints both your model and its mirror image simultaneously. Run this macro before starting a print to enable MIRROR mode. The printer returns to single toolhead mode after print completion. 25 | 26 | ### IDEX_PARK 27 | 28 | Parks the active toolhead in its designated position. Only available in single toolhead mode when not printing. 29 | 30 | ## IDEX Extras 31 | 32 | ### JOIN_SPOOLS 33 | 34 | - **Parameters** `[SPOOLS]` 35 | 36 | Automatically switches to another filament spool upon detecting runout. Requires RatOS runout sensor configuration per the [official documentation](filament_sensors.md). 37 | 38 | `SPOOLS` = Specify spool combination (e.g., `0,1` or `1,0`). Both formats achieve the same result. 39 | 40 | To disable this feature, run the `JOIN_SPOOLS` macro without parameters. 41 | 42 | ### REMAP_TOOLHEADS 43 | 44 | - **Parameters** `[TOOLHEADS]` 45 | 46 | Swaps toolhead assignments for: 47 | 48 | - Reprinting multicolor files with swapped toolheads 49 | - Reprinting single toolhead prints with the other toolhead 50 | 51 | `TOOLHEADS` = Specify toolhead order (e.g., `0,1` or `1,0`). Both formats achieve the same result. 52 | 53 | To disable this feature, run the `REMAP_TOOLHEADS` macro without parameters. 54 | -------------------------------------------------------------------------------- /site/docs/configuration/led.md: -------------------------------------------------------------------------------- 1 | # LED Control 2 | 3 | RatOS includes built-in LED status control for toolhead LEDs and supports additional custom LED configurations. 4 | 5 | ## Toolhead LED Configuration 6 | 7 | ### Single Toolhead Printer 8 | 9 | Configure your LED with the name `nozzle_led_t0`: 10 | 11 | ``` 12 | [neopixel nozzle_led_t0] 13 | pin: toolboard_t0:PD3 14 | chain_count: 3 15 | color_order: GRB 16 | initial_RED: 1.0 17 | initial_GREEN: 1.0 18 | initial_BLUE: 1.0 19 | ``` 20 | 21 | ### IDEX Printer 22 | 23 | Configure your LEDs with names `nozzle_led_t0` and `nozzle_led_t1`: 24 | 25 | ``` 26 | [neopixel nozzle_led_t0] 27 | pin: toolboard_t0:PD3 28 | chain_count: 3 29 | color_order: GRB 30 | initial_RED: 1.0 31 | initial_GREEN: 1.0 32 | initial_BLUE: 1.0 33 | 34 | [neopixel nozzle_led_t1] 35 | pin: toolboard_t1:PD3 36 | chain_count: 3 37 | color_order: GRB 38 | initial_RED: 1.0 39 | initial_GREEN: 1.0 40 | initial_BLUE: 1.0 41 | ``` 42 | 43 | ## Custom LED Integration 44 | 45 | To add a custom LED to RatOS LED control, configure it according to Klipper documentation and override this macro in your printer.cfg: 46 | 47 | ``` 48 | [gcode_macro _USER_LED_SET] 49 | gcode: 50 | # Parameters 51 | {% set toolhead = params.TOOLHEAD|default(-1)|int %} 52 | {% set r = params.R|default(0)|float %} 53 | {% set g = params.G|default(0)|float %} 54 | {% set b = params.B|default(0)|float %} 55 | 56 | # Replace MY_LED_NAME with your custom LED name 57 | SET_LED LED="MY_LED_NAME" RED={r} GREEN={g} BLUE={b} SYNC=0 58 | ``` 59 | 60 | ## Status Colors 61 | 62 | Customize LED status colors by overriding these RGB values in your printer.cfg: 63 | 64 | ``` 65 | [gcode_macro RatOS] 66 | variable_led_status_action: 0.0, 1.0, 1.0 67 | variable_led_status_success: 0.0, 1.0, 0.0 68 | variable_led_status_error: 1.0, 0.0, 1.0 69 | variable_led_status_on: 1.0, 1.0, 1.0 70 | variable_led_status_off: 0.0, 0.0, 1.0 71 | variable_led_status_standby: 0.1, 0.1, 0.1 72 | ``` 73 | -------------------------------------------------------------------------------- /site/docs/configuration/toolboards.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Toolboard Configuration 6 | 7 | RatOS supports multiple toolboards connected via USB. They can be flashed initially through the configurator, and will automatically get flashed when klipper is updated. Use the configurator wizard to select and flash your toolboard. 8 | 9 | # What about CAN? 10 | 11 | RatOS does not provide any means of setting up a CAN connection to your toolboard. At this point for this use case, CAN has no benefits and is harder to setup and use. See [No, you don't want to use CAN](/blog/no-you-dont-want-to-use-can) for more details on why CAN isn't the default protocol in RatOS. Besides the points listed in that blog post, CAN devices cannot be identified automatically, which violates RatOS' design principle. 12 | 13 | If you still want to use CAN, you can do so manually just like every other klipper installation. 14 | 15 | # Wiring 16 | 17 | Because we use USB we need to take extra care to secure our wiring, it is **imperative** to make sure that the USB-C connector cannot move. Generally this is a lot easier to achieve with the "42" size variety of toolboards than "36". 18 | 19 | There are several mounts for EVA and the Rat Rig toolhead on printables for inspiration, just make sure you use one where you can tie down the usb connector and cable. 20 | 21 | If you want a gucci cable, 3do.eu has a nice flexible FEP/Silicone sleeved USB-C cable rated for up to 200c in various lengths. 22 | 23 | To keep the umbilical nice and straight, pianowire does a great job. The bigger the size of your printer the thicker a wire you need, for reference a 0.8mm piano wire is perfect on a 400mm V-Core. 24 | -------------------------------------------------------------------------------- /site/docs/guides/_media/4028-octopus-enable-pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/guides/_media/4028-octopus-enable-pin.png -------------------------------------------------------------------------------- /site/docs/guides/_media/4028-octopus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/docs/guides/_media/4028-octopus.png -------------------------------------------------------------------------------- /site/docs/guides/real-time-analysis.md: -------------------------------------------------------------------------------- 1 | # Realtime Analysis Tool 2 | 3 | :::warning 2.1 documentation is incomplete. 4 | This is preliminary documentation for the upcoming v2.1.0 release. The work is still ongoing and the documentation is not yet complete. 5 | ::: 6 | 7 | The Realtime Analysis Tool is a tool that allows you to analyze the resonance of your printer in realtime. You can select the supported accelerometers in the dropdown menu in the top left corner of the analysis tool. 8 | 9 | ## Toolhead Oscillator 10 | 11 | The Toolhead Oscillator can be started by clicking `Stream` -> `Start Stream` in the toolbar, and then selecting an axis and oscillation frequency in `Tools` -> `Toolhead Oscillator`. You can use this to find resonance and vibration problems of your printer by provoking problematic resonance frequencies, then physically touch suspected parts of the printer to see if the amplitude of the problematic peak in the live PSD graph changes. 12 | 13 | ![Realtime Analysis Tool](/img/real-time-tool.png) 14 | 15 | ## Custom Power Spectral Density Graph Macros 16 | 17 | You can use the Real-time Analysis Tool to create your own custom analysis macros. This will provide some extra features such as peak matching, mechanical health analysis, shaper fitting and more. To create a new macro select `Macros` -> `New Macro` in the toolbar. 18 | 19 | ![Realtime Analysis Tool - Belt Tensioning Macro](/img/real-time-tool-belt-tension.png) 20 | 21 | The run it from the `Macros` tab in the real time tool. 22 | 23 | If you omit the second recording sequence, you'll instead get input shaper analysis of the recorded axis. 24 | 25 | All previous recordings can be viewed in historical context in the `Macro Overview`. 26 | -------------------------------------------------------------------------------- /site/docs/printers/list.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Complete List 3 | sidebar_position: 1000000 4 | --- 5 | 6 | :::warning 2.1 documentation is incomplete. 7 | This is preliminary documentation for the upcoming v2.1.0 release. The work is still ongoing and the documentation is not yet complete. 8 | ::: 9 | 10 | # Supported printers 11 | 12 | RatOS currently supports the following printers: 13 | 14 | ## Official Support 15 | 16 | These printers are officially supported by Rat Rig and the RatOS team. 17 | 18 | - Rat Rig V-Core Pro v1.3 19 | - Rat Rig V-Core 3 20 | - Rat Rig V-Core 3 IDEX 21 | - Rat Rig V-Core 4 22 | - Rat Rig V-Core 4 Hybrid 23 | - Rat Rig V-Core 4 IDEX 24 | - Rat Rig V-Minion 25 | - Rat Rig V-Chonk 26 | - Rat Rig V-Chonk 3Z Mod 27 | 28 | ## Community Support 29 | 30 | These printers are supported through community contributions and may not be as well tested. 31 | 32 | - Prusa Mini 33 | - Pruse MK3S 34 | - Voron Design V0.1 35 | - Voron Design V2.4 36 | 37 | ## Hardware Compatibility 38 | 39 | Any board or board + toolboard combination that makes up the necessary amount of drivers will work on any printer. -------------------------------------------------------------------------------- /site/docs/toolboards/btt/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "BIGTREETECH", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 1 6 | } 7 | -------------------------------------------------------------------------------- /site/docs/toolboards/btt/ebb-36-10.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-36 v1.0 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb36-wiring.svg"; 6 | 7 | # BIGTREETECH EBB36 v1.0 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/ebb36-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/docs/toolboards/btt/ebb-36-11.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-36 v1.1 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb36-wiring.svg"; 6 | 7 | # BIGTREETECH EBB36 v1.1 8 | 9 | :::danger This board can be dangerous 10 | When this board boots into DFU mode (which happens during firmware updates), the heater pin will be set to high, meaning your hotend will heat up for the duration of the firmware update process. 11 | For this reason automatic firmware updates is disabled by default for the BTT EBB v1.1 boards in RatOS. You'll have to flash it through the [RatOS Configurator](http://RatOS.local/configure?step=2) when needed. 12 | See page 14 and 15 in the [BTT EBB v1.1 manual]() 13 | ::: 14 | 15 | ## Wiring 16 | 17 | 18 | 19 | [Open Full Size Image](_media/ebb36-wiring.svg) 20 | 21 | :::caution Use a good quality cable 22 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 23 | ::: 24 | 25 | ## Firmware installation 26 | 27 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 28 | 29 | ## I updated klipper and now i get an error! 30 | 31 | When you update klipper you might see an error that looks like this: 32 | 33 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 34 | 35 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 36 | -------------------------------------------------------------------------------- /site/docs/toolboards/btt/ebb-36-12.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-36 v1.2 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb36-wiring.svg"; 6 | 7 | # BIGTREETECH EBB36 v1.2 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/ebb36-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/docs/toolboards/btt/ebb-42-10.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-42 v1.0 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb42-wiring.svg"; 6 | 7 | # BIGTREETECH EBB42 v1.0 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/ebb42-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/docs/toolboards/btt/ebb-42-11.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-42 v1.1 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb42-wiring.svg"; 6 | 7 | # BIGTREETECH EBB42 v1.1 8 | 9 | :::danger This board can be dangerous 10 | When this board boots into DFU mode (which happens during firmware updates), the heater pin will be set to high, meaning your hotend will heat up for the duration of the firmware update process. 11 | For this reason automatic firmware updates is disabled by default for the BTT EBB v1.1 boards in RatOS. You'll have to flash it through the [RatOS Configurator](http://RatOS.local/configure?step=2) when needed. 12 | See page 14 and 15 in the [BTT EBB v1.1 manual]() 13 | ::: 14 | 15 | ## Wiring 16 | 17 | 18 | 19 | [Open Full Size Image](_media/ebb42-wiring.svg) 20 | 21 | :::caution Use a good quality cable 22 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 23 | ::: 24 | 25 | ## Firmware installation 26 | 27 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 28 | 29 | ## I updated klipper and now i get an error! 30 | 31 | When you update klipper you might see an error that looks like this: 32 | 33 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 34 | 35 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 36 | -------------------------------------------------------------------------------- /site/docs/toolboards/btt/ebb-42-12.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-42 v1.2 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb42-wiring.svg"; 6 | 7 | # BIGTREETECH EBB42 v1.2 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/ebb42-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/docs/toolboards/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Complete list 3 | sidebar_position: 1000000 4 | --- 5 | 6 | # Supported control boards 7 | 8 | :::warning 2.1 documentation is incomplete. 9 | This is preliminary documentation for the upcoming v2.1.0 release. The work is still ongoing and the documentation is not yet complete. 10 | ::: 11 | 12 | RatOS currently supports the following toolboards: 13 | 14 | ### Big Tree Tech 15 | 16 | - [BIGTREETECH EBB36 v1.0](btt/ebb-36-10.mdx) 17 | - [BIGTREETECH EBB36 v1.1](btt/ebb-36-11.mdx) 18 | - [BIGTREETECH EBB36 v1.2](btt/ebb-36-12.mdx) 19 | - [BIGTREETECH EBB42 v1.0](btt/ebb-42-10.mdx) 20 | - [BIGTREETECH EBB42 v1.1](btt/ebb-42-11.mdx) 21 | - [BIGTREETECH EBB42 v1.2](btt/ebb-42-12.mdx) 22 | - BIGTREETECH SB2209 v1.0 RP2040 23 | - BIGTREETECH SB2209 v1.0 STM32 24 | - BIGTREETECH SB2240 v1.0 STM32 25 | 26 | ### LDO 27 | 28 | - LDO Orbitool O2 29 | 30 | ### Mellow 31 | 32 | - [Mellow FLY SHT36 v1](mellow/fly-sht-36.mdx) 33 | - [Mellow FLY SHT42 v1](mellow/fly-sht-42.mdx) 34 | -------------------------------------------------------------------------------- /site/docs/toolboards/mellow/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Mellow", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 2 6 | } 7 | -------------------------------------------------------------------------------- /site/docs/toolboards/mellow/fly-sht-36.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: FLY SHT-36 3 | --- 4 | 5 | import WiringSVG from "./_media/fly-sht-36-wiring.svg"; 6 | 7 | # Mellow FLY SHT-36 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/fly-sht-36-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/docs/toolboards/mellow/fly-sht-42.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: FLY SHT-42 3 | --- 4 | 5 | import WiringSVG from "./_media/fly-sht-42-wiring.svg"; 6 | 7 | # Mellow FLY SHT-42 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/fly-sht-42-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/postcss.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from 'postcss-load-config'; 2 | 3 | const config: Config = { 4 | plugins: { 5 | tailwindcss: {}, 6 | autoprefixer: {}, 7 | }, 8 | }; 9 | 10 | export default config; -------------------------------------------------------------------------------- /site/src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { ClassValue, clsx } from "clsx"; 2 | import { twMerge } from "tailwind-merge"; 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)); 6 | } 7 | -------------------------------------------------------------------------------- /site/static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/.nojekyll -------------------------------------------------------------------------------- /site/static/CNAME: -------------------------------------------------------------------------------- 1 | os.ratrig.com -------------------------------------------------------------------------------- /site/static/img/config-folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/config-folder.png -------------------------------------------------------------------------------- /site/static/img/diagram/EBB36.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/EBB36.webp -------------------------------------------------------------------------------- /site/static/img/diagram/EBB42.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/EBB42.webp -------------------------------------------------------------------------------- /site/static/img/diagram/adxl345.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/adxl345.png -------------------------------------------------------------------------------- /site/static/img/diagram/axial-fan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/axial-fan.png -------------------------------------------------------------------------------- /site/static/img/diagram/beacon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/beacon.webp -------------------------------------------------------------------------------- /site/static/img/diagram/bed-heater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/bed-heater.png -------------------------------------------------------------------------------- /site/static/img/diagram/blower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/blower.png -------------------------------------------------------------------------------- /site/static/img/diagram/bltouch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/bltouch.png -------------------------------------------------------------------------------- /site/static/img/diagram/endstop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/endstop.png -------------------------------------------------------------------------------- /site/static/img/diagram/fly-sht36.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/fly-sht36.webp -------------------------------------------------------------------------------- /site/static/img/diagram/fly-sht42.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/fly-sht42.webp -------------------------------------------------------------------------------- /site/static/img/diagram/heater-thermistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/heater-thermistor.png -------------------------------------------------------------------------------- /site/static/img/diagram/inductive-probe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/inductive-probe.png -------------------------------------------------------------------------------- /site/static/img/diagram/kraken.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/kraken.webp -------------------------------------------------------------------------------- /site/static/img/diagram/ldo-orbitool-o2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/ldo-orbitool-o2.webp -------------------------------------------------------------------------------- /site/static/img/diagram/leviathan.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/leviathan.webp -------------------------------------------------------------------------------- /site/static/img/diagram/manta-e3ez.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/manta-e3ez.png -------------------------------------------------------------------------------- /site/static/img/diagram/manta-m4p.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/manta-m4p.webp -------------------------------------------------------------------------------- /site/static/img/diagram/manta-m5p.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/manta-m5p.webp -------------------------------------------------------------------------------- /site/static/img/diagram/manta-m8p-20.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/manta-m8p-20.webp -------------------------------------------------------------------------------- /site/static/img/diagram/manta-m8p.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/manta-m8p.webp -------------------------------------------------------------------------------- /site/static/img/diagram/nema17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/nema17.png -------------------------------------------------------------------------------- /site/static/img/diagram/nitehawk36-fixed.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/nitehawk36-fixed.webp -------------------------------------------------------------------------------- /site/static/img/diagram/nitehawk36.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/nitehawk36.webp -------------------------------------------------------------------------------- /site/static/img/diagram/octopus-max-ez.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/octopus-max-ez.png -------------------------------------------------------------------------------- /site/static/img/diagram/octopus-pro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/octopus-pro.png -------------------------------------------------------------------------------- /site/static/img/diagram/octopus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/octopus.png -------------------------------------------------------------------------------- /site/static/img/diagram/pi4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/pi4.png -------------------------------------------------------------------------------- /site/static/img/diagram/prusa-buddy.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/prusa-buddy.webp -------------------------------------------------------------------------------- /site/static/img/diagram/prusa-einsy.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/prusa-einsy.webp -------------------------------------------------------------------------------- /site/static/img/diagram/psu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/psu.png -------------------------------------------------------------------------------- /site/static/img/diagram/skr-14.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/skr-14.webp -------------------------------------------------------------------------------- /site/static/img/diagram/skr-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/skr-2.png -------------------------------------------------------------------------------- /site/static/img/diagram/skr-mini-e3-v3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/skr-mini-e3-v3.webp -------------------------------------------------------------------------------- /site/static/img/diagram/skr-pico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/skr-pico.png -------------------------------------------------------------------------------- /site/static/img/diagram/skr-pro-12.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/skr-pro-12.webp -------------------------------------------------------------------------------- /site/static/img/diagram/skr3-ez.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/skr3-ez.webp -------------------------------------------------------------------------------- /site/static/img/diagram/skr3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/skr3.webp -------------------------------------------------------------------------------- /site/static/img/diagram/skrat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/skrat.png -------------------------------------------------------------------------------- /site/static/img/diagram/spider-11.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/spider-11.webp -------------------------------------------------------------------------------- /site/static/img/diagram/spider-22.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/spider-22.webp -------------------------------------------------------------------------------- /site/static/img/diagram/ssr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/diagram/ssr.png -------------------------------------------------------------------------------- /site/static/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/favicon.png -------------------------------------------------------------------------------- /site/static/img/firmware_version_mismatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/firmware_version_mismatch.png -------------------------------------------------------------------------------- /site/static/img/initial-macros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/initial-macros.png -------------------------------------------------------------------------------- /site/static/img/logos/Icon-all_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Icon-all_black.png -------------------------------------------------------------------------------- /site/static/img/logos/Icon-all_black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/static/img/logos/Icon-all_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Icon-all_white.png -------------------------------------------------------------------------------- /site/static/img/logos/Icon-all_white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/static/img/logos/Icon-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Icon-black.png -------------------------------------------------------------------------------- /site/static/img/logos/Icon-black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/static/img/logos/Icon-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Icon-white.png -------------------------------------------------------------------------------- /site/static/img/logos/Icon-white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/static/img/logos/Logo-all_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Logo-all_black.png -------------------------------------------------------------------------------- /site/static/img/logos/Logo-all_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Logo-all_white.png -------------------------------------------------------------------------------- /site/static/img/logos/Logo-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Logo-black.png -------------------------------------------------------------------------------- /site/static/img/logos/Logo-v2-all_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Logo-v2-all_black.png -------------------------------------------------------------------------------- /site/static/img/logos/Logo-v2-all_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Logo-v2-all_white.png -------------------------------------------------------------------------------- /site/static/img/logos/Logo-v2-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Logo-v2-black.png -------------------------------------------------------------------------------- /site/static/img/logos/Logo-v2-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Logo-v2-white.png -------------------------------------------------------------------------------- /site/static/img/logos/Logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Logo-white.png -------------------------------------------------------------------------------- /site/static/img/logos/Type-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Type-white.png -------------------------------------------------------------------------------- /site/static/img/logos/Type-white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/static/img/logos/Type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Type.png -------------------------------------------------------------------------------- /site/static/img/logos/Type.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/static/img/logos/Type_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/Type_black.png -------------------------------------------------------------------------------- /site/static/img/logos/Type_black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/static/img/logos/intermode-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/intermode-logo.png -------------------------------------------------------------------------------- /site/static/img/logos/ratrig-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/ratrig-logo.png -------------------------------------------------------------------------------- /site/static/img/logos/rpi-imager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/logos/rpi-imager.png -------------------------------------------------------------------------------- /site/static/img/mainsail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/mainsail.jpg -------------------------------------------------------------------------------- /site/static/img/moonraker_unparsed_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/moonraker_unparsed_config.png -------------------------------------------------------------------------------- /site/static/img/ratos-configurator-hardware-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/ratos-configurator-hardware-selection.png -------------------------------------------------------------------------------- /site/static/img/ratos-configurator-printer-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/ratos-configurator-printer-selection.png -------------------------------------------------------------------------------- /site/static/img/real-time-tool-belt-tension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/real-time-tool-belt-tension.png -------------------------------------------------------------------------------- /site/static/img/real-time-tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/real-time-tool.png -------------------------------------------------------------------------------- /site/static/img/site-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/site-banner.png -------------------------------------------------------------------------------- /site/static/img/tutorial/docsVersionDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/tutorial/docsVersionDropdown.png -------------------------------------------------------------------------------- /site/static/img/tutorial/localeDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/static/img/tutorial/localeDropdown.png -------------------------------------------------------------------------------- /site/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // This file is not used in compilation. It is here just for a nice editor experience. 3 | "extends": "@docusaurus/tsconfig", 4 | "compilerOptions": { 5 | "baseUrl": ".", 6 | "jsx": "react-jsx", 7 | "types": ["react/jsx-runtime"], 8 | "paths": { 9 | "@site/*": ["./*"], 10 | "react": ["./node_modules/@types/react"] 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /site/types.d.ts: -------------------------------------------------------------------------------- 1 | declare module "tailwindcss/lib/util/flattenColorPalette" { 2 | export default function flattenColorPalette( 3 | colors: Record> 4 | ): Record; 5 | } 6 | 7 | declare module "tailwindcss/lib/util/color" { 8 | export const parseColor: (color: string) => { 9 | mode: "hsl" | "rgb" | "hsla" | "rgba"; 10 | color: [number, number, number]; 11 | alpha?: string; 12 | }; 13 | export const formatColor: (color: { 14 | mode: "hsl" | "rgb" | "hsla" | "rgba"; 15 | color: [number, number, number]; 16 | alpha?: string; 17 | }) => string; 18 | } 19 | -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Supported Boards", 3 | "position": 3, 4 | "collapsible": false, 5 | "collapsed": false 6 | } -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "BIGTREETECH", 3 | "collapsible": true, 4 | "collapsed": false 5 | } -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/jumper-symbol.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/octopus-11-wiring-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/octopus-11-wiring-full.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/octopus-11-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/octopus-11-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/octopus-pro-wiring-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/octopus-pro-wiring-full.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/octopus-pro-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/octopus-pro-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-ADXL345-angled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-ADXL345-angled.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-ADXL345-top-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-ADXL345-top-down.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-endstops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-endstops.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-jumpers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-jumpers.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-stepper-pins-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-stepper-pins-alt.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-stepper-pins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-stepper-pins.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-vin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-vin.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/btt/_media/skr-pro-12-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/fysetc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fysetc", 3 | "collapsible": true, 4 | "collapsed": false 5 | } -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/fysetc/_media/BT0-jumper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/fysetc/_media/BT0-jumper.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/fysetc/_media/Probe_Voltage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/fysetc/_media/Probe_Voltage.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/fysetc/_media/SpiderADXL-Wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/fysetc/_media/SpiderADXL-Wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/boards/fysetc/_media/spider-11-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/boards/fysetc/_media/spider-11-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/configuration/includes-and-overrides.md: -------------------------------------------------------------------------------- 1 | # Includes & Overrides 2 | 3 | RatOS uses a modular configuration that heavily takes advantage of the config file include and merge logic in Klipper. For this reason, the order of includes and overrides are very important, do **not** change the order of the configuration unless you know what you're doing. 4 | 5 | :::danger 6 | Do **NOT** edit the files inside the `config/` folder. These files are controlled by RatOS and will be updated when the RatOS package is updated. 7 | ![Hands off the RatOS Managed Config Folder!](/img/config-folder.png) 8 | ::: 9 | 10 | You can override any setting in RatOS, to do so you just copy the section and the parameter you need to change, and paste it in your printer.cfg in the `USER OVERRIDES` section. Let's say we wanted to change the current the extruder motor. If we navigate to `config/printers/v-core-3/steppers.cfg` we'll see this section: 11 | 12 | ```properties 13 | [tmc2209 extruder] 14 | uart_pin: e_uart_pin 15 | run_current: 0.5 16 | hold_current: 0.400 17 | stealthchop_threshold: 900 18 | ``` 19 | 20 | We're only interested in the `run_current` and `hold_current` settings, so all we need to do is go back to printer.cfg, scroll down to the `USER OVERRIDES` comment section and put in the following: 21 | 22 | ```properties 23 | ### USER OVERRIDES 24 | # Place all your overrides here 25 | 26 | [tmc2209 extruder] 27 | run_current: 0.35 28 | hold_current: 0.200 29 | ``` 30 | 31 | This works for any section (including gcode macros) and any parameter. You only need to override the parts you're interested in. Imagine that each `[include]` section is simply replaced by the contents of the included file. You can have the same section defined multiple times, they will all get merged by klipper when it reads the config, with the last parameters taking precedence. This makes for a super powerful way to build your config! Refer to the [klipper config reference](https://www.klipper3d.org/Config_Reference.html) for all the cool things you can do. 32 | -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/guides/_media/4028-octopus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-1.2.x/guides/_media/4028-octopus.png -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/manual-firmware-compilation.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 10 3 | sidebar_label: Manual Firmware Compilation 4 | --- 5 | 6 | # Manual klipper firmware compilation 7 | 8 | :::info 9 | RatOS automatically compiles firmware for your board when klipper is updated. You shouldn't have to do this unless something is broken. 10 | ::: 11 | 12 | If you need to compile the firmware for your board yourself, here's how you do it. 13 | 14 | ## SSH into the Raspberry Pi 15 | 16 | You're need to log into the Pi via SSH. The default username is `pi` and the password is `raspberry` (sidenote: it's a good idea to change this via `sudo raspi-config`). If you're on linux or Mac OS, you can do this by opening a terminal and type: 17 | 18 | ```bash 19 | ssh pi@ratos.local 20 | ``` 21 | 22 | Now navigate to the klipper directory: 23 | 24 | ```bash 25 | cd ~/klipper 26 | ``` 27 | 28 | The configuration klipper needs to compile the firmware for your board is stored in `~/klipper_config/config/boards/[BOARD_NAME]/firmware.config`. To list the board names execute the following command: 29 | 30 | ```bash 31 | ls -la ~/klipper_config/config/boards 32 | ``` 33 | 34 | Let's say we need to compile the firmware for the octopus. We then need to copy the configuration file from `~/klipper_config/config/boards/btt-octopus-11/firmware.config` 35 | 36 | ```bash 37 | cp -f ~/klipper_config/config/boards/btt-octopus-11/firmware.config ~/klipper/.config 38 | ``` 39 | 40 | Now we're ready to compile the firmware! 41 | 42 | ```bash 43 | make olddefconfig 44 | make clean 45 | make 46 | ``` 47 | 48 | ## Download the firmware from the Pi 49 | 50 | Now klipper has compiled it's firmware to `~/klipper/out/klipper.bin`. We can download that to our machine via `scp` or [WinSCP](https://winscp.net/eng/download.php) (for windows users). 51 | 52 | Linux and Mac OS users can use scp from their local machines like this: 53 | 54 | ```bash 55 | scp pi@ratos.local:klipper/out/klipper.bin firmware.bin 56 | ``` 57 | -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/printers/v-core-3.md: -------------------------------------------------------------------------------- 1 | # Rat Rig V-Core 3 2 | 3 | The Rat [Rig V-Core 3](https://v-core.ratrig.com/) is a Core XY printer in 3 large sizes produced and sold as kits by [Rat Rig](https://www.ratrig.com) 4 | 5 | ## Supported Boards 6 | 7 | - [BIGTREETECH Octopus v1.1](boards/btt/octopus-11.md) 8 | - [BIGTREETECH Octopus Pro 446](boards/btt/octopus-pro-446.md) 9 | - [BIGTREETECH Octopus Pro 429](boards/btt/octopus-pro-429.md) 10 | - [BIGTREETECH SKR Pro v1.2](boards/btt/skr-pro-12.md) 11 | - [Fysetc Spider v1.1](boards/fysetc/spider-11.md) 12 | -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/printers/v-core-pro.md: -------------------------------------------------------------------------------- 1 | # Rat Rig V-Core Pro 1.3 2 | 3 | The Rat [Rig V-Core Pro 1.3](https://v-core.ratrig.com/V-Core-Pro/) is a (discontinued) Core XY printer in 3 large sizes produced and sold as kits by [Rat Rig](https://www.ratrig.com) 4 | it has the same kinematic bed system as the V-Core 3, but based on a 2020/2040 frame. 5 | 6 | ## Supported Boards 7 | 8 | - [BIGTREETECH Octopus v1.1](boards/btt/octopus-11.md) 9 | - [BIGTREETECH Octopus Pro 446](boards/btt/octopus-pro-446.md) 10 | - [BIGTREETECH Octopus Pro 429](boards/btt/octopus-pro-429.md) 11 | - [BIGTREETECH SKR Pro v1.2](boards/btt/skr-pro-12.md) 12 | - [Fysetc Spider v1.1](boards/fysetc/spider-11.md) 13 | 14 | ## Post installation steps 15 | 16 | Replace your `printer.cfg` with `config/templates/v-core-pro-printer.template.cfg` 17 | -------------------------------------------------------------------------------- /site/versioned_docs/version-1.2.x/printers/v-minion.md: -------------------------------------------------------------------------------- 1 | # Rat Rig V-Minion 2 | 3 | The Rat [Rig V-Minion](https://www.youtube.com/watch?v=QXFAqerE9ws) is a yet upcoming cantilevered cartesian bedslinger produced and sold as kits by [Rat Rig](https://www.ratrig.com) 4 | 5 | ## Supported Boards 6 | 7 | :::tip 8 | Since the v-minion only has 1 z stepper, you only need to connect the `Left Z` stepper and stepper driver when using >5 stepper boards. 9 | ::: 10 | 11 | - [BIGTREETECH SKR 2 429](boards/btt/skr-2-429.md) 12 | - [BIGTREETECH Octopus v1.1](boards/btt/octopus-11.md) 13 | - [BIGTREETECH Octopus Pro 446](boards/btt/octopus-pro-446.md) 14 | - [BIGTREETECH Octopus Pro 429](boards/btt/octopus-pro-429.md) 15 | - [BIGTREETECH SKR Pro v1.2](boards/btt/skr-pro-12.md) 16 | - [Fysetc Spider v1.1](boards/fysetc/spider-11.md) 17 | 18 | ## Post installation steps 19 | Click the "INSTALL VMINION CONFIG" button in the Macros panel, or manually replace your `printer.cfg` with `config/templates/v-minion-printer.template.cfg` 20 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Supported Boards", 3 | "position": 3, 4 | "collapsible": false, 5 | "collapsed": false 6 | } -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "BIGTREETECH", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 1 6 | } -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/jumper-symbol.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/octopus-11-wiring-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/octopus-11-wiring-full.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/octopus-11-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/octopus-11-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/octopus-pro-wiring-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/octopus-pro-wiring-full.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/octopus-pro-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/octopus-pro-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-ADXL345-angled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-ADXL345-angled.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-ADXL345-top-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-ADXL345-top-down.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-endstops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-endstops.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-jumpers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-jumpers.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-stepper-pins-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-stepper-pins-alt.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-stepper-pins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-stepper-pins.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-vin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-vin.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skr-pro-12-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/_media/skrat-10-pi-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/btt/_media/skrat-10-pi-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/octopus-11-407.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: Octopus v1.1 F407 3 | --- 4 | 5 | # BIGTREETECH Octopus v1.1 w/ STM32F407 6 | 7 | ## Wiring 8 | 9 | ![BTT Octopus V1.1 Wiring Diagram](_media/octopus-11-wiring.png) 10 | [Open Full Size Image](_media/octopus-11-wiring-full.png) 11 | 12 | :::danger if you use the Ratrig endstop switches and cables, do **not** blindly plug them in to your Octopus as doing this will short the board's 3.3V power rail. 13 | You will probably have to swap the outer two wires (red and white) on the board end of the cable but double check to make sure your cables match the wiring diagram in both ends. 14 | Orders shipped after October 2022 should have the correct cables (the connectors on the new cables are white). 15 | ::: 16 | 17 | :::info Jumpers 18 | ![Jumper Symbol](_media/jumper-symbol.svg) A green square with triangles inside is where you would place a jumper, 19 | remove all jumpers on the board that are not marked by this symbol. 20 | ::: 21 | 22 | ## Firmware installation 23 | 24 | :::caution Use a proper cable 25 | Make sure your board is connected to the Pi **via the provided USB-C cable** (USB-C on the Octopus, USB-A on the Pi). 26 | ::: 27 | 28 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 29 | 30 | ## I updated klipper and now i get an error! 31 | 32 | When you update klipper you might see an error that looks like this: 33 | 34 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 35 | 36 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 37 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/octopus-11.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: Octopus v1.1 3 | --- 4 | 5 | # BIGTREETECH Octopus v1.1 6 | 7 | ## Wiring 8 | 9 | ![BTT Octopus V1.1 Wiring Diagram](_media/octopus-11-wiring.png) 10 | [Open Full Size Image](_media/octopus-11-wiring-full.png) 11 | 12 | :::danger if you use the Ratrig endstop switches and cables, do **not** blindly plug them in to your Octopus as doing this will short the board's 3.3V power rail. 13 | You will probably have to swap the outer two wires (red and white) on the board end of the cable but double check to make sure your cables match the wiring diagram in both ends. 14 | Orders shipped after October 2022 should have the correct cables (the connectors on the new cables are white). 15 | ::: 16 | 17 | :::info Jumpers 18 | ![Jumper Symbol](_media/jumper-symbol.svg) A green square with triangles inside is where you would place a jumper, 19 | remove all jumpers on the board that are not marked by this symbol. 20 | ::: 21 | 22 | ## Firmware installation 23 | 24 | :::caution Use a proper cable 25 | Make sure your board is connected to the Pi **via the provided USB-C cable** (USB-C on the Octopus, USB-A on the Pi). 26 | ::: 27 | 28 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 29 | 30 | ## I updated klipper and now i get an error! 31 | 32 | When you update klipper you might see an error that looks like this: 33 | 34 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 35 | 36 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 37 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/btt/skr-mini-e3-30.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: SKR Mini E3 v3.0 3 | --- 4 | 5 | import WiringSVG from "./_media/skr-mini-e3-30-wiring.svg"; 6 | 7 | # BIGTREETECH SKR Mini E3 v3.0 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/skr-mini-e3-30-wiring.svg) 14 | 15 | ## Firmware installation 16 | 17 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 18 | 19 | ## I updated klipper and now i get an error! 20 | 21 | When you update klipper you might see an error that looks like this: 22 | 23 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 24 | 25 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 26 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/fysetc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fysetc", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 2 6 | } -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/fysetc/_media/BT0-jumper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/fysetc/_media/BT0-jumper.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/fysetc/_media/Probe_Voltage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/fysetc/_media/Probe_Voltage.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/fysetc/_media/SpiderADXL-Wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/fysetc/_media/SpiderADXL-Wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/fysetc/_media/spider-11-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/fysetc/_media/spider-11-wiring.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Complete list 3 | sidebar_position: 1000000 4 | --- 5 | 6 | # Supported control boards 7 | 8 | RatOS currently supports the following control boards: 9 | 10 | ### Big Tree Tech 11 | 12 | - [BIGTREETECH SKRat v1.0](btt/skrat-10.mdx) 13 | - [BIGTREETECH SKR 2 429](btt/skr-2-429.md) 14 | - [BIGTREETECH SKR 2 407](btt/skr-2-429.md) 15 | - [BIGTREETECH SKR 3](btt/skr-3.mdx) 16 | - [BIGTREETECH SKR 3 EZ](btt/skr-3-ez.mdx) 17 | - [BIGTREETECH Octopus v1.1](btt/octopus-11.md) 18 | - [BIGTREETECH Octopus v1.1 F407](btt/octopus-11-407.md) 19 | - [BIGTREETECH Octopus Max EZ](btt/octopus-max-ez.mdx) 20 | - [BIGTREETECH Octopus Pro 446](btt/octopus-pro-446.md) 21 | - [BIGTREETECH Octopus Pro 429](btt/octopus-pro-429.md) 22 | - [BIGTREETECH Octopus Pro H723 v1.0](btt/octopus-pro-h723.md) 23 | - [BIGTREETECH Octopus Pro H723 v1.1](btt/octopus-pro-h723.md) 24 | - [BIGTREETECH Manta M4P v1.0](btt/manta-m4p-10.mdx) 25 | - [BIGTREETECH Manta M4P v2.2](btt/manta-m4p-22.mdx) 26 | - [BIGTREETECH Manta M8P v1.0](btt/manta-m8p.mdx) 27 | - [BIGTREETECH Manta M8P v1.1](btt/manta-m8p-11.mdx) 28 | - [BIGTREETECH Manta E3EZ](btt/manta-e3ez.mdx) 29 | - [BIGTREETECH SKR Pro v1.2](btt/skr-pro-12.md) 30 | - [BIGTREETECH SKR Mini E3 V3.0](btt/skr-mini-e3-30.mdx) 31 | 32 | ### Fysetc 33 | 34 | - [Fysetc Spider v1.1](fysetc/spider-11.md) 35 | 36 | 37 | ### Prusa 38 | 39 | - [Prusa Einsy](prusa/einsy.mdx) 40 | - Prusa Buddy 41 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/prusa/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Prusa", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 3 6 | } 7 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/prusa/_media/einsy-bootloader-hookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/prusa/_media/einsy-bootloader-hookup.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/prusa/_media/pi-bootloader-hookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/boards/prusa/_media/pi-bootloader-hookup.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/boards/prusa/einsy.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: Einsy 3 | --- 4 | 5 | # Prusa Einsy 6 | 7 | ## Wiring 8 | 9 | The Prusa Einsy is currently only compatible with the Prusa MK3S and the stock prusa wiring. Just make sure everything is wired according to the Prusa documentation and you'll be good to go. 10 | 11 | ## Flashing the bootloader 12 | 13 | To use the einsy board with RatOS, you need to flash a DFU bootloader to your board. Follow this guide to flash the bootloader on your Einsy, using the raspberry pi: [Einsy bootloader guide by Prutsium aka Pinky#1302](https://github.com/Prutsium/3D-Druckerplausch-Klipper/wiki/1_Flash_Einsy_USB_bootloader_en) 14 | 15 | You'll find reference pictures below of the wiring needed to flash the bootloader. 16 | 17 | ### Einsy board side pins 18 | 19 | ![Einsy bootloader hookup pins](_media/einsy-bootloader-hookup.png) 20 | 21 | [Open Full Size Image](_media/einsy-bootloader-hookup.png) 22 | 23 | ### Raspberry pi side pins 24 | 25 | ![Raspberry pi hookup pins for flashing einsy bootloader](_media/pi-bootloader-hookup.png) 26 | 27 | [Open Full Size Image](_media/pi-bootloader-hookup.png) 28 | 29 | ## Firmware installation 30 | 31 | After flashing the bootloader, follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 32 | 33 | ## I updated klipper and now i get an error! 34 | 35 | When you update klipper you might see an error that looks like this: 36 | 37 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 38 | 39 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=1](http://RatOS.local/configure?step=1). 40 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/configuration/toolboards.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Toolboard Configuration 6 | 7 | RatOS supports multiple toolboards connected via USB. They can be flashed initially through the configurator, and will automatically get flashed when klipper is updated. To configure your toolboard, you need to uncomment your board and features in the toolboard section in `printer.cfg` near the bottom, just before the user overides section. 8 | 9 | # What about CAN? 10 | 11 | No CAN do. RatOS does not provide any means of setting up a CAN connection to your toolboard. At this point for this use case, CAN has no benefits and is harder to use. See [No, you don't want to use CAN](/blog/no-you-dont-want-to-use-can) for more details on why CAN isn't the default protocol in RatOS. Besides the points listed in that blog post, CAN devices cannot be identified automatically, which violates RatOS' design principle. 12 | 13 | If, despite all this, you still want to use CAN, you can do so manually just like every other klipper installation. 14 | 15 | # Wiring 16 | 17 | Because we use USB we need to take extra care to secure our wiring, it is **imperative** to make sure that the USB-C connector cannot move. Generally this is a lot easier to achieve with the "42" size variety of toolboards than "36". There are several mounts for EVA on printables for inspiration, just make sure you use one where you can tie down the usb connector and cable. If you want a gucci cable, 3do.eu has a nice flexible FEP/Silicone sleeved USB-C cable rated for up to 200c in various lengths. To keep the umbilical nice and straight, pianowire does a great job. The bigger the size of your printer the thicker a wire you need, for reference a 0.8mm piano wire is perfect on a 400mm. 18 | 19 | # Toolboard accelerometer 20 | 21 | Just like all toolboard pins have their name prefixed by `toolboard:`, the onboard accelerometer has it's own name too. To reference it use `adxl345 toolboard` or `toolboard`, for example in `MEASURE_AXIS_NOISE` you would add the chip name like this: `MEASURE_AXIS_NOISE CHIP="toolboard"`. 22 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/guides/_media/4028-octopus-enable-pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/guides/_media/4028-octopus-enable-pin.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/guides/_media/4028-octopus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/site/versioned_docs/version-2.0.x/guides/_media/4028-octopus.png -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/printers/v-core-3.md: -------------------------------------------------------------------------------- 1 | # Rat Rig V-Core 3 2 | 3 | The [Rat Rig V-Core 3](https://v-core.ratrig.com/) is a Core XY printer in 3 large sizes produced and sold as kits by [Rat Rig](https://www.ratrig.com) 4 | 5 | ## Supported Boards 6 | 7 | - [BIGTREETECH Octopus v1.1](boards/btt/octopus-11.md) 8 | - [BIGTREETECH Octopus v1.1 F407](boards/btt/octopus-11-407.md) 9 | - [BIGTREETECH Octopus Pro 446](boards/btt/octopus-pro-446.md) 10 | - [BIGTREETECH Octopus Pro 429](boards/btt/octopus-pro-429.md) 11 | - [BIGTREETECH Octopus Pro H723](boards/btt/octopus-pro-h723.md) 12 | - [BIGTREETECH Manta M8P](boards/btt/manta-m8p.mdx) 13 | - [BIGTREETECH SKR Pro v1.2](boards/btt/skr-pro-12.md) 14 | - [Fysetc Spider v1.1](boards/fysetc/spider-11.md) 15 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/printers/v-core-pro.md: -------------------------------------------------------------------------------- 1 | # Rat Rig V-Core Pro 1.3 2 | 3 | The [Rat Rig V-Core Pro 1.3](https://v-core.ratrig.com/V-Core-Pro/) is a (discontinued) Core XY printer in 3 large sizes produced and sold as kits by [Rat Rig](https://www.ratrig.com) 4 | it has the same kinematic bed system as the V-Core 3, but based on a 2020/2040 frame. 5 | 6 | ## Supported Boards 7 | 8 | - [BIGTREETECH Octopus v1.1](boards/btt/octopus-11.md) 9 | - [BIGTREETECH Octopus v1.1 F407](boards/btt/octopus-11-407.md) 10 | - [BIGTREETECH Octopus Pro 446](boards/btt/octopus-pro-446.md) 11 | - [BIGTREETECH Octopus Pro 429](boards/btt/octopus-pro-429.md) 12 | - [BIGTREETECH Octopus Pro H723](boards/btt/octopus-pro-h723.md) 13 | - [BIGTREETECH Manta M8P](boards/btt/manta-m8p.mdx) 14 | - [BIGTREETECH SKR Pro v1.2](boards/btt/skr-pro-12.md) 15 | - [Fysetc Spider v1.1](boards/fysetc/spider-11.md) 16 | 17 | ## Post installation steps 18 | 19 | Replace your `printer.cfg` with `config/templates/v-core-pro-printer.template.cfg` 20 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/printers/v-minion.md: -------------------------------------------------------------------------------- 1 | # Rat Rig V-Minion 2 | 3 | The [Rat Rig V-Minion](https://v-minion.ratrig.com/) is a yet upcoming cantilevered cartesian bedslinger produced and sold as kits by [Rat Rig](https://www.ratrig.com) 4 | 5 | ## Supported Boards 6 | 7 | :::tip 8 | Since the v-minion only has 1 z stepper, you only need to connect the `Left Z` stepper and stepper driver when using >5 stepper boards. 9 | ::: 10 | 11 | - [BIGTREETECH SKRat v1.0](boards/btt/skrat-10.mdx) 12 | - [BIGTREETECH SKR 2 429](boards/btt/skr-2-429.md) 13 | - [BIGTREETECH Octopus v1.1](boards/btt/octopus-11.md) 14 | - [BIGTREETECH Octopus v1.1 F407](boards/btt/octopus-11-407.md) 15 | - [BIGTREETECH Octopus Pro 446](boards/btt/octopus-pro-446.md) 16 | - [BIGTREETECH Octopus Pro 429](boards/btt/octopus-pro-429.md) 17 | - [BIGTREETECH Octopus Pro H723](boards/btt/octopus-pro-h723.md) 18 | - [BIGTREETECH Manta M8P](boards/btt/manta-m8p.mdx) 19 | - [BIGTREETECH SKR Pro v1.2](boards/btt/skr-pro-12.md) 20 | - [Fysetc Spider v1.1](boards/fysetc/spider-11.md) 21 | 22 | ## Post installation steps 23 | 24 | Click the "INSTALL VMINION CONFIG" button in the Macros panel, or manually replace your `printer.cfg` with `config/templates/v-minion-printer.template.cfg` 25 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/printers/voron-v01.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: Voron V0.1 (BETA) 3 | --- 4 | 5 | # Voron V0.1 6 | 7 | The [Voron V0.1](https://vorondesign.com/voron0.1) is a mini Core XY printer designed by Voron. The v0.1 can be bought in kits from multiple manufacturers, or selfsourced by following the official sourcing guide. 8 | 9 | ## Supported Boards 10 | 11 | - [BIGTREETECH SKRat v1.0](boards/btt/skrat-10.mdx) 12 | - [BIGTREETECH SKR 2](boards/btt/skr-2-429.md) 13 | - [BIGTREETECH Octopus v1.1](boards/btt/octopus-11.md) 14 | - [BIGTREETECH Octopus v1.1 F407](boards/btt/octopus-11-407.md) 15 | - [BIGTREETECH Octopus Pro 446](boards/btt/octopus-pro-446.md) 16 | - [BIGTREETECH Octopus Pro 429](boards/btt/octopus-pro-429.md) 17 | - [BIGTREETECH Octopus Pro H723](boards/btt/octopus-pro-h723.md) 18 | - [BIGTREETECH Manta M8P](boards/btt/manta-m8p.mdx) 19 | - [BIGTREETECH SKR Pro v1.2](boards/btt/skr-pro-12.md) 20 | - [Fysetc Spider v1.1](boards/fysetc/spider-11.md) 21 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/printers/voron-v24.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: Voron V2.4 (BETA) 3 | --- 4 | 5 | # Voron V2.4 6 | 7 | The [Voron V2.4](https://vorondesign.com/voron2.4) is a floating gantry Core XY printer in 3 medium sizes designed by Voron. The v2.4 can be bought in kits from multiple vendors, or selfsourced by following the official sourcing guide. 8 | 9 | ## Supported Boards 10 | 11 | - [BIGTREETECH Octopus v1.1](boards/btt/octopus-11.md) 12 | - [BIGTREETECH Octopus v1.1 F407](boards/btt/octopus-11-407.md) 13 | - [BIGTREETECH Octopus Pro 446](boards/btt/octopus-pro-446.md) 14 | - [BIGTREETECH Octopus Pro 429](boards/btt/octopus-pro-429.md) 15 | - [BIGTREETECH Octopus Pro H723](boards/btt/octopus-pro-h723.md) 16 | - [BIGTREETECH Manta M8P](boards/btt/manta-m8p.mdx) 17 | - [Fysetc Spider v1.1](boards/fysetc/spider-11.md) 18 | 19 | ## 4th z driver. 20 | 21 | The 4th z driver needed to drive the Voron 2.4 gantry goes in the slot to the left of the "LEFT Z" driver on the board of your choice. 22 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/btt/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "BIGTREETECH", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 1 6 | } 7 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/btt/ebb-36-10.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-36 v1.0 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb36-wiring.svg"; 6 | 7 | # BIGTREETECH EBB36 v1.0 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/ebb36-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/btt/ebb-36-11.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-36 v1.1 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb36-wiring.svg"; 6 | 7 | # BIGTREETECH EBB36 v1.1 8 | 9 | :::danger This board can be dangerous 10 | When this board boots into DFU mode (which happens during firmware updates), the heater pin will be set to high, meaning your hotend will heat up for the duration of the firmware update process. 11 | For this reason automatic firmware updates is disabled by default for the BTT EBB v1.1 boards in RatOS. You'll have to flash it through the [RatOS Configurator](http://RatOS.local/configure?step=2) when needed. 12 | See page 14 and 15 in the [BTT EBB v1.1 manual]() 13 | ::: 14 | 15 | ## Wiring 16 | 17 | 18 | 19 | [Open Full Size Image](_media/ebb36-wiring.svg) 20 | 21 | :::caution Use a good quality cable 22 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 23 | ::: 24 | 25 | ## Firmware installation 26 | 27 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 28 | 29 | ## I updated klipper and now i get an error! 30 | 31 | When you update klipper you might see an error that looks like this: 32 | 33 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 34 | 35 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 36 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/btt/ebb-36-12.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-36 v1.2 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb36-wiring.svg"; 6 | 7 | # BIGTREETECH EBB36 v1.2 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/ebb36-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/btt/ebb-42-10.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-42 v1.0 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb42-wiring.svg"; 6 | 7 | # BIGTREETECH EBB42 v1.0 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/ebb42-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/btt/ebb-42-11.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-42 v1.1 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb42-wiring.svg"; 6 | 7 | # BIGTREETECH EBB42 v1.1 8 | 9 | :::danger This board can be dangerous 10 | When this board boots into DFU mode (which happens during firmware updates), the heater pin will be set to high, meaning your hotend will heat up for the duration of the firmware update process. 11 | For this reason automatic firmware updates is disabled by default for the BTT EBB v1.1 boards in RatOS. You'll have to flash it through the [RatOS Configurator](http://RatOS.local/configure?step=2) when needed. 12 | See page 14 and 15 in the [BTT EBB v1.1 manual]() 13 | ::: 14 | 15 | ## Wiring 16 | 17 | 18 | 19 | [Open Full Size Image](_media/ebb42-wiring.svg) 20 | 21 | :::caution Use a good quality cable 22 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 23 | ::: 24 | 25 | ## Firmware installation 26 | 27 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 28 | 29 | ## I updated klipper and now i get an error! 30 | 31 | When you update klipper you might see an error that looks like this: 32 | 33 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 34 | 35 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 36 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/btt/ebb-42-12.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: EBB-42 v1.2 3 | --- 4 | 5 | import WiringSVG from "./_media/ebb42-wiring.svg"; 6 | 7 | # BIGTREETECH EBB42 v1.2 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/ebb42-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/list.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Complete list 3 | sidebar_position: 1000000 4 | --- 5 | 6 | # Supported control boards 7 | 8 | RatOS currently supports the following toolboards: 9 | 10 | ### Big Tree Tech 11 | 12 | - [BIGTREETECH EBB36 v1.0](btt/ebb-36-10.mdx) 13 | - [BIGTREETECH EBB36 v1.1](btt/ebb-36-11.mdx) 14 | - [BIGTREETECH EBB36 v1.2](btt/ebb-36-12.mdx) 15 | - [BIGTREETECH EBB42 v1.0](btt/ebb-42-10.mdx) 16 | - [BIGTREETECH EBB42 v1.1](btt/ebb-42-11.mdx) 17 | - [BIGTREETECH EBB42 v1.2](btt/ebb-42-12.mdx) 18 | 19 | ### Mellow 20 | 21 | - [Mellow FLY SHT36 v1](mellow/fly-sht-36.mdx) 22 | - [Mellow FLY SHT42 v1](mellow/fly-sht-42.mdx) 23 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/mellow/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Mellow", 3 | "collapsible": true, 4 | "collapsed": false, 5 | "position": 2 6 | } 7 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/mellow/fly-sht-36.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: FLY SHT-36 3 | --- 4 | 5 | import WiringSVG from "./_media/fly-sht-36-wiring.svg"; 6 | 7 | # Mellow FLY SHT-36 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/fly-sht-36-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/versioned_docs/version-2.0.x/toolboards/mellow/fly-sht-42.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_label: FLY SHT-42 3 | --- 4 | 5 | import WiringSVG from "./_media/fly-sht-42-wiring.svg"; 6 | 7 | # Mellow FLY SHT-42 8 | 9 | ## Wiring 10 | 11 | 12 | 13 | [Open Full Size Image](_media/fly-sht-42-wiring.svg) 14 | 15 | :::caution Use a good quality cable 16 | Make sure your board is connected to the Pi via a good quality USB 3.1 (or better) braided cable for best performance and durability. 17 | ::: 18 | 19 | ## Firmware installation 20 | 21 | Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 22 | 23 | ## I updated klipper and now i get an error! 24 | 25 | When you update klipper you might see an error that looks like this: 26 | 27 | ![Firmware version mismatch between host and guest](/img/firmware_version_mismatch.png) 28 | 29 | This is because klipper made changes to a part of the MCU firmware that we use, and something went wrong while automatically flashing your board. Klipper is telling us that the version of klipper running on the Pi is newer than the version running on the MCU. To fix this, we have to flash the board with a new version of the firmware, Follow the steps in the RatOS Configurator at [http://RatOS.local/configure?step=2](http://RatOS.local/configure?step=2). 30 | -------------------------------------------------------------------------------- /site/versions.json: -------------------------------------------------------------------------------- 1 | [ 2 | "2.0.x", 3 | "1.2.x" 4 | ] 5 | -------------------------------------------------------------------------------- /sponsors/intermode-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/sponsors/intermode-logo.png -------------------------------------------------------------------------------- /sponsors/ratrig-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/sponsors/ratrig-logo.png -------------------------------------------------------------------------------- /src/build_dist: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 3 | 4 | export DIST_PATH="${DIR}" 5 | CUSTOM_PI_OS_PATH=$(<"${DIR}"/custompios_path) 6 | BASE_BOOT_MOUNT_PATH=boot 7 | export CUSTOM_PI_OS_PATH 8 | export BASE_BOOT_MOUNT_PATH 9 | export PATH=$PATH:$CUSTOM_PI_OS_PATH 10 | 11 | echo "Installing CustomPiOS dependencies..." 12 | apt-get install -y --no-install-recommends \ 13 | ca-certificates \ 14 | sudo \ 15 | build-essential \ 16 | sudo \ 17 | curl \ 18 | git \ 19 | wget \ 20 | p7zip-full \ 21 | python3 \ 22 | python3-distutils \ 23 | python3-dev \ 24 | python3-git \ 25 | binfmt-support \ 26 | qemu-system \ 27 | qemu-user \ 28 | qemu-user-static \ 29 | sudo \ 30 | file \ 31 | fdisk \ 32 | btrfs-progs \ 33 | jq \ 34 | zip \ 35 | xz-utils \ 36 | lsof \ 37 | f2fs-tools 38 | 39 | "${CUSTOM_PI_OS_PATH}"/build_custom_os "$@" 40 | -------------------------------------------------------------------------------- /src/image/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/src/image/.gitkeep -------------------------------------------------------------------------------- /src/modules/armbian/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | #### MainsailOS Specific Tweaks for armbian images 4 | #### 5 | #### Written by Stephan Wendel aka KwadFan 6 | #### Copyright 2023 - till today 7 | #### https://github.com/mainsail-crew/MainsailOS 8 | #### 9 | #### This File is distributed under GPLv3 10 | #### 11 | 12 | # shellcheck disable=all 13 | 14 | [[ -n "$ARMBIAN_DEPS" ]] || ARMBIAN_DEPS="armbian-config avahi-daemon iptables \ 15 | bash-completion" 16 | [[ -n "$ARMBIAN_CONFIG_TXT_FILE" ]] || ARMBIAN_CONFIG_TXT_FILE="/boot/armbianEnv.txt" 17 | [[ -n "$ARMBIAN_CONFIG_BAK_FILE" ]] || ARMBIAN_CONFIG_BAK_FILE="/boot/armbianEnv.txt.backup" 18 | [[ -n "$ARMBIAN_MODULES_FILE" ]] || ARMBIAN_MODULES_FILE="/etc/modules" 19 | 20 | ## BananaPi M2 Zero specific 21 | ### Disable OTG Serial Interface? (true/false) 22 | [[ -n "$ARMBIAN_CONFIG_BPI2ZERO_OTG_SERIAL" ]] || ARMBIAN_CONFIG_BPI2ZERO_OTG_SERIAL="true" 23 | [[ -n "$ARMBIAN_CONFIG_BPI2ZERO_ENABLE_UART3" ]] || ARMBIAN_CONFIG_BPI2ZERO_ENABLE_UART3="true" 24 | [[ -n "$ARMBIAN_CONFIG_BPI2ZERO_ENABLE_SPI" ]] || ARMBIAN_CONFIG_BPI2ZERO_ENABLE_SPI="true" 25 | -------------------------------------------------------------------------------- /src/modules/armbian/end_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### MainsailOS Specific Tweaks for armbian images 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2023 - till today 6 | #### https://github.com/mainsail-crew/MainsailOS 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | 11 | # shellcheck enable=require-variable-braces 12 | # Source error handling, leave this in place 13 | set -Ee 14 | 15 | # Source CustomPIOS common.sh 16 | # shellcheck disable=SC1091 17 | source /common.sh 18 | install_cleanup_trap 19 | 20 | ## Helper functions 21 | gen_root_pw() { 22 | tr -dc "[:alnum:]" < /dev/urandom | head -c 50 23 | } 24 | 25 | ## Clean up 26 | ## Step 1: Remove autologin and lock root account 27 | if [[ -f "/etc/systemd/system/getty@.service.d/override.conf" ]]; then 28 | rm -f /etc/systemd/system/getty@.service.d/override.conf 29 | fi 30 | ## END 31 | 32 | ## Step 2: Disable autologin on serial console 33 | if [[ -f "/etc/systemd/system/serial-getty@.service.d/override.conf" ]]; then 34 | sed -i 's/--autologin root //' /etc/systemd/system/serial-getty@.service.d/override.conf 35 | fi 36 | ## END 37 | 38 | ## Step 3: Delete root passwd 39 | ### Deleting root passwd doesn't let you unlock the account 40 | sudo passwd -d root 41 | ## END 42 | 43 | ## Step 4: Lock root account 44 | sudo passwd -l root 45 | ## END 46 | 47 | ## Step 5: Remove passwdless sudo 48 | sed -i '/'"${BASE_USER}"' ALL=(ALL:ALL) NOPASSWD:ALL/d' /etc/sudoers 49 | ## END 50 | -------------------------------------------------------------------------------- /src/modules/armbian/filesystem/root/etc/udev/rules.d/97-gpio.rules: -------------------------------------------------------------------------------- 1 | SUBSYSTEM=="gpio", KERNEL=="gpiochip[0-4]", GROUP="gpio", MODE="0660" 2 | -------------------------------------------------------------------------------- /src/modules/armbian_net/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | #### MainsailOS network configurator for armbian images 4 | #### 5 | #### Written by Stephan Wendel aka KwadFan 6 | #### Copyright 2023 - till today 7 | #### https://github.com/mainsail-crew/MainsailOS 8 | #### 9 | #### This File is distributed under GPLv3 10 | #### 11 | 12 | # shellcheck disable=all 13 | 14 | [[ -n "$ARMBIAN_NET_FIRSTRUN_FILE" ]] || ARMBIAN_NET_FIRSTRUN_FILE="/boot/armbian_first_run.txt.template" 15 | [[ -n "$ARMBIAN_NET_FIRSTRUN_SCRIPT" ]] || ARMBIAN_NET_FIRSTRUN_SCRIPT="/usr/lib/armbian/armbian-firstrun-config" 16 | [[ -n "$ARMBIAN_NET_NC_PATH" ]] || ARMBIAN_NET_NC_PATH="/usr/local/bin/network-configurator" 17 | [[ -n "$ARMBIAN_NET_DEPS" ]] || ARMBIAN_NET_DEPS="net-tools" 18 | -------------------------------------------------------------------------------- /src/modules/armbian_net/filesystem/root/boot/network_config.txt.template: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------- 2 | # 3 | # MainsailOS (armbian edition) Network Configuration 4 | # Set optional end user configuration 5 | # - Rename this file from /boot/network_config.txt.template to /boot/network_config.txt 6 | # - Settings below will be applied every time you reboot your machine. 7 | # Be aware, old configurations will be deleted! 8 | # 9 | # This file is based on work of the armbian developer team 10 | # https://github.com/armbian/build/blob/master/packages/bsp/armbian_first_run.txt.template 11 | #----------------------------------------------------------------- 12 | 13 | #----------------------------------------------------------------- 14 | # General: 15 | # 1 = delete this file, after first run setup is completed. 16 | 17 | NC_general_delete_this_file_after_completion=1 18 | 19 | #----------------------------------------------------------------- 20 | #Networking: 21 | # Change default network settings 22 | # Set to 1 to apply any network related settings below 23 | 24 | NC_net_change_defaults=0 25 | 26 | # Enable WiFi or Ethernet. 27 | # NB: If both are enabled, WiFi will take priority and Ethernet will be disabled. 28 | 29 | NC_net_ethernet_enabled=1 30 | NC_net_wifi_enabled=0 31 | 32 | #Enter your WiFi creds 33 | # SECURITY WARN: Your wifi keys will be stored in plaintext, no encryption. 34 | 35 | NC_net_wifi_ssid='MySSID' 36 | NC_net_wifi_key='MyWiFiKEY' 37 | 38 | # Country code to enable power ratings and channels for your country. eg: GB US DE | https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 39 | 40 | NC_net_wifi_countrycode='GB' 41 | 42 | # If you want to use a static ip, set it here 43 | 44 | NC_net_use_static=0 45 | NC_net_static_ip='192.168.0.100' 46 | NC_net_static_mask='255.255.255.0' 47 | NC_net_static_gateway='192.168.0.1' 48 | NC_net_static_dns='8.8.8.8 8.8.4.4' # Two entries max, seperated by a space. 49 | #----------------------------------------------------------------- 50 | -------------------------------------------------------------------------------- /src/modules/armbian_net/filesystem/root/etc/systemd/system/network-configurator.service: -------------------------------------------------------------------------------- 1 | # MainsailOS network-configurator 2 | # This service will run in parallel with other services 3 | # This is based on 4 | # https://github.com/armbian/build/blob/master/packages/bsp/common/lib/systemd/system/armbian-firstrun-config.service 5 | 6 | 7 | [Unit] 8 | Description=MainsailOS network configurator 9 | Wants=network-online.target 10 | After=network.target network-online.target 11 | ConditionPathExists=/boot/network_config.txt 12 | 13 | [Service] 14 | Type=idle 15 | RemainAfterExit=yes 16 | ExecStart=/usr/local/bin/network-configurator 17 | TimeoutStartSec=2min 18 | 19 | [Install] 20 | WantedBy=multi-user.target 21 | -------------------------------------------------------------------------------- /src/modules/cb1config/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | 4 | [ -n "$PICONFIG_SWAP_CONF_FILE" ] || PICONFIG_SWAP_CONF_FILE="/etc/dphys-swapfile" 5 | [ -n "$PICONFIG_SWAP_SIZE" ] || PICONFIG_SWAP_SIZE="256" 6 | [ -n "$PICONFIG_SWAP_MAX" ] || PICONFIG_SWAP_MAX="1024" 7 | -------------------------------------------------------------------------------- /src/modules/cb1config/filesystem/root/etc/udev/rules.d/90-gpio-spi.rules: -------------------------------------------------------------------------------- 1 | KERNEL=="spidev0.0", OWNER="root", GROUP="spi" 2 | KERNEL=="spidev0.1", OWNER="root", GROUP="spi" -------------------------------------------------------------------------------- /src/modules/cb1config/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Preinstall customized config.txt 3 | # Written by Stephan Wendel aka KwadFan 4 | # This file may distributed under GPLv3 5 | # Copyright 2021 6 | ######## 7 | 8 | # shellcheck enable=require-variable-braces 9 | 10 | ## Source error handling, leave this in place 11 | set -Eex 12 | 13 | # Set DEBIAN_FRONTEND to noninteractive 14 | if [[ "${DEBIAN_FRONTEND}" != "noninteractive" ]]; then 15 | export DEBIAN_FRONTEND=noninteractive 16 | fi 17 | 18 | ## Source CustomPIOS common.sh 19 | # shellcheck disable=SC1091 20 | source /common.sh 21 | install_cleanup_trap 22 | 23 | # Step 1: Copy 90-gpio-spi.rules 24 | echo_green "Copying 90-gpio-spi.rules..." 25 | unpack /filesystem/root / 26 | 27 | # Step 2: add spi group 28 | groupadd -f --system spi 29 | usermod -a -G spi "${BASE_USER}" 30 | 31 | # Step 3: Disable bluetooth and related services 32 | echo_green "Disabling Bluetooth related services..." 33 | systemctl_if_exists disable hciuart.service 34 | systemctl_if_exists disable bluetooth.service 35 | systemctl_if_exists disable bluealsa.service 36 | 37 | # Step 4: Increase swapfile size 38 | if [[ -f "${PICONFIG_SWAP_CONF_FILE}" ]]; then 39 | echo_green "Increasing swap file size to ${PICONFIG_SWAP_SIZE} Mb. Limit to ${PICONFIG_SWAP_MAX} Mb" 40 | sed -i 's/^CONF_SWAPSIZE.*/'CONF_SWAPSIZE="${PICONFIG_SWAP_SIZE}"'/' "${PICONFIG_SWAP_CONF_FILE}" 41 | sed -i 's/^#CONF_MAXSWAP.*/'CONF_MAXSWAP="${PICONFIG_SWAP_MAX}"'/' "${PICONFIG_SWAP_CONF_FILE}" 42 | fi 43 | 44 | # install avahi so ratos.local works 45 | check_install_pkgs avahi 46 | 47 | #add the same groups as the biqu user 48 | usermod -a -G disk,audio,plugdev,games,users,systemd-journal,input,netdev,ssh "${BASE_USER}" -------------------------------------------------------------------------------- /src/modules/cb1spi/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### CB1SPI - CB1 Configuration Module 3 | 4 | # Shebang for better file detection 5 | # shellcheck disable=all 6 | 7 | [ -n "$CB1SPI_CONFIG_TXT_FILE" ] || CB1SPI_CONFIG_TXT_FILE="/boot/BoardEnv.txt" 8 | [ -n "$CB1SPI_CONFIG_BAK_FILE" ] || CB1SPI_CONFIG_BAK_FILE="/boot/BoardEnv.txt.backup" -------------------------------------------------------------------------------- /src/modules/cb1spi/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### CB1SPI - SB1 Configuration Module 3 | #from https://www.reddit.com/r/BIGTREETECH/comments/xfom6n/comment/it32e6v/ 4 | 5 | # shellcheck enable=require-variable-braces 6 | 7 | ## Source error handling, leave this in place 8 | set -Ee 9 | 10 | # Set DEBIAN_FRONTEND to noninteractive 11 | if [[ "${DEBIAN_FRONTEND}" != "noninteractive" ]]; then 12 | export DEBIAN_FRONTEND=noninteractive 13 | fi 14 | 15 | ## Source CustomPIOS common.sh 16 | # shellcheck disable=SC1091 17 | source /common.sh 18 | install_cleanup_trap 19 | 20 | echo_green "Enable SPI interface on CB1 SBC's ..." 21 | 22 | # Step 1: Copy default config to backup file 23 | cp "${CB1SPI_CONFIG_TXT_FILE}" "${CB1SPI_CONFIG_BAK_FILE}" 24 | 25 | # Step 2: Enable SPI 26 | sed -i 's/^#overlays=spidev1_2.*/overlays=spidev1_2/' "${CB1SPI_CONFIG_TXT_FILE}" 27 | 28 | echo_green "Enable SPI interface on CB1 SBC ... DONE!" -------------------------------------------------------------------------------- /src/modules/crowsnest/config: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #### crowsnest - A webcam Service for multiple Cams and Stream Services. 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2021 - till today 6 | #### https://github.com/mainsail-crew/crowsnest 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | # shellcheck disable=all 11 | 12 | # crowsnest repo 13 | [[ -n "$CROWSNEST_REPO_SHIP" ]] || CROWSNEST_REPO_SHIP="https://github.com/mainsail-crew/crowsnest.git" 14 | [[ -n "$CROWSNEST_REPO_BRANCH" ]] || CROWSNEST_REPO_BRANCH="master" 15 | 16 | # crowsnest setup 17 | [[ -n "$CROWSNEST_DEFAULT_CONF" ]] || CROWSNEST_DEFAULT_CONF="resources/crowsnest.conf" 18 | [[ -n "$CROWSNEST_CONFIG_PATH" ]] || CROWSNEST_CONFIG_PATH="/home/${BASE_USER}/printer_data/config" 19 | [[ -n "$CROWSNEST_LOG_PATH" ]] || CROWSNEST_LOG_PATH="/home/${BASE_USER}/printer_data/logs" 20 | [[ -n "$CROWSNEST_ENV_PATH" ]] || CROWSNEST_ENV_PATH="/home/${BASE_USER}/printer_data/systemd" 21 | [[ -n "$CROWSNEST_ADD_CROWSNEST_MOONRAKER" ]] || CROWSNEST_ADD_CROWSNEST_MOONRAKER="0" 22 | [[ -n "$CROWSNEST_MOONRAKER_CONF_PATH" ]] || CROWSNEST_MOONRAKER_CONF_PATH="/home/${BASE_USER}/printer_data/config/moonraker.conf" 23 | 24 | 25 | # ustreamer 26 | [[ -n "$CROWSNEST_USTREAMER_REPO_SHIP" ]] || CROWSNEST_USTREAMER_REPO_SHIP="https://github.com/pikvm/ustreamer.git" 27 | [[ -n "$CROWSNEST_USTREAMER_REPO_BRANCH" ]] || CROWSNEST_USTREAMER_REPO_BRANCH="master" 28 | 29 | # camera-streamer 30 | [[ -n "$CROWSNEST_CAMERA_STREAMER_REPO_SHIP" ]] || CROWSNEST_CAMERA_STREAMER_REPO_SHIP="https://github.com/ayufan/camera-streamer.git" 31 | [[ -n "$CROWSNEST_CAMERA_STREAMER_REPO_BRANCH" ]] || CROWSNEST_CAMERA_STREAMER_REPO_BRANCH="master" 32 | 33 | ########################################################################### 34 | ### DO NOT EDIT BELOW THIS LINE, UNLESS YOU KNOW EXACTLY WHAT HAPPENDS! ### 35 | ########################################################################### 36 | 37 | CROWSNEST_UNATTENDED="1" 38 | -------------------------------------------------------------------------------- /src/modules/deb_namserver/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # because the builder kept failing to resolve 'deb.debian.org' https://stackoverflow.com/a/51037151 3 | ######## 4 | 5 | # Source error handling, leave this in place 6 | set -xe 7 | 8 | # Source CustomPIOS common.sh 9 | # shellcheck disable=SC1091 10 | source /common.sh 11 | install_cleanup_trap 12 | 13 | echo "nameserver 8.8.8.8" >> /etc/resolv.conf -------------------------------------------------------------------------------- /src/modules/dfu-util/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Source error handling, leave this in place 4 | set -xe 5 | 6 | # Source CustomPIOS common.sh 7 | source /common.sh 8 | install_cleanup_trap 9 | 10 | pushd /home/${BASE_USER} 11 | echo_green "Installing DFU-util build dependencies" 12 | apt-get -y install libusb-1.0-0-dev autoconf pandoc 13 | echo_green "Cloning and building DFU-util" 14 | # Fallback to GitLab mirror if the official SourceForge is down... which it often is.. 15 | git clone git://git.code.sf.net/p/dfu-util/dfu-util || git clone https://gitlab.com/dfu-util/dfu-util.git 16 | pushd /home/${BASE_USER}/dfu-util 17 | ./autogen.sh 18 | ./configure 19 | make install 20 | echo_green "Removing DFU-util build dependencies" 21 | apt-get -y purge pandoc 22 | popd 23 | popd 24 | -------------------------------------------------------------------------------- /src/modules/hotspot/config: -------------------------------------------------------------------------------- 1 | [ -n "$HOTSPOT_NAME" ] || HOTSPOT_NAME=RatOS 2 | [ -n "$HOTSPOT_PASSWORD" ] || HOTSPOT_PASSWORD=raspberry 3 | [ -n "$HOTSPOT_CHANNEL" ] || HOTSPOT_CHANNEL=6 4 | -------------------------------------------------------------------------------- /src/modules/hotspot/filesystem/root/etc/hostapd/hostapd.conf: -------------------------------------------------------------------------------- 1 | interface=wlan0 2 | driver=nl80211 3 | ssid=HOTSPOT_NAME 4 | hw_mode=g 5 | channel=HOTSPOT_CHANNEL 6 | wmm_enabled=0 7 | macaddr_acl=0 8 | auth_algs=1 9 | ignore_broadcast_ssid=0 10 | wpa=2 11 | wpa_passphrase=HOTSPOT_PASSWORD 12 | wpa_key_mgmt=WPA-PSK 13 | wpa_pairwise=TKIP 14 | rsn_pairwise=CCMP 15 | -------------------------------------------------------------------------------- /src/modules/hotspot/filesystem/root/etc/systemd/system/autohotspot.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Automatically generates an internet Hotspot when a valid ssid is not in range 3 | After=network-online.target 4 | [Service] 5 | Type=oneshot 6 | RemainAfterExit=yes 7 | ExecStart=/usr/bin/autohotspotN 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /src/modules/hotspot/filesystem/root/usr/bin/add_masquerade: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | ethdev=$1 3 | 4 | if ! iptables-save | grep MASQUERADE | grep eth0 | grep -q MASQUERADE; then 5 | echo "Masquerade missing, adding 🎭" 6 | iptables -t nat -A POSTROUTING -o "${ethdev}" -j MASQUERADE 7 | fi 8 | -------------------------------------------------------------------------------- /src/modules/hotspot/filesystem/root/usr/bin/make_sure_master: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | wifidev=$1 3 | 4 | if ! iw wlan0 info | grep type | grep -q AP; then 5 | echo "Access point missing, adding 📶" 6 | systemctl restart hostapd.service 7 | fi 8 | -------------------------------------------------------------------------------- /src/modules/hotspot_cb1/config: -------------------------------------------------------------------------------- 1 | [ -n "$HOTSPOT_CB1_SHIP" ] || HOTSPOT_CB1_SHIP=https://github.com/oblique/create_ap 2 | [ -n "$HOTSPOT_CB1_BRANCH" ] || HOTSPOT_CB1_BRANCH=master 3 | -------------------------------------------------------------------------------- /src/modules/hotspot_cb1/filesystem/root/etc/create_ap.conf: -------------------------------------------------------------------------------- 1 | CHANNEL=default 2 | GATEWAY=192.168.50.1 3 | WPA_VERSION=2 4 | ETC_HOSTS=0 5 | DHCP_DNS=gateway 6 | NO_DNS=0 7 | NO_DNSMASQ=0 8 | HIDDEN=0 9 | MAC_FILTER=0 10 | MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept 11 | ISOLATE_CLIENTS=0 12 | SHARE_METHOD=nat 13 | IEEE80211N=0 14 | IEEE80211AC=0 15 | HT_CAPAB=[HT40+] 16 | VHT_CAPAB= 17 | DRIVER=nl80211 18 | NO_VIRT=0 19 | COUNTRY= 20 | FREQ_BAND=2.4 21 | NEW_MACADDR= 22 | DAEMONIZE=0 23 | NO_HAVEGED=0 24 | WIFI_IFACE=wlan0 25 | INTERNET_IFACE=eth0 26 | SSID=RatOS 27 | PASSPHRASE=raspberry 28 | USE_PSK=0 -------------------------------------------------------------------------------- /src/modules/hotspot_cb1/filesystem/root/usr/bin/start_hotspot.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | #give some time for wifi to connect 4 | sleep 30 5 | #if wifi is not connected 6 | ip link show dev wlan0 | grep -q "state UP" 7 | check=$? 8 | if [ "$check" -ne 0 ] 9 | then 10 | /usr/bin/create_ap --config /etc/create_ap.conf 11 | fi -------------------------------------------------------------------------------- /src/modules/hotspot_cb1/filesystem/root/usr/lib/systemd/system/create_ap.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Create AP Service 3 | Wants=network-online.target 4 | After=network-online.target 5 | 6 | [Service] 7 | Type=simple 8 | ExecStart=/usr/bin/start_hotspot.sh 9 | KillSignal=SIGINT 10 | Restart=on-failure 11 | RestartSec=5 12 | 13 | [Install] 14 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /src/modules/hotspot_cb1/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # install ratos wifi hotspot on cb1 3 | # GPL V3 4 | ######## 5 | 6 | # Error handling 7 | set -xe 8 | 9 | source /common.sh 10 | install_cleanup_trap 11 | 12 | echo_green "Install ratos hotspot tool dependencies..." 13 | check_install_pkgs dnsmasq 14 | 15 | echo_green "Downloading ratos hotspot tool..." 16 | pushd "/home/${BASE_USER}" 17 | gitclone HOTSPOT_CB1 create_ap 18 | 19 | echo_green "Installing ratos hotspot tool..." 20 | pushd "/home/${BASE_USER}/create_ap" 21 | make install 22 | 23 | #edit the config 24 | unpack /filesystem/root / 25 | 26 | chmod +x /usr/bin/start_hotspot.sh 27 | 28 | systemctl enable create_ap 29 | echo_green "Installing ratos hotspot tool ... DONE!" -------------------------------------------------------------------------------- /src/modules/is_req_preinstall/config: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # shellcheck disable=all 3 | [ -n "$IS_REQ_PREINSTALL_VENV_DIR" ] || IS_REQ_PREINSTALL_VENV_DIR=/home/${BASE_USER}/klippy-env 4 | [ -n "$IS_REQ_PREINSTALL_DEPS" ] || IS_REQ_PREINSTALL_DEPS="python3-numpy python3-matplotlib \ 5 | libatlas3-base libatlas-base-dev libgfortran5" 6 | [ -n "$IS_REQ_PREINSTALL_PIP" ] || IS_REQ_PREINSTALL_PIP="numpy<=1.23.4" 7 | -------------------------------------------------------------------------------- /src/modules/is_req_preinstall/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### MainsailOS Build Chain 3 | #### 4 | #### Klipper Install Module 5 | #### 6 | #### Written by Stephan Wendel aka KwadFan 7 | #### Copyright 2021 - 2022 8 | #### https://github.com/mainsail-crew/MainsailOS 9 | #### 10 | #### This File is distributed under GPLv3 11 | #### 12 | 13 | # shellcheck enable=require-variable-braces 14 | 15 | ## Source error handling, leave this in place 16 | set -Eex 17 | 18 | # Set LC_ALL to prevent errors 19 | export LC_ALL=C 20 | 21 | # Set DEBIAN_FRONTEND to noninteractive 22 | if [[ "${DEBIAN_FRONTEND}" != "noninteractive" ]]; then 23 | export DEBIAN_FRONTEND=noninteractive 24 | fi 25 | 26 | # Source CustomPIOS common.sh 27 | # shellcheck disable=SC1091 28 | source /common.sh 29 | install_cleanup_trap 30 | 31 | echo_green "Install Input Shaper requirements ..." 32 | 33 | ### install all deps at once for time consumption reasons. 34 | ## APT: Update Repo Database and install Dependencies 35 | # Force apt update 36 | apt update 37 | echo_green "Installing Input Shaper Dependencies ..." 38 | # shellcheck disable=SC2086 39 | # Disabling shellcheck SC2086, because we want "wordsplitting" 40 | check_install_pkgs ${IS_REQ_PREINSTALL_DEPS} 41 | 42 | ### Check for Klipper Venv installed. 43 | pushd "/home/${BASE_USER}" &> /dev/null || exit 1 44 | if [[ -d "${IS_REQ_PREINSTALL_VENV_DIR}" ]] && [[ -x "${IS_REQ_PREINSTALL_VENV_DIR}/bin/pip" ]]; then 45 | echo_green "Installing numpy..." 46 | sudo -u "${BASE_USER}" "${IS_REQ_PREINSTALL_VENV_DIR}"/bin/pip install -v "${IS_REQ_PREINSTALL_PIP}" 47 | else 48 | echo_red "Klipper Venv not found!" 49 | return 1 50 | fi 51 | 52 | ## Cleanup 53 | echo_green "Cleanup ..." 54 | sudo -u "${BASE_USER}" rm -rf "/home/${BASE_USER}/.cache" 55 | popd &> /dev/null || exit 1 56 | 57 | echo_green "Install Input Shaper requirements ... done!" 58 | -------------------------------------------------------------------------------- /src/modules/kiauh/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### KIAUH Install Module 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2022 - till today 6 | #### https://github.com/mainsail-crew/MainsailOS 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | 11 | #### All Credits to th33xitus for his great tool 12 | #### https://github.com/th33xitus/kiauh 13 | 14 | # shellcheck disable=all 15 | 16 | # KIAUH repo 17 | [[ -n "$KIAUH_REPO_SHIP" ]] || KIAUH_REPO_SHIP="https://github.com/th33xitus/kiauh.git" 18 | [[ -n "$KIAUH_REPO_BRANCH" ]] || KIAUH_REPO_BRANCH="master" 19 | 20 | # Add to $PATH ? (1: yes, 0: no) 21 | [[ -n "$KIAUH_ADD_TO_PATH" ]] || KIAUH_ADD_TO_PATH="1" 22 | -------------------------------------------------------------------------------- /src/modules/kiauh/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### KIAUH Install Module 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2022 - till today 6 | #### 7 | #### This File is distributed under GPLv3 8 | #### 9 | 10 | #### All Credits to th33xitus for his great tool 11 | #### https://github.com/th33xitus/kiauh 12 | 13 | # shellcheck enable=requires-variable-braces 14 | 15 | # Error handling 16 | set -Ee 17 | 18 | # shellcheck disable=SC1091 19 | source /common.sh 20 | install_cleanup_trap 21 | 22 | 23 | echo_green "Installing sonar ..." 24 | 25 | ## Step 1: Force apt update 26 | apt-get update --allow-releaseinfo-change 27 | 28 | ## Step 2: Make sure 'git' is installed! 29 | check_install_pkgs git 30 | 31 | ## Step 3: Move to Home Dir as WorkingDirectoy 32 | pushd "/home/${BASE_USER}" &> /dev/null || exit 1 33 | 34 | ## Step 4: clone KIAUH repo 35 | echo_green "Clone KIAUH repository ..." 36 | gitclone KIAUH_REPO kiauh 37 | 38 | ## Step 5: Link kiauh.sh in /usr/local/bin as kiauh 39 | if [[ ${KIAUH_ADD_TO_PATH} = "1" ]]; then 40 | echo_green "Add kiauh to PATH ..." 41 | sudo ln -s "/home/${BASE_USER}/kiauh/kiauh.sh" "/usr/local/bin/kiauh" 42 | fi 43 | 44 | ## Finish 45 | echo_green "Installing KIAUH ... DONE!" 46 | -------------------------------------------------------------------------------- /src/modules/klipper/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # shellcheck disable=all 3 | #### klipper module 4 | #### 5 | #### Based on work of: 6 | #### Raymond Himle and meteyou (Stefan Dej) 7 | #### 8 | #### Written by Stephan Wendel aka KwadFan 9 | #### Copyright 2021 - 2022 10 | #### https://github.com/mainsail-crew/MainsailOS 11 | #### 12 | #### This File is distributed under GPLv3 13 | #### 14 | #### Credits: Thanks to KevinOConnor for this great Firmware :) 15 | 16 | [ -n "$KLIPPER_SRC_DIR" ] || KLIPPER_SRC_DIR="/home/${BASE_USER}/klipper" 17 | [ -n "$KLIPPER_PYTHON_DIR" ] || KLIPPER_PYTHON_DIR="/home/${BASE_USER}/klippy-env" 18 | 19 | [ -n "$KLIPPER_REPO_SHIP" ] || KLIPPER_REPO_SHIP="https://github.com/Klipper3d/klipper.git" 20 | [ -n "$KLIPPER_REPO_BRANCH" ] || KLIPPER_REPO_BRANCH="master" 21 | [ -n "$KLIPPER_DEPS" ] || KLIPPER_DEPS="git virtualenv python3-dev \ 22 | python3-matplotlib libffi-dev build-essential libncurses-dev libusb-dev \ 23 | avrdude gcc-avr binutils-avr avr-libc stm32flash dfu-util libnewlib-arm-none-eabi \ 24 | gcc-arm-none-eabi binutils-arm-none-eabi libusb-1.0-0 libusb-1.0-0-dev pkg-config" 25 | 26 | [ -n "$KLIPPER_USER_GROUPS" ] || KLIPPER_USER_GROUPS="tty,dialout" 27 | 28 | [ -n "$KLIPPER_USER_DIRS" ] || KLIPPER_USER_DIRS="printer_data printer_data/config \ 29 | printer_data/comms printer_data/logs" 30 | 31 | [ -n "$KLIPPER_PYENV_REQ" ] || KLIPPER_PYENV_REQ="scripts/klippy-requirements.txt" 32 | -------------------------------------------------------------------------------- /src/modules/klipper/filesystem/home/pi/printer_data/systemd/klipper.env: -------------------------------------------------------------------------------- 1 | KLIPPER_ARGS="/home/pi/klipper/klippy/klippy.py /home/pi/printer_data/config/printer.cfg -l /home/pi/printer_data/logs/klippy.log -I /home/pi/printer_data/comms/klippy.serial -a /home/pi/printer_data/comms/klippy.sock" 2 | -------------------------------------------------------------------------------- /src/modules/klipper/filesystem/root/etc/systemd/system/klipper.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Klipper 3D Printer Firmware SV1 3 | Documentation=https://www.klipper3d.org/ 4 | After=network-online.target 5 | Before=moonraker.service 6 | Wants=udev.target 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | 11 | [Service] 12 | Type=simple 13 | User=pi 14 | RemainAfterExit=yes 15 | WorkingDirectory=/home/pi/klipper 16 | EnvironmentFile=/home/pi/printer_data/systemd/klipper.env 17 | ExecStart=/home/pi/klippy-env/bin/python $KLIPPER_ARGS 18 | Restart=always 19 | RestartSec=10 20 | -------------------------------------------------------------------------------- /src/modules/klipperscreen/config: -------------------------------------------------------------------------------- 1 | [ -n "$KLIPPERSCREEN_SHIP" ] || KLIPPERSCREEN_SHIP=https://github.com/jordanruthe/KlipperScreen.git 2 | [ -n "$KLIPPERSCREEN_BRANCH" ] || KLIPPERSCREEN_BRANCH=master -------------------------------------------------------------------------------- /src/modules/klipperscreen/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Installs RatOS 3 | # GPL V3 4 | ######## 5 | 6 | 7 | # Source error handling, leave this in place 8 | set -x 9 | set -e 10 | 11 | source /common.sh 12 | install_cleanup_trap 13 | 14 | # Add root rights to X11 15 | echo_green "Adding root rights to X11.." 16 | echo needs_root_rights=yes>>/etc/X11/Xwrapper.config 17 | 18 | echo_green "Installing KlipperScreen" 19 | 20 | cd /home/pi 21 | gitclone KLIPPERSCREEN KlipperScreen 22 | cd /home/pi/KlipperScreen 23 | sudo -u "${BASE_USER}" NETWORK="skipnetworkmanagerinstall" ./scripts/KlipperScreen-install.sh 24 | 25 | # Mute output from klipperscreen service 26 | sudo sed -i 's/\[Service\]/\[Service\]\n\StandardOutput=null\nStandardError=null/g' /etc/systemd/system/KlipperScreen.service 27 | 28 | sudo systemctl stop KlipperScreen -------------------------------------------------------------------------------- /src/modules/linear_movement_analysis/config: -------------------------------------------------------------------------------- 1 | [ -n "$LINEAR_MOVEMENT_ANALYSIS_SHIP" ] || LINEAR_MOVEMENT_ANALYSIS_SHIP=https://github.com/worksasintended/klipper_linear_movement_analysis.git 2 | [ -n "$LINEAR_MOVEMENT_ANALYSIS_BRANCH" ] || LINEAR_MOVEMENT_ANALYSIS_BRANCH=main 3 | -------------------------------------------------------------------------------- /src/modules/linear_movement_analysis/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Installs Klipper_linear_movement_analysis 3 | ######## 4 | 5 | set -xe 6 | 7 | # shellcheck source=/dev/null 8 | source /common.sh 9 | install_cleanup_trap 10 | 11 | echo_green "Installing Klipper Linear Movement Analysis by MarschallMarc#6420" 12 | 13 | pushd "/home/${BASE_USER}" 14 | 15 | gitclone LINEAR_MOVEMENT_ANALYSIS klipper_linear_movement_analysis 16 | 17 | EXTENSION_PATH="/home/${BASE_USER}/klipper_linear_movement_analysis" 18 | SCRIPT_NAME="linear_movement_vibrations.py" 19 | 20 | ratos extensions register klipper "linear_movement_analysis" "${EXTENSION_PATH}/${SCRIPT_NAME}" 21 | 22 | echo_green "Installing matplotlib for python 2" 23 | 24 | sudo -u "${BASE_USER}" /home/"${BASE_USER}"/klippy-env/bin/pip install -v matplotlib 25 | -------------------------------------------------------------------------------- /src/modules/mainsail/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | #### mainsail module config 4 | #### 5 | #### Based on work of: 6 | #### Raymond Himle and meteyou 7 | #### 8 | #### Written by Stephan Wendel aka KwadFan 9 | #### Copyright 2021 - 2022 10 | #### https://github.com/mainsail-crew/MainsailOS 11 | #### 12 | #### This File is distributed under GPLv3 13 | #### 14 | 15 | [[ -n "$MAINSAIL_DEPS" ]] || MAINSAIL_DEPS="nginx" 16 | [[ -n "$MAINSAIL_URL" ]] || MAINSAIL_URL=https://github.com/mainsail-crew/mainsail/releases/latest/download/mainsail.zip 17 | 18 | # mainsail.cfg repo 19 | [[ -n "$MAINSAIL_CONFIG_REPO_SHIP" ]] || MAINSAIL_CONFIG_REPO_SHIP="https://github.com/mainsail-crew/mainsail-config.git" 20 | [[ -n "$MAINSAIL_CONFIG_REPO_BRANCH" ]] || MAINSAIL_CONFIG_REPO_BRANCH="master" 21 | # mainsail.cfg setup 22 | [[ -n "$MAINSAIL_CONFIG_SRC_PATH" ]] || MAINSAIL_CONFIG_SRC_PATH="/home/${BASE_USER}/mainsail-config/mainsail.cfg" 23 | [[ -n "$MAINSAIL_CONFIG_DEST_PATH" ]] || MAINSAIL_CONFIG_DEST_PATH="/home/${BASE_USER}/printer_data/config/mainsail.cfg" 24 | -------------------------------------------------------------------------------- /src/modules/mainsail/filesystem/root/etc/logrotate.d/rsyslog: -------------------------------------------------------------------------------- 1 | /var/log/syslog 2 | { 3 | rotate 2 4 | daily 5 | maxsize 128M 6 | missingok 7 | notifempty 8 | delaycompress 9 | compress 10 | postrotate 11 | /usr/lib/rsyslog/rsyslog-rotate 12 | endscript 13 | } 14 | 15 | /var/log/mail.info 16 | /var/log/mail.warn 17 | /var/log/mail.err 18 | /var/log/mail.log 19 | /var/log/daemon.log 20 | /var/log/kern.log 21 | /var/log/auth.log 22 | /var/log/user.log 23 | /var/log/lpr.log 24 | /var/log/cron.log 25 | /var/log/debug 26 | /var/log/messages 27 | { 28 | rotate 2 29 | daily 30 | maxsize 128M 31 | missingok 32 | notifempty 33 | compress 34 | delaycompress 35 | sharedscripts 36 | postrotate 37 | /usr/lib/rsyslog/rsyslog-rotate 38 | endscript 39 | } 40 | -------------------------------------------------------------------------------- /src/modules/mainsail/filesystem/root/etc/nginx/conf.d/common_vars.conf: -------------------------------------------------------------------------------- 1 | map $http_upgrade $connection_upgrade { 2 | default upgrade; 3 | '' close; 4 | } 5 | -------------------------------------------------------------------------------- /src/modules/mainsail/filesystem/root/etc/nginx/conf.d/upstreams.conf: -------------------------------------------------------------------------------- 1 | upstream apiserver { 2 | ip_hash; 3 | server 127.0.0.1:7125; 4 | } 5 | 6 | upstream mjpgstreamer1 { 7 | ip_hash; 8 | server 127.0.0.1:8080; 9 | } 10 | 11 | upstream mjpgstreamer2 { 12 | ip_hash; 13 | server 127.0.0.1:8081; 14 | } 15 | 16 | upstream mjpgstreamer3 { 17 | ip_hash; 18 | server 127.0.0.1:8082; 19 | } 20 | 21 | upstream mjpgstreamer4 { 22 | ip_hash; 23 | server 127.0.0.1:8083; 24 | } 25 | 26 | upstream configurator { 27 | ip_hash; 28 | server 127.0.0.1:3000; 29 | } 30 | -------------------------------------------------------------------------------- /src/modules/mainsailos/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | #### mainsailos module 4 | #### 5 | #### Written by Stephan Wendel aka KwadFan 6 | #### Copyright 2021 - 2022 7 | #### https://github.com/mainsail-crew/MainsailOS 8 | #### 9 | #### This File is distributed under GPLv3 10 | #### 11 | 12 | #### NOTE: 13 | #### python3-serial is needed later on for possible CAN adapters 14 | #### python3-opencv is needed for moonraker-obico by obico in version 2.0 15 | 16 | [ -n "$MAINSAILOS_DEPS" ] || MAINSAILOS_DEPS="python3-serial python3-opencv" 17 | -------------------------------------------------------------------------------- /src/modules/moonraker/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #Shebang for better file detection 3 | #### mainsail module 4 | #### 5 | #### Based on work of: 6 | #### Raymond Himle and meteyou (Stefan Dej) 7 | #### 8 | #### Written by Stephan Wendel aka KwadFan 9 | #### Copyright 2021 - 2022 10 | #### https://github.com/mainsail-crew/MainsailOS 11 | #### 12 | #### This File is distributed under GPLv3 13 | #### 14 | #### Credits: Thanks to Arksine for this great API :) 15 | 16 | [ -n "$MOONRAKER_REPO_SHIP" ] || MOONRAKER_REPO_SHIP=https://github.com/Arksine/moonraker.git 17 | [ -n "$MOONRAKER_REPO_BRANCH" ] || MOONRAKER_REPO_BRANCH=master 18 | -------------------------------------------------------------------------------- /src/modules/moonraker/filesystem/home/pi/printer_data/config/moonraker.conf: -------------------------------------------------------------------------------- 1 | # Load the RatOS moonraker defaults 2 | [include RatOS/moonraker.conf] 3 | 4 | # If you use a non standard ip range in your local network, 5 | # you can specify it under trusted_clients here. 6 | [authorization] 7 | cors_domains: 8 | http://app.fluidd.xyz 9 | https://app.fluidd.xyz 10 | https://my.mainsail.xyz 11 | http://my.mainsail.xyz 12 | http://*.local 13 | http://*.lan 14 | trusted_clients: 15 | 127.0.0.1 16 | 10.0.0.0/8 17 | 127.0.0.0/8 18 | 169.254.0.0/16 19 | 172.16.0.0/12 20 | 192.168.0.0/16 21 | FE80::/10 22 | ::1/128 23 | FD00::/8 24 | -------------------------------------------------------------------------------- /src/modules/node/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Source error handling, leave this in place 4 | set -xe 5 | 6 | # Source CustomPIOS common.sh 7 | source /common.sh 8 | install_cleanup_trap 9 | 10 | if [[ ! -d /tmp ]]; then 11 | mkdir /tmp 12 | fi 13 | 14 | chmod 777 /tmp 15 | 16 | curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&\ 17 | apt update && apt install nodejs -y 18 | 19 | npm install -g pnpm 20 | if ! which pnpm &> /dev/null; then 21 | echo "pnpm not found after sourcing" 22 | exit 1 23 | fi 24 | -------------------------------------------------------------------------------- /src/modules/orangepi/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | #### MainsailOS Specific Tweaks for orangepi images 4 | #### 5 | #### Written by Stephan Wendel aka KwadFan 6 | #### Copyright 2023 - till today 7 | #### https://github.com/mainsail-crew/MainsailOS 8 | #### 9 | #### This File is distributed under GPLv3 10 | #### 11 | 12 | # shellcheck disable=all 13 | 14 | ## General module configuration 15 | [[ -n "$ORANGEPI_DEPS" ]] || ORANGEPI_DEPS="avahi-daemon iptables unzip \ 16 | bash-completion" 17 | [[ -n "$ORANGEPI_CONFIG_TXT_FILE" ]] || ORANGEPI_CONFIG_TXT_FILE="/boot/orangepiEnv.txt" 18 | [[ -n "$ORANGEPI_CONFIG_BAK_FILE" ]] || ORANGEPI_CONFIG_BAK_FILE="/boot/orangepiEnv.txt.backup" 19 | [[ -n "$ORANGEPI_MODULES_FILE" ]] || ORANGEPI_MODULES_FILE="/etc/modules" 20 | 21 | ## Orange Pi Zero 2 additional configuration 22 | [[ -n "$ORANGEPI_ENABLE_OVERLAYS_OPIZ2" ]] || ORANGEPI_ENABLE_OVERLAYS_OPIZ2="true" 23 | [[ -n "$ORANGEPI_ADD_OVERLAYS_OPIZ2" ]] || ORANGEPI_ADD_OVERLAYS_OPIZ2="i2c3 uart5 spi-spidev" 24 | [[ -n "$ORANGEPI_ADD_OVERLAYS_OPIZ2_PARAMS" ]] || ORANGEPI_ADD_OVERLAYS_OPIZ2_PARAMS="param_spidev_spi_bus=1 param_spidev_spi_cs=1" 25 | 26 | ## Disable Autologin on gettys 27 | [[ -n "$ORANGEPI_DISABLE_GETTY_AUTOLOGIN" ]] || ORANGEPI_DISABLE_GETTY_AUTOLOGIN="1" 28 | 29 | ### EXPERIMENTAL: Install orangepi-config from source git repo 30 | [[ -n "$ORANGEPI_INSTALL_OPI_CONFIG" ]] || ORANGEPI_INSTALL_OPI_CONFIG="true" 31 | [[ -n "$ORANGEPI_OPI_CONFIG_URL" ]] || ORANGEPI_OPI_CONFIG_URL="https://raw.githubusercontent.com/orangepi-xunlong/orangepi-build/next/external/cache/sources/orangepi-config/" 32 | [[ -n "$ORANGEPI_OPI_CONFIG_FILES" ]] || ORANGEPI_OPI_CONFIG_FILES="debian-config debian-config-functions debian-config-functions-network debian-config-jobs debian-config-submenu" 33 | -------------------------------------------------------------------------------- /src/modules/orangepi/end_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### MainsailOS Specific Tweaks for orangepi images 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2023 - till today 6 | #### https://github.com/mainsail-crew/MainsailOS 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | 11 | # shellcheck enable=require-variable-braces 12 | # Source error handling, leave this in place 13 | set -Ee 14 | 15 | # Source CustomPIOS common.sh 16 | # shellcheck disable=SC1091 17 | source /common.sh 18 | install_cleanup_trap 19 | 20 | ## Clean up 21 | ## Step 1: Delete root passwd (disables root login) 22 | ### Deleting root passwd doesn't let you unlock the account 23 | sudo passwd -d root 24 | ## END Step 1 25 | 26 | ## Step 2: Lock root account (disables root login) 27 | sudo passwd -l root 28 | ## END Step 2 29 | 30 | ## Step 3: Remove passwdless sudo 31 | sed -i '/'"${BASE_USER}"' ALL=(ALL:ALL) NOPASSWD:ALL/d' /etc/sudoers 32 | ## END Step 3 33 | -------------------------------------------------------------------------------- /src/modules/orangepi/filesystem/root/etc/udev/rules.d/97-gpio.rules: -------------------------------------------------------------------------------- 1 | SUBSYSTEM=="gpio", KERNEL=="gpiochip[0-4]", GROUP="gpio", MODE="0660" 2 | -------------------------------------------------------------------------------- /src/modules/orangepi_net/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | #### MainsailOS network configurator for orange images 4 | #### 5 | #### Written by Stephan Wendel aka KwadFan 6 | #### Copyright 2023 - till today 7 | #### https://github.com/mainsail-crew/MainsailOS 8 | #### 9 | #### This File is distributed under GPLv3 10 | #### 11 | 12 | # shellcheck disable=all 13 | 14 | [[ -n "$ORANGEPI_NET_FIRSTRUN_FILE" ]] || ORANGEPI_NET_FIRSTRUN_FILE="/boot/orangepi_first_run.txt.template" 15 | [[ -n "$ORANGEPI_NET_FIRSTRUN_SCRIPT" ]] || ORANGEPI_NET_FIRSTRUN_SCRIPT="/usr/lib/orangepi/orangepi-firstrun-config" 16 | [[ -n "$ORANGEPI_NET_NC_PATH" ]] || ORANGEPI_NET_NC_PATH="/usr/local/bin/network-configurator" 17 | -------------------------------------------------------------------------------- /src/modules/orangepi_net/filesystem/root/boot/network_config.txt.template: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------- 2 | # 3 | # MainsailOS (orangepi edition) Network Configuration 4 | # Set optional end user configuration 5 | # - Rename this file from /boot/network_config.txt.template to /boot/network_config.txt 6 | # - Settings below will be applied every time you reboot your machine. 7 | # Be aware, old configurations will be deleted! 8 | # 9 | # This file is based on work of the armbian developer team 10 | # https://github.com/armbian/build/blob/master/packages/bsp/armbian_first_run.txt.template 11 | #----------------------------------------------------------------- 12 | 13 | #----------------------------------------------------------------- 14 | # General: 15 | # 1 = delete this file, after first run setup is completed. 16 | 17 | NC_general_delete_this_file_after_completion=1 18 | 19 | #----------------------------------------------------------------- 20 | #Networking: 21 | # Change default network settings 22 | # Set to 1 to apply any network related settings below 23 | 24 | NC_net_change_defaults=0 25 | 26 | # Enable WiFi or Ethernet. 27 | # NB: If both are enabled, WiFi will take priority and Ethernet will be disabled. 28 | 29 | NC_net_ethernet_enabled=1 30 | NC_net_wifi_enabled=0 31 | 32 | #Enter your WiFi creds 33 | # SECURITY WARN: Your wifi keys will be stored in plaintext, no encryption. 34 | 35 | NC_net_wifi_ssid='MySSID' 36 | NC_net_wifi_key='MyWiFiKEY' 37 | 38 | # Country code to enable power ratings and channels for your country. eg: GB US DE | https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 39 | 40 | NC_net_wifi_countrycode='GB' 41 | 42 | # If you want to use a static ip, set it here 43 | 44 | NC_net_use_static=0 45 | NC_net_static_ip='192.168.0.100' 46 | NC_net_static_mask='255.255.255.0' 47 | NC_net_static_gateway='192.168.0.1' 48 | NC_net_static_dns='8.8.8.8 8.8.4.4' # Two entries max, seperated by a space. 49 | #----------------------------------------------------------------- 50 | -------------------------------------------------------------------------------- /src/modules/orangepi_net/filesystem/root/etc/systemd/system/network-configurator.service: -------------------------------------------------------------------------------- 1 | # MainsailOS network-configurator 2 | # This service will run in parallel with other services 3 | # This is based on 4 | # https://github.com/armbian/build/blob/master/packages/bsp/common/lib/systemd/system/armbian-firstrun-config.service 5 | 6 | 7 | [Unit] 8 | Description=MainsailOS network configurator 9 | Wants=network-online.target 10 | After=network.target network-online.target 11 | ConditionPathExists=/boot/network_config.txt 12 | 13 | [Service] 14 | Type=idle 15 | RemainAfterExit=yes 16 | ExecStart=/usr/local/bin/network-configurator 17 | TimeoutStartSec=2min 18 | 19 | [Install] 20 | WantedBy=multi-user.target 21 | -------------------------------------------------------------------------------- /src/modules/passwordless_sudo/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # because the CB1 image doesn't have the Pi user, 3 | #and the add user module doesn't make it passwordless 4 | #which breaks the rest of the build because it assumes passwordless sudo 5 | ######## 6 | 7 | # Source error handling, leave this in place 8 | set -xe 9 | 10 | # Source CustomPIOS common.sh 11 | # shellcheck disable=SC1091 12 | source /common.sh 13 | install_cleanup_trap 14 | 15 | echo_green "making ${BASE_USER} passwordless sudo for easy setup ..." 16 | echo -e "${BASE_USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/010_pi-nopasswd -------------------------------------------------------------------------------- /src/modules/piconfig/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | 4 | [ -n "$PICONFIG_CONFIG_TXT_FILE" ] || PICONFIG_CONFIG_TXT_FILE="/boot/config.txt" 5 | [ -n "$PICONFIG_CMDLINE_TXT_FILE" ] || PICONFIG_CMDLINE_TXT_FILE="/boot/cmdline.txt" 6 | [ -n "$PICONFIG_CONFIG_BAK_FILE" ] || PICONFIG_CONFIG_BAK_FILE="/boot/config.txt.backup" 7 | [ -n "$PICONFIG_CMDLINE_BAK_FILE" ] || PICONFIG_CMDLINE_BAK_FILE="/boot/cmdline.txt.backup" 8 | 9 | [ -n "$PICONFIG_SWAP_CONF_FILE" ] || PICONFIG_SWAP_CONF_FILE="/etc/dphys-swapfile" 10 | [ -n "$PICONFIG_SWAP_SIZE" ] || PICONFIG_SWAP_SIZE="256" 11 | [ -n "$PICONFIG_SWAP_MAX" ] || PICONFIG_SWAP_MAX="1024" 12 | -------------------------------------------------------------------------------- /src/modules/postrename/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### Post Rename 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2021 6 | #### https://github.com/mainsail-crew/MainsailOS 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | # shellcheck disable=all 11 | 12 | # Intentionally left blank 13 | -------------------------------------------------------------------------------- /src/modules/postrename/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### Post Rename 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2021 6 | #### https://github.com/mainsail-crew/MainsailOS 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | 11 | # shellcheck enable=require-variable-braces 12 | 13 | ## Source error handling, leave this in place 14 | set -Ee 15 | 16 | ## Set LC_ALL to prevent errors 17 | export LC_ALL=C 18 | 19 | ## Source CustomPIOS common.sh 20 | # shellcheck disable=SC1091 21 | source /common.sh 22 | install_cleanup_trap 23 | 24 | ## unpack postrename 25 | unpack filesystem/root / root 26 | ## set executable 27 | sudo chmod 0755 /postrename 28 | 29 | ## run postrename via rc.local 30 | sed -i 's@exit 0@@' /etc/rc.local 31 | echo -e "/postrename\nexit 0\n" | tee -a /etc/rc.local 32 | -------------------------------------------------------------------------------- /src/modules/ratos/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Shebang for better file detection 3 | #### RatOS module config 4 | #### Written by Mikkel Schmidt aka miklschmidt 5 | #### Copyright 2023 6 | #### 7 | #### Contains code from Stephan Wendel aka KwadFan 8 | #### Copyright 2021 - 2022 9 | #### https://github.com/mainsail-crew/MainsailOS 10 | #### 11 | #### This File is distributed under GPLv3 12 | #### 13 | 14 | [ -n "$RATOS_CONFIG_SHIP" ] || RATOS_CONFIG_SHIP=https://github.com/Rat-OS/RatOS-configuration.git 15 | [ -n "$RATOS_CONFIG_BRANCH" ] || RATOS_CONFIG_BRANCH=v2.1.x 16 | [ -n "$RATOS_THEME_SHIP" ] || RATOS_THEME_SHIP=https://github.com/Rat-OS/RatOS-theme.git 17 | [ -n "$RATOS_THEME_BRANCH" ] || RATOS_THEME_BRANCH=v2.1.x 18 | [ -n "$RATOS_CONFIGURATOR_SHIP" ] || RATOS_CONFIGURATOR_SHIP=https://github.com/Rat-OS/RatOS-configurator.git 19 | [ -n "$RATOS_CONFIGURATOR_BRANCH" ] || RATOS_CONFIGURATOR_BRANCH=v2.1.x-deployment 20 | 21 | #### NOTE: 22 | #### python3-serial is a klipper requirement 23 | #### python3-opencv is needed for moonraker-obico by obico in version 2.0 24 | 25 | [ -n "$RATOS_DEPS" ] || RATOS_DEPS="python3-serial python3-opencv" -------------------------------------------------------------------------------- /src/modules/ratos/end_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Installs RatOS 3 | # GPL V3 4 | ######## 5 | 6 | 7 | # Source error handling, leave this in place 8 | set -xe 9 | 10 | sudo -u "${BASE_USER}" /home/"${BASE_USER}"/printer_data/config/RatOS/scripts/ratos-post-install.sh 11 | 12 | # Stop the configurator, curl will fail so disable exit on error 13 | set +e 14 | echo "Stopping the configurator" 15 | curl 'http://localhost:3000/configure/api/trpc/kill' &> /dev/null 16 | # Re-enable exit on error 17 | set -e 18 | 19 | retries=0 20 | while [ "$(pgrep -f -c "ratos-configurator")" -gt 0 ]; do 21 | if [ $retries -gt 10 ]; then 22 | echo "Configurator did not stop, killing it..." 23 | pkill -f "ratos-configurator" 24 | if [ $retries -gt 12 ]; then 25 | echo "Configurator cannot be killed.. :(" 26 | break 27 | fi 28 | fi 29 | echo "Waiting for configurator to stop... ${retries}s passed" 30 | sleep 1 31 | retries=$((retries + 1)) 32 | done 33 | 34 | echo "Configurator stopped.." 35 | 36 | if [ "$(pgrep -f -c "KlipperScreen")" -gt 0 ]; then 37 | echo "Stopping KlipperScreen" 38 | retries=0 39 | while [ "$(pgrep -f -c "KlipperScreen")" -gt 0 ]; do 40 | if [ $retries -gt 10 ]; then 41 | echo "KlipperScreen did not stop, killing it..." 42 | pkill -f "KlipperScreen" 43 | if [ $retries -gt 12 ]; then 44 | echo "KlipperScreen cannot be killed.. :(" 45 | break 46 | fi 47 | fi 48 | echo "Waiting for KlipperScreen to stop... ${retries}s passed" 49 | sleep 1 50 | retries=$((retries + 1)) 51 | done 52 | fi 53 | 54 | echo "List out all running processes" 55 | ps aux -------------------------------------------------------------------------------- /src/modules/ratos/filesystem/root/etc/avahi/avahi-daemon.conf: -------------------------------------------------------------------------------- 1 | # This file is part of avahi. 2 | # 3 | # avahi is free software; you can redistribute it and/or modify it 4 | # under the terms of the GNU Lesser General Public License as 5 | # published by the Free Software Foundation; either version 2 of the 6 | # License, or (at your option) any later version. 7 | # 8 | # avahi is distributed in the hope that it will be useful, but WITHOUT 9 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 10 | # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 11 | # License for more details. 12 | # 13 | # You should have received a copy of the GNU Lesser General Public 14 | # License along with avahi; if not, write to the Free Software 15 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 16 | # USA. 17 | 18 | # See avahi-daemon.conf(5) for more information on this configuration 19 | # file! 20 | 21 | [server] 22 | #host-name=foo 23 | #domain-name=local 24 | #browse-domains=0pointer.de, zeroconf.org 25 | use-ipv4=yes 26 | use-ipv6=no 27 | #allow-interfaces=eth0 28 | #deny-interfaces=eth1 29 | #check-response-ttl=no 30 | #use-iff-running=no 31 | #enable-dbus=yes 32 | #disallow-other-stacks=no 33 | #allow-point-to-point=no 34 | #cache-entries-max=4096 35 | #clients-max=4096 36 | #objects-per-client-max=1024 37 | #entries-per-entry-group-max=32 38 | ratelimit-interval-usec=1000000 39 | ratelimit-burst=1000 40 | 41 | [wide-area] 42 | enable-wide-area=yes 43 | 44 | [publish] 45 | #disable-publishing=no 46 | #disable-user-service-publishing=no 47 | #add-service-cookie=no 48 | #publish-addresses=yes 49 | publish-hinfo=no 50 | publish-workstation=no 51 | #publish-domain=yes 52 | #publish-dns-servers=192.168.50.1, 192.168.50.2 53 | #publish-resolv-conf-dns-servers=yes 54 | publish-aaaa-on-ipv4=no 55 | publish-a-on-ipv6=no 56 | 57 | [reflector] 58 | #enable-reflector=no 59 | #reflect-ipv=no 60 | 61 | [rlimits] 62 | #rlimit-as= 63 | #rlimit-core=0 64 | #rlimit-data=8388608 65 | #rlimit-fsize=0 66 | #rlimit-nofile=768 67 | #rlimit-stack=8388608 68 | #rlimit-nproc=3 69 | -------------------------------------------------------------------------------- /src/modules/ratos/filesystem/root/var/log/ratos.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/src/modules/ratos/filesystem/root/var/log/ratos.log -------------------------------------------------------------------------------- /src/modules/rpi_mcu/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rat-OS/RatOS/b27fd256325995ba4c8ed15d01874578383212f8/src/modules/rpi_mcu/config -------------------------------------------------------------------------------- /src/modules/rpi_mcu/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Source error handling, leave this in place 4 | set -xe 5 | 6 | # Source CustomPIOS common.sh 7 | source /common.sh 8 | install_cleanup_trap 9 | 10 | echo_green "Installing RPI MCU service" 11 | 12 | pushd /home/pi/klipper 13 | echo "flashing rpi-mcu" 14 | cp -f /home/pi/printer_data/config/RatOS/boards/rpi/firmware.config /home/pi/klipper/.config 15 | make olddefconfig 16 | make clean 17 | # Reset ownership so make flash doesn't complain 18 | chown pi:pi -R /home/pi/klipper 19 | make flash 20 | popd 21 | 22 | pushd /home/${BASE_USER}/klipper 23 | sudo cp "./scripts/klipper-mcu.service" /etc/systemd/system/klipper_mcu.service 24 | sudo systemctl enable klipper_mcu.service 25 | popd 26 | 27 | 28 | 29 | # Reset ownership 30 | chown pi:pi -R /home/pi/klipper 31 | -------------------------------------------------------------------------------- /src/modules/sonar/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### Sonar - A WiFi Keepalive daemon 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2022 6 | #### https://github.com/mainsail-crew/sonar 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | # shellcheck disable=all 11 | 12 | # sonar repo 13 | [[ -n "$SONAR_REPO_SHIP" ]] || SONAR_REPO_SHIP=https://github.com/mainsail-crew/sonar.git 14 | [[ -n "$SONAR_REPO_BRANCH" ]] || SONAR_REPO_BRANCH=main 15 | 16 | # sonar setup 17 | [[ -n "$SONAR_DEFAULT_CONF" ]] || SONAR_DEFAULT_CONF="resources/sonar.conf" 18 | [[ -n "$SONAR_CONFIG_PATH" ]] || SONAR_CONFIG_PATH="/home/${BASE_USER}/printer_data/config" 19 | [[ -n "$SONAR_LOG_PATH" ]] || SONAR_LOG_PATH="/home/${BASE_USER}/printer_data/logs" 20 | # Add Sonar to moonraker.conf (update_manager) bool (1:yes / 0:no) 21 | [[ -n "$SONAR_ADD_SONAR_MOONRAKER" ]] || SONAR_ADD_SONAR_MOONRAKER="0" 22 | # Path to moonraker.conf (must be set if add to update_manager) 23 | [[ -n "$SONAR_MOONRAKER_CONF_PATH" ]] || SONAR_MOONRAKER_CONF_PATH="${SONAR_CONFIG_PATH}/moonraker.conf" 24 | 25 | ########################################################################### 26 | ### DO NOT EDIT BELOW THIS LINE, UNLESS YOU KNOW EXACTLY WHAT HAPPENDS! ### 27 | ########################################################################### 28 | 29 | SONAR_UNATTENDED="1" 30 | -------------------------------------------------------------------------------- /src/modules/timelapse/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### moonraker-timelapse module 3 | #### 4 | #### https://github.com/mainsail-crew/moonraker-timelapse 5 | #### Thanks to Fry Sennberg for this bueatiful "Plugin" 6 | #### 7 | #### Written by Stephan Wendel aka KwadFan 8 | #### Copyright 2022 9 | #### https://github.com/mainsail-crew/MainsailOS 10 | #### 11 | #### This File is distributed under GPLv3 12 | #### 13 | 14 | [ -n "$TIMELAPSE_SRC_DIR" ] || TIMELAPSE_SRC_DIR="/home/${BASE_USER}/moonraker-timelapse" 15 | [ -n "$TIMELAPSE_PYTHON_VENV_DIR" ] || TIMELAPSE_PYTHON_VENV_DIR="/home/${BASE_USER}/moonraker/moonraker/components" 16 | [ -n "$TIMELAPSE_CONFIG_DIR" ] || TIMELAPSE_CONFIG_DIR="/home/${BASE_USER}/printer_data/config" 17 | [ -n "$TIMELAPSE_TEMPLATE" ] || TIMELAPSE_TEMPLATE="/home/${BASE_USER}/timelapse_template.txt" 18 | 19 | [ -n "$TIMELAPSE_REPO_SHIP" ] || TIMELAPSE_REPO_SHIP=https://github.com/mainsail-crew/moonraker-timelapse.git 20 | [ -n "$TIMELAPSE_REPO_BRANCH" ] || TIMELAPSE_REPO_BRANCH=main 21 | [ -n "$TIMELAPSE_DEPS" ] || TIMELAPSE_DEPS="ffmpeg" 22 | -------------------------------------------------------------------------------- /src/modules/timelapse/filesystem/home/pi/timelapse_template.txt: -------------------------------------------------------------------------------- 1 | 2 | ### moonraker-timelapse 3 | ### Don't forget to include timelapse.cfg to your printer.cfg 4 | ### Uncomment to enable moonraker-timelapse 5 | 6 | 7 | #[update_manager timelapse] 8 | #type: git_repo 9 | #primary_branch: main 10 | #path: ~/moonraker-timelapse 11 | #origin: https://github.com/mainsail-crew/moonraker-timelapse.git 12 | #managed_services: klipper moonraker 13 | 14 | #[timelapse] 15 | ### Directory where the generated video will be saved 16 | #output_path: ~/timelapse/ 17 | ### Directory where ffmpeg is installed 18 | #ffmpeg_binary_path: /usr/bin/ffmpeg 19 | -------------------------------------------------------------------------------- /src/modules/udev_fix/config: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### MainsailOS udev_fix 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2023 - till today 6 | #### https://github.com/mainsail-crew/MainsailOS 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | 11 | #### This should fix error in udev not creating symlinks fpr serial devices. 12 | #### For details see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035094 13 | #### This is fixed by: https://github.com/systemd/systemd/pull/25246 14 | #### To fix this error in MainsailOS we implement that file as 'user rule'. 15 | 16 | #shellcheck disable=all 17 | 18 | [[ -n "${UDEV_FIX_RAW_RULE_FILE}" ]] || UDEV_FIX_RAW_RULE_FILE="https://raw.githubusercontent.com/systemd/systemd/main/rules.d/60-serial.rules" 19 | [[ -n "${UDEV_FIX_OUTPUT_FILE}" ]] || UDEV_FIX_OUTPUT_FILE="/etc/udev/rules.d/60-serial.rules" 20 | [[ -n "${UDEV_FIX_PKGS}" ]] || UDEV_FIX_PKGS="systemd udev" 21 | -------------------------------------------------------------------------------- /src/modules/udev_fix/start_chroot_script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #### MainsailOS MainsailOS udev_fix 3 | #### 4 | #### Written by Stephan Wendel aka KwadFan 5 | #### Copyright 2023 - till today 6 | #### https://github.com/mainsail-crew/MainsailOS 7 | #### 8 | #### This File is distributed under GPLv3 9 | #### 10 | 11 | #### This should fix error in udev not creating symlinks fpr serial devices. 12 | #### For details see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035094 13 | #### This is fixed by: https://github.com/systemd/systemd/pull/25246 14 | #### To fix this error in MainsailOS we implement that file as 'user rule'. 15 | 16 | # shellcheck enable=require-variable-braces 17 | # Source error handling, leave this in place 18 | set -Ee 19 | 20 | # Source CustomPIOS common.sh 21 | # shellcheck disable=SC1091 22 | source /common.sh 23 | install_cleanup_trap 24 | 25 | 26 | echo_green "Running 'udev' fix ..." 27 | 28 | # Step 1: Ensure systemd, udev are up to date (armbian workaround) 29 | if [[ -f /etc/armbian.txt ]]; then 30 | echo_green "Armbian base image detected ..." 31 | echo_green "Updating ${UDEV_FIX_PKGS} first ..." 32 | apt-get update 33 | # Disable shellcheck here, because we need 'word splitting' 34 | # shellcheck disable=SC2086 35 | apt-get --yes install --only-upgrade ${UDEV_FIX_PKGS} 36 | fi 37 | 38 | # Step 2: Fix broken udev (remove after debian releases patch) 39 | UDEV_PKG_VERSION="$(dpkg-query -s udev | grep "Version" | sed 's/Version\: //')" 40 | 41 | if [[ -n "${UDEV_PKG_VERSION}" ]] && [[ "${UDEV_PKG_VERSION}" =~ "deb11u2" ]]; then 42 | echo_red "'udev' version: ${UDEV_PKG_VERSION}, is affected by bug ..." 43 | echo_green "Install patched udev rule from systemd git repository ..." 44 | curl -sSL "${UDEV_FIX_RAW_RULE_FILE}" > "${UDEV_FIX_OUTPUT_FILE}" 45 | else 46 | echo_green "'udev' version: ${UDEV_PKG_VERSION}, is NOT affected by bug ... [SKIPPED]" 47 | fi 48 | -------------------------------------------------------------------------------- /src/version: -------------------------------------------------------------------------------- 1 | 2.1.0-RC3 2 | --------------------------------------------------------------------------------