Home Services Portfolio The Lab Our Team Blog Contact Jobs

Meet Sid

Meet Sid

Our latest lab experiment combines the digital and physical worlds to allow you to control a robotic arm live in our office.

Drop a ball into one of the many holes surrounding Sid. The smaller, harder ones net you more points. Beware though, they take longer to reach and reduce the amount of attempts you might get, so don't miss!

How many points can you get in 45 seconds of control?

Play with Sid

SPACE (Claw)
Control Sid for 45 seconds and see how many points you can score!
Waiting Time Position
2min 4s
Control Sid
You cannot do that right now
Sid has been controlled by 256,127 players! Long queue times? Try our Breaking Bad game while you wait!
This experiment has now finished. Read lab notes

Step 1

Visit http://sidg.tl/sid on your PC

Step 2

Enter the mobile code here

Waiting for mobile code entry...


Your devices are now paired
When you have control on your PC, keep your mobile in portrait and tilt to move sid!

The tech behind Sid

Sid was created as one of our many hack weeks here at Si digital. The underlying objective is always to create something as a team that we wouldn't normally get the opportunity to do with client work. Ideally it will expand our skill set and expose us to new technologies and methods that we can bring back into our client projects.

Connecting the virtual and physical world is always a lot of fun. From real time socket communication to live webcam streaming, theres a lot going on to allow Sid to be controlled. We've listed all the technologies used and how they interact so you can hopefully be inspired to try something similar yourself!


Welcome to the world of real time applications. Using several different technologies we are able to connect you live to a robot arm sat in our office.

Node.js Server

The Node.js server is our mothership. Using the socket.io library allowed us to create a backend in javascript to handle all realtime communication between you and Sid. It manages the control queue, movement commands, scores, and overall gatekeeping. The Forever monitor keeps our application on it's legs at all times

Webcam Server

Being a real time application we could not accept any live video delay over 1 second. All of the out of the box solutions failed to deliver that so we rolled our own. After experimenting with more techniques than we'd like to admit, we finally settled on utilising the NGINX RTMP module to receive an RTMP stream from ffmpeg running on the Raspberry Pi

Raspberry Pi - Sid’s brain

This incredible little machine tells Sid exactly what to do. It listens for commands sent from the Node.js server and using PySSC32 we were able to hack Sid, who doesn’t have an API, into total obedience. 8 lever switches connected to the GPIO pins of the Pi control the scoring system, all of which are attached to the stage area we built here in our workshop!