Skip to content

bluerobotics/fillhead

Repository files navigation

Fillhead

Fillhead

Material Injection System Control

release build downloads license: MIT

View ChangelogDownload Latest Release


Overview

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.

Features

  • 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

Building

Requirements

  • Atmel Studio 7 (Windows) or compatible ARM GCC toolchain
  • Teknic ClearCore libraries (included in lib/ folder)
    • libClearCore
    • LwIP (Lightweight IP stack)

Build Instructions

  1. Open fillhead.atsln in Atmel Studio
  2. Ensure libraries are properly referenced:
    • lib/libClearCore/ClearCore.cppproj
    • lib/LwIP/LwIP.cppproj
  3. Select build configuration (Debug or Release)
  4. Build the solution (F7)

Output Files

  • Debug/fillhead.bin - Binary firmware image
  • Debug/fillhead.uf2 - UF2 format for bootloader flashing

Flashing

Via BR Equipment Control App (Recommended for Updates)

The easiest way to update firmware on an already-running device is through the BR Equipment Control App:

  1. Open the Firmware Manager in the app
  2. Select your device
  3. Choose the firmware file or download the latest release
  4. 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.

Via Bootloader (For Initial Flashing)

For initial flashing of a new device or when the app is not available:

  1. Put the ClearCore into bootloader mode (hold button during power-on)
  2. Copy fillhead.uf2 to the mounted bootloader drive
  3. The device will automatically reboot with new firmware

Via Atmel Studio

  1. Connect ClearCore via USB
  2. Select "Custom Programming Tool" in project settings
  3. Build and program (F5)

Communication Protocol

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.


Hardware Configuration

Motors

  • 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)

Sensors

  • Thermocouple: Analog input (A12) for temperature monitoring
  • Vacuum Transducer: Analog input (A11) for pressure monitoring

Outputs

  • 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

Configuration

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright (c) 2025 Blue Robotics

Contributing

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


Blue Robotics

bluerobotics.com | Manufacturing Equipment Control

About

Codebase for a stator injection machine, based on ClearCore and ClearPath servos

Resources

Stars

Watchers

Forks

Packages

No packages published