Firmware for the Pressboi dual-motor press control system, built on the Teknic ClearCore platform. This firmware provides precision control for press operations with real-time force monitoring, synchronized dual-motor movement, and network/USB communication.
Designed to work with: BR Equipment Control App - A Python/Tkinter GUI for controlling and monitoring the Pressboi and other Blue Robotics manufacturing equipment.
- Dual-motor synchronized control - Two motors on a single axis for press operations
- 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, force, torque, and status reporting
- Pause/resume/cancel - Interrupt and resume operations safely
- Force monitoring - Real-time force feedback with configurable limits
- Auto-generated protocol - Commands and telemetry from JSON schemas
- Atmel Studio 7 (Windows) or compatible ARM GCC toolchain
- Teknic ClearCore libraries (included as submodules/dependencies)
libClearCoreLwIP(Lightweight IP stack)
- Open
pressboi.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/pressboi.bin- Binary firmware imageDebug/pressboi.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
pressboi.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:
move_abs <position> mm,move_inc <distance> mm,home,enable,disable - Status:
DONE: <command>,ERROR: <message>,INFO: <message> - Telemetry: Periodic status updates with position, force, torque, and motor status
See the BR Equipment Control App for full protocol documentation and command reference.
- Motor A: Primary press motor (M0)
- Motor B: Secondary press motor (M1) - synchronized with Motor A
- Force sensor: Load cell or motor torque-based force monitoring
- Position feedback: Encoder feedback from ClearPath motors
Key parameters can be configured in inc/config.h:
- Motor parameters: Steps per mm, velocities, accelerations, torque limits
- Homing parameters: Velocities, accelerations, torque limits, backoff distances
- Force monitoring: Force limits, sensor calibration, enable/disable options
- Network settings: UDP port, packet sizes, telemetry interval
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