| Crates.io | ev3-runner |
| lib.rs | ev3-runner |
| version | 1.3.2 |
| created_at | 2025-10-31 21:12:32.872036+00 |
| updated_at | 2025-12-02 19:02:07.396414+00 |
| description | A command-line tool to upload and run binaries on LEGO EV3 robots running ev3dev over TCP. |
| homepage | |
| repository | https://github.com/kingananas20/ev3-runner |
| max_upload_size | |
| id | 1910800 |
| size | 59,744 |
A command-line tool to upload and run binaries on LEGO EV3 robots running ev3dev over TCP.
cargo install ev3-runner
git clone https://github.com/kingananas20/ev3-runner
cd ev3-runner
cargo install --path .
Pre-compiled binaries for the EV3 (ARMv5TE architecture) are available in the latest GitHub release.
Download the ev3-runner binary from the release page and transfer it to your EV3 robot.
Run the server on your EV3 robot:
ev3-runner server
With custom port and password:
ev3-runner server --server-port 8080 --password mysecret
Upload a file:
ev3-runner client upload ./my-program
Upload and run a file:
ev3-runner client run ./my-program
With custom options:
ev3-runner client run ./my-program \
--remote-path /home/robot/my-program \
--host 192.168.1.100:6767 \
--password mysecret
-p, --server-port <PORT> - Port to listen on (default: 6767)-p, --password <PASSWORD> - Server password (default: maker)-v - Increase verbosity (can be repeated: -v, -vv, -vvv)-r, --remote-path <PATH> - Target path on the server (default: same as local filename)--host <HOST> - Server address in addr:port format (default: 127.0.0.1:6767)-p, --password <PASSWORD> - Connection password (default: maker)-v - Increase verbosity (can be repeated: -v, -vv, -vvv)This hash-based approach avoids unnecessary uploads when the file hasn't changed, making iterative development faster.
Start the server on your EV3:
./ev3-runner server --password mypassword
From your development machine, upload and run your program:
ev3-runner client run ./target/armv5te-unknown-linux-musleabi/release/my-robot-program \
--host 192.168.1.100:6767 \
--password mypassword
Watch the output stream in real-time from your EV3!
To cross-compile your Rust programs for the EV3:
rustup target add armv5te-unknown-linux-musleabi
cargo build --release --target armv5te-unknown-linux-musleabi
The password is hashed using SHA-256 before transmission. However, this tool is designed for development workflows and should not be used in security-critical environments. Always use it on trusted networks.
MIT