"Controller" usually means two things together: the firmware (FluidNC, GRBL — see Controllers) and the board it runs on, which carries the stepper drivers and connectors. Here are the common boards for foam cutters.
RAMPS-style boards
RAMPS (RepRap Arduino Mega Pololu Shield) is the classic 3D-printer control board: an Arduino Mega with a shield that holds pluggable stepper-driver modules and screw terminals for motors, endstops and heaters. It is cheap, ubiquitous and well understood. For foam cutting, the heater/MOSFET outputs are handy for switching the hot wire, and the multiple driver sockets suit a multi-axis machine. Runs Marlin or GRBL-Mega variants.
PiBot
PiBot is a family of CNC/3D-printer controller boards designed for clean wiring and reliability, with integrated or pluggable stepper drivers and the connectors a multi-axis machine needs. Like RAMPS, it pairs with GRBL/Marlin-style firmware. It is a tidy option for a more permanent foam-cutter build.
Multi-axis stepper breakouts
For a 4/5-axis foam cutter you need enough independent stepper channels. Options include 6-axis breakout boards (e.g. a Bart Dring 6-Pack, or boards from Elecrow/PiBot) that host several pluggable drivers and expose plenty of I/O for the wire output and limits. These pair naturally with an ESP32 + FluidNC for the most capable setup.
How they all fit together
- A microcontroller (ESP32, Arduino Mega) runs the firmware.
- A board/breakout hosts the stepper drivers (e.g. TMC2209) and connectors.
- Drivers power the motors that move each axis.
- A separate hot-wire supply (switched by a MOSFET the controller toggles) heats the wire.
The reference cncfoam.com build uses an ESP32 + FluidNC on a 6-axis breakout with TMC2209 drivers and NEMA-17 motors — but because the output is standard G-code, RAMPS/PiBot/GRBL setups work too. See Motors & drivers and the hardware page.