Extruder board (extruder_board MCU)
The extruder_board is a custom Ginger Additive board — named Ginger.Extruder on the assembly drawings — carrying an Arduino Nano-compatible board (ATmega328P) flashed with Klipper, mounted inside the panel box (the green PCB). It is a second Klipper MCU alongside the main Octopus board.
It has a twin. The panel box also holds Ginger.Feeding, a board of the same family carrying the same Arduino Nano-compatible board, which runs the auto feeding system. The two are not interchangeable in service: they run entirely different firmware, and only this one is wired to the Raspberry Pi. See the three boards.
What the extruder_board does
Section titled “What the extruder_board does”The extruder_board handles only the following:
- The 3 heater relays (one per heating zone) — and it passes the 220V through to the heater bands
- The servo that actuates the bed-leveling probe
- The part cooling fan
- The feeder switch and its status output
- The buzzer
Architecture
Section titled “Architecture”Raspberry Pi (host, runs Klipper + Mainsail) ├── USB_2 ── mcu (Octopus Pro v1.1, STM32H723) — motion, all NTC sensing, bed heater output └── USB_1 ── extruder_board (Ginger.Extruder, Nano-compatible) — 3 zone heater relays + 220V, probe servo, part fan, feeder switch, buzzer │ └── GCOM ── Ginger.Feeding (Nano-compatible) — vacuum relay, level probe, buzzer no USB to the Pi; Klipper cannot see itThe feeder board hangs off the extruder_board, not off the Pi. That is why the FEEDER toggle works through Klipper even though Klipper has no idea the feeding board exists — the signal travels the short GCOM link between the two Ginger boards.
Both MCUs connect to the Raspberry Pi over USB. The USB plugs into the port on the panel box that routes to the Raspberry Pi. Both MCUs must be running for the printer to operate.
Not the same as the extruder breakout
Section titled “Not the same as the extruder breakout”Common error: “Lost communication with MCU ‘extruder_board’”
Section titled “Common error: “Lost communication with MCU ‘extruder_board’””If the board is not connected, Klipper raises this error. The cause is one of two:
- The USB cable from the Raspberry Pi to the board is not seated properly. Re-seat it at both ends and do a firmware restart.
- The
serial:line has been deleted (or changed) under[mcu extruder_board]inprinter.cfg, so Klipper no longer knows where the board is. Restore it.
The board’s firmware is never the cause, and the board is never reflashed.
See Klipper MCU communication lost for the full diagnosis guide.
Firmware version
Section titled “Firmware version”The extruder_board runs its own Klipper binary, written at the factory. It is never reflashed: neither the Update Manager nor a new SD card touches it, and nothing in service calls for it.
The only board you flash is the Octopus — see Flashing the Octopus.
Checking board status
Section titled “Checking board status”In Mainsail Console:
STATUSOutput shows both mcu and extruder_board — both should show Connected. If extruder_board shows Disconnected or is absent: check the USB cable from the Raspberry Pi and the serial: line in printer.cfg, then do a firmware restart.
Related notes
Section titled “Related notes”- Klipper MCU communication lost
- Panel Box wiring — connector layout and the extruder breakout
- Temperature sensor NTC 100k — read by the Octopus, not this board
- Raspberry Pi and SD card
- Updating the printer
- Flashing the Octopus
- Power supply 24V