Based on contributions by pauladelahoz.
If your Python program needs more compute power than a laptop conveniently provides — for example machine learning or vision processing — you can replace the laptop with a UP Board: a compact single-board computer that runs Ubuntu and can sit inside a small electrical box next to the robot. This article shows how to set one up and connect it to a UR robot.
What you need
- A UP Board (UP, UP 4000, UP Squared, UP Core, UP Core Plus, UP Xtreme or UP Squared Pro)
- An Ethernet switch and Ethernet cables
- A laptop (used for initial setup and remote access)
- A Universal Robot
- A file transfer client such as WinSCP (Windows)
Steps
1. Install Ubuntu with GPIO support on the UP board
To access the GPIO pins you need a special kernel. The latest compatible version at the time of writing is Ubuntu 20.04. Follow the UP board Ubuntu kernel setup instructions on GitHub, or the Ubuntu 20.04 installation guide covering all UP board models.
Disable the automatic system updater, or don’t click “update” when prompted — an update can replace the kernel with an incompatible version and break the GPIO libraries.
Then install the Periphery library for GPIO access, following the python-periphery instructions.
2. Put the UP board and your laptop on the same network
Connect the UP board and your laptop to the same Ethernet switch. Give both a static IPv4 address in the same subnet (see How to find and set the IP address for connecting a PC to a UR robot).
3. Transfer files to the UP board
Open WinSCP on your laptop and create a “new site”:
- Host name: the UP board’s IP address
- Port number: 22 (default)
- Username / Password: the login (or
sudo) credentials you set up on the UP board
You can now browse the UP board’s file system and transfer files (code, images, models, …) between it and your laptop.
4. Run commands on the UP board remotely
From PowerShell (Windows):
ssh <username>@<up_board_ip_address>
This logs you into the UP board’s command line, where you can run scripts, edit files and change system settings — handy for troubleshooting without a monitor attached to the board.
5. Connect the UR robot to the same network
Plug the robot’s Ethernet cable into the same switch. The UP board and the robot can now communicate over TCP/IP using Python’s socket library, exactly as if the UP board were your laptop — see How to send and receive data between Python and a UR robot over a TCP/IP socket for the full communication setup.
Troubleshooting / Common mistakes
- An automatic OS update on the UP board can silently break the GPIO kernel — keep automatic updates disabled.
Check: the source doesn’t give the exact static-IP configuration steps for Ubuntu on the UP board (e.g. via netplan) — only that it needs to be in the same subnet as the robot and laptop. Staff may want to add the specific netplan/network settings used in the lab.
Related
- How to find and set the IP address for connecting a PC to a UR robot — find/set IP addresses
- How to send and receive data between Python and a UR robot over a TCP/IP socket — send/receive data over a TCP/IP socket
- How to find and set the IP address for connecting a PC to a UR robot — control the robot from Python with RTDE
Rewritten and consolidated (Sept 2026) from the original student how-to’s: How to integrate the UP board with the Universal Robot.