Microcontroller Distributed Control System (GoDCS)
GoDCS – Distributed Control System for Modular Automation
GoDCS is a lightweight, scalable control platform built in Go and designed for laboratory and manufacturing automation. It supports ESP32 microcontrollers, over-the-air firmware updates, and real-time monitoring via WebSockets.
Backend Architecture
- Written in Go with HTMX-compatible frontend templates
- Real-time WebSocket integration for I/O streaming and UI updates
- Dynamic script templating engine for `.ino` firmware generation
- Supports OTA firmware uploads to ESP32 via CLI tools (e.g., `arduino-cli`)
- Modular database-backed configuration for IO, parameters, and modules
- Periodic scheduler/event loop for automation logic execution
Frontend & UI
- Responsive, mobile-friendly UI with dynamic equipment faceplates
- Interactive process overview grid (P&ID-style) with HTMX and Go templates
- Custom IO and command tabs for each module's faceplate
- Trending and visualization support via Gonum plotter (in development)
- Live module configuration editor with parameter and card selectors
Hardware Integration
- ESP32 microcontroller control over network with JSON-configured logic
- Stepper motor-based fraction collector (Rheodyne HT725 valve)
- Load cell integration with GL45 bottle mounts and real-time weight logging
- DM542 / DM556 stepper driver integration with homing and position tracking
- NEMA 17 magnetic stirrer and valve actuation support
3D Modeling & Hardware Design
- Custom 3D-printed GL45 cap inserts with tapped ports and tubing pass-through
- Modular enclosures and mounting brackets for ESP32, drivers, and stepper motors
- Designed in CadQuery with exportable `.STL` and `.STEP` files
- PETG-optimized Cura profiles for high-durability parts
Automation & Integration
- JSON-based recipe/task logic with parameter bindings and endpoint mapping
- Support for user-defined module scripts and scheduler registration
- GoMES integration in progress for work orders, recipe execution, and batch tracking
- Deployed in live lab settings for continuous flow chemical processing and HPLC fraction collection