Skip to content
Main site

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.


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

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 it

The 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.



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] in printer.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.


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.


In Mainsail Console:

STATUS

Output 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.