Skip to content

tpt-solutions/tpt-servo

TPT Servo

Open-source, hardware-agnostic IEC 61131-3 PLC runtime (Rust) + web IDE.

TPT Servo is an open-source industrial automation platform. It runs IEC 61131-3 programs (ladder logic, function block diagrams, structured text, instruction list, and sequential function charts) on cheap hardware — Raspberry Pi 4, industrial PCs, or custom ARM boards — and talks to any brand of robot, sensor, or actuator over Modbus, EtherCAT, and PROFINET.

Factories are locked into proprietary PLCs (Rockwell, Siemens) where a single controller costs tens of thousands of dollars. TPT Servo lets small manufacturers automate for a fraction of that cost and mix-and-match hardware without vendor lock-in.

License

Dual-licensed under MIT and Apache-2.0. Copyright © 2024 TPT Solutions.

Source files carry an SPDX header:

// SPDX-FileCopyrightText: 2024 TPT Solutions
//
// SPDX-License-Identifier: MIT OR Apache-2.0

Architecture

Component Crate Language Description
Runtime core tpt-runtime Rust Scan-cycle engine + five IEC 61131-3 language interpreters
Fieldbus drivers tpt-fieldbus Rust Protocol-agnostic abstraction + Modbus/EtherCAT/PROFINET
Motion control tpt-motion Rust PID, camming, electronic gearing, servo abstraction
IDE backend tpt-ide-backend Rust API service bridging the web IDE to the runtime

The web IDE itself (TypeScript/React) is tracked separately and connects to the runtime through tpt-ide-backend.

Roadmap

See todo.md for the full phased plan:

  • Phase 0 – Project foundation & licensing (in progress)
  • Phase 1 – IEC 61131-3 runtime core
  • Phase 2 – Fieldbus drivers
  • Phase 3 – Motion control library
  • Phase 4 – Visual programming IDE (web)
  • Phase 5 – Hardware integration & real-world deployment

Getting started

cargo build        # build all crates
cargo test         # run tests
cargo clippy       # lint

Ecosystem

  • TPT Servo (factory floor) — controls robots, conveyors, and sensors.
  • tpt-smartcity (city level) — monitors factory energy and emissions.

Servo reports production data to tpt-smartcity over MQTT.

Contributing

See CONTRIBUTING.md. All contributions are dual-licensed under MIT/Apache-2.0 by default.

About

Open-source, hardware-agnostic IEC 61131-3 PLC runtime in Rust — Modbus/EtherCAT/PROFINET on any Pi or industrial PC.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages