GithubHelp home page GithubHelp logo

dbd64 / catboat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from printers-for-people/catboat

0.0 0.0 0.0 32.82 MB

Improve your pronter, nyan!

License: GNU General Public License v3.0

Shell 0.01% C++ 0.09% Python 1.00% C 98.84% Assembly 0.03% Makefile 0.02% CMake 0.01% Dockerfile 0.01% G-code 0.01%

catboat's Introduction

Catboat

What is this?

An improved 3D printer control firmware, forked from Klipper, designed to support a large range of printers. Unlike other firmware, Catboat uses a combination of a 3D printer control board (for basic movement, heating, etc) and a standalone separate computer (usually an SBC) for anything more complex like interpreting G-code, configuration etc.

Catboat is designed to be easy to set up, easy to configure, and to support the same hardware as Klipper.

What are the goals of this project?

Convenience for 'non-techies'

Setting up Klipper, unless you're going for a very specific setup, is frustrating, time-consuming, and requires far more technical knowledge than should be necessary. Furthermore, the 'blessed' setup method is under-documented, hard to diagnose issues with, and needlessly so. This is because Klipper currently fails to use some well-established distribution technologies which could make this effortless, or nearly so. Furthermore, certain aspects of the Klipper setup are needlessly complex even if you use a blessed setup.

Catboat aims to make the process of its setup as easy as possible: you don't have to know anything about how Linux works, or even what an IP address is in most cases. Furthermore, we provide pre-made setups (of varying levels of 'pre-made') for those who just want a plug-and-play solution. At the same time, we don't neglect the needs of the more technically-oriented. Throughout, we aim for documentational clarity: everything should be spelled out in enough detail that someone could replicate our work, and see the logic behind it, without having to guess or experiment.

Klipper compatibility

Klipper is, on the whole, a brilliant idea, and continues to improve. We don't want to exclude ourselves (or our users) from these improvements. Additionally, we want to make moving from Klipper to Catboat as effortless as possible. We make it a goal that 'any valid Klipper config is also a valid Catboat config'; all you have to do is copy over your old config, and you're golden.

We also regularly merge upstream Klipper into Catboat: no feature in upstream Klipper should be missing from Catboat for long.

Ecosystem diversity

Klipper suffers from extreme ecosystemic homogeny: if you don't want to fund the RPi Foundation (and there are good reasons not to), you're left out in the cold. Furthermore, even in this case, the documentation is spotty at best, and misleading at worst. This is 100% a problem that could be solved, and Catboat aims to do so. In particular, we aim to provide two things:

  • A general, easy-to-run configuration process, which works on most Linux-capable devices; and
  • A collection of multiple 'blessed' devices, which we have tested and ensure work, and provide additional 'plug-and-play' levels of support for.

We want to give our users options, and not chain them to a single source, which is brittle at best, dangerous at worst. We have the means to do so, and Catboat aims to be the end by which we do it.

Feature richness, even for more niche cases

Klipper has historically been quite strict in which features it will and won't include, aiming to support only those features that would be useful to a very general use case. While this is understandable, we also feel it is needlessly limiting, as Klipper's strongest feature is its ability to improve existing printers with very little change needed. Additionally, what is niche to one person may be very core to others, and it's arguable that Klipper's definition of 'niche' is somewhat skewed.

Catboat, on the other hand, tries to provide features that are useful, even if they're somewhat niche. This includes workarounds for tricky printer boards, additional capabilities that may not often be useful, and additional devices which Klipper may deem not fitting their goals. This is not to say we accept any and every feature: merely that we seek to cater to use cases that Klipper may not consider central enough to their goals.

How do I use this?

For a jump start, try a KIAUH Install. Look at the Catboat wiki for more information.

How is this different from Klipper?

See the description file. At the same time, Catboat maintains the principle of 'any valid Klipper config is also a valid Catboat config'; if you have a working Klipper config, you can use it with Catboat and still expect it to work. If this doesn't happen, it's a bug: please report it!

I want to help - what should I do?

Test the code on your printer and provide feedback to Catboat issues, good or bad.

Licensing and other such things

We maintain the same license as Klipper, which we you can find in the license file. This is GPLv3-only according to SPDX code.

catboat's People

Contributors

adelyser avatar arksine avatar ayufan avatar bigtreetech avatar cirromulus avatar cruwaller avatar d4sk avatar dalegaard avatar delsian avatar dingyifei avatar dmbutyugin avatar eamaclean avatar fessyfoo avatar fheilmann avatar grigorig avatar jamesh1978 avatar jookia avatar jschuh avatar kevinoconnor avatar kozross avatar leptun avatar master92 avatar mattaw avatar matthewlloyd avatar mattthebaker avatar mcmatrix avatar meteyou avatar pedrolamas avatar test3210-d avatar wizhippo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.