Firmware for the Fillhead material injection system, built on the Teknic ClearCore platform. This firmware provides precision control for material injection operations with dual-motor injector control, pinch valve management, temperature control, and vacuum system monitoring.
Designed to work with: BR Equipment Control App - A Python/Tkinter GUI for controlling and monitoring the Fillhead and other Blue Robotics manufacturing equipment.
- Dual injector motors - Synchronized control of two ganged motors for material injection
- Pinch valve control - Two independent motorized pinch valves (vacuum and injection sides)
- Temperature control - PID-based heater control with thermocouple feedback
- Vacuum system - Pressure monitoring and control with transducer feedback
- UDP/Ethernet communication - Network-based control with device discovery
- USB Serial fallback - Direct USB communication support
- Command-based control - Simple text-based command protocol
- Real-time telemetry - Position, temperature, pressure, torque, and status reporting
- Homing routines - Automatic homing for injector and pinch valves (tubed/untubed modes)
- Leak testing - Automated vacuum leak detection
- Atmel Studio 7 (Windows) or compatible ARM GCC toolchain
- Teknic ClearCore libraries (included in
lib/folder)libClearCoreLwIP(Lightweight IP stack)
- Open
fillhead.atslnin Atmel Studio - Ensure libraries are properly referenced:
lib/libClearCore/ClearCore.cppprojlib/LwIP/LwIP.cppproj
- Select build configuration (Debug or Release)
- Build the solution (F7)
Debug/fillhead.bin- Binary firmware imageDebug/fillhead.uf2- UF2 format for bootloader flashing
The easiest way to update firmware on an already-running device is through the BR Equipment Control App:
- Open the Firmware Manager in the app
- Select your device
- Choose the firmware file or download the latest release
- Click "Update Firmware" - the app handles the entire flashing process automatically
Note: Firmware flashing is only supported over USB connections. For initial flashing of a new device, use the bootloader method below.
For initial flashing of a new device or when the app is not available:
- Put the ClearCore into bootloader mode (hold button during power-on)
- Copy
fillhead.uf2to the mounted bootloader drive - The device will automatically reboot with new firmware
- Connect ClearCore via USB
- Select "Custom Programming Tool" in project settings
- Build and program (F5)
The firmware uses a simple text-based command protocol over UDP or USB serial:
- Commands:
inject <volume> ml,feed <distance> mm,home_injector,set_heater <temp> C - Status:
DONE: <command>,ERROR: <message>,INFO: <message> - Telemetry: Periodic status updates with position, temperature, pressure, torque
See the BR Equipment Control App for full protocol documentation and command reference.
- Injector A: Primary injector motor (M0)
- Injector B: Secondary injector motor (M1) - ganged with A
- Vacuum Valve: Pinch valve motor for vacuum side (M2)
- Injection Valve: Pinch valve motor for injection side (M3)
- Thermocouple: Analog input (A12) for temperature monitoring
- Vacuum Transducer: Analog input (A11) for pressure monitoring
- Heater Relay: Digital output (IO1) for heater control
- Vacuum Pump Relay: Digital output (IO0) for vacuum pump control
- Vacuum Solenoid Relay: Digital output (IO5) for solenoid valve control
Key parameters can be configured in inc/config.h:
- Motor parameters: Steps per mm, velocities, accelerations
- Temperature control: PID gains, setpoints, sensor calibration
- Vacuum control: Pressure ranges, targets, ramp timeouts
- Injection parameters: Piston diameters, speeds, feed rates
- Homing parameters: Velocities, accelerations, torque limits for tubed/untubed modes
- Network settings: UDP port, packet sizes, telemetry interval
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 Blue Robotics
For issues, feature requests, or contributions, please open an issue or pull request on GitHub.
⭐ Star us on GitHub if you found this useful!
Made with 💙 by the Blue Robotics team and contributors worldwide
bluerobotics.com | Manufacturing Equipment Control