Klipper is the Open Source 'firmware' ecosystem that controls the printer. It's designed to make use of small systems and SoCs as linux hosts that run its series of distributed applications
and services which APIs, UIs and connects to one or more microcontrollers. This replaces the Marlin firmware style systems that used to be prevalent for 3D printer control and greatly improves in the following areas:
supports “Smooth Pressure Advance”, input shaping, automated bed leveling, adaptive bed meshes for bed warpage compensation, z probes, real-time objects and exclusions, filament presence sensors, filament motion sensors, and filament width sensors, accelerometers (for input shaping)
supports multiple microcontrollers, allowing separate controllers, allowing subsystem printer design (e.g. extruder, heaters, motion, fans) and supports multiple extruders
See http://klipper.org