myCobot 280 Lab
Fast, measured control of the myCobot 280 (for Arduino). Install our custom firmware on the ATOM from the browser. Then move the arm from any computer on the same network.
Parts of the site
Set upInstall the controller firmware on the ATOM and connect it to your WiFi. You need a USB-C cable and Chrome or Edge.Open Setup ControlMove the joints, set a goal pose, or let the arm follow the faders in Live mode. Watch the 3D model, the plots and a camera.Open Control LearnRead how the system works, from the servo bus to the firmware. Every result has its numbers and its method.Read the docs
Why custom firmware
The stock firmware on the ATOM answers one command at a time from a computer. Our controller firmware runs the motion on the ATOM, next to the servos, and talks to the browser over WiFi. Install it from the Setup page; you can go back to the stock firmware at any time.
Stock firmware (v7.2)Our controller firmware
Read the jointsget_angles over USB: 20 ms (8–9 ms with the latency fix).The ATOM reads all six servos in 1.26 ms, 500 times a second.Move the armsend_angles: one goal per command. The servos move by themselves.Smooth trajectories on the ATOM at 500 Hz: moves, plans and Live mode.ConnectA USB cable to a computer with a Python library.WiFi: a browser, with nothing to install on the computer.Servo gainsThe gains that the stock firmware writes at power-up.Tuned gains at power-up: half the error on the test circle.Watch and stopAsk for each value.A 50 Hz state stream (angles, load, temperature, IMU). One client has control. A deadman stops the arm.Measured, with the method
1.26 msto read all six servos. The stock get_angles took 20 ms.Latency 500 Hzcontrol loop on the ATOM. Period 1.985–2.016 ms, 0 late cycles.Onboard loop 0.8 mmRMS error on a 100 mm circle, from 12.5 mm, with lag compensation and learning control.Learning control 90 °/sin Live mode: the joints follow the faders as fast as a planned move. Before, 30 °/s.Live mode
How it works
- BrowserSetup and Control pagesChrome or Edge, no install
- WebSocketover WiFi
- ATOM (ESP32)our controller firmware500 Hz loop, IMU
- servo bus1 Mbaud
- Six servosFeetech STS, J1 to J6
Optional: a Raspberry Pi next to the robot serves the site and a camera, and keeps a log of each session.
- The ATOM is the controller. It runs the motion at 500 Hz, next to the servos. WiFi delays do not change the path.
- The browser is the interface. It sends goals and shows the state that the ATOM streams.
- One client has control. Others can watch. If the page stops sending, the arm stops by itself.
Safety
The arm moves fast. Keep clear of it while it moves. The ATOM button is not an emergency stop: keep the 12 V switch within reach.
Read the safety rulesStatus
This is a lab project, and it changes often. The docs describe the system as it is: when the code changes, the docs change in the same commit.
Roadmap · Firmware changelog