Web developer Alex Crooks talks to us about using Raspberry Pi to create Sid, the office robot.
No matter how much you love your work, whether you're a website builder or a creative director, it's good to have a side project to keep your creativity on its toes. We ask Alex Crooks about his robotic side project.
Who are you and what do you do?
I'm a web developer at Si digital. We create everything from interactive marketing sites to large car insurance quoting engines and dashboards. We've recently become obsessed with connecting the physical and digital world in interesting ways.
And Sid, your office robot, how did it/she/he come into being?
We bought a Raspberry Pi last year and after experimenting with the usual beginner projects of flashing LEDs we wanted to do something more ambitious. I'd been given a cheap robot arm the previous year and decided it would be fun to hack its controls with the Pi. We'd also been playing with realtime web technologies and soon realised the two could be combined to let anyone play with the robot from across the world.
What technologies make Sid purr (or whirr)?
When a visitor to our site requests to control Sid, our Node.js server adds them to the queue. When it's their turn, they send movement commands and receive feedback in real time using Socket.IO. These commands are relayed from Node.js to the Raspberry Pi in our office. The Pi uses Python to send movement commands to the robot's motors. A webcam also connected to the Pi transmits the action to a dedicated webcam Nginx server, which plays it back to everyone's browser with under a second delay. When the robot drops a ball into a hole, it presses on one of eight push switches under the stage area that lets Node.js and everyone know about the new score. As you can imagine, getting all these different technologies and moving parts to work perfectly together was quite a challenge.
What's reaction to the project been like?
The response has been overwhelming. At one point we had queue times of nearly four hours solid for a week with hundreds of thousands of people flooding in from various social networks, and yes people did wait that long to play! A popular YouTube channel made a video about Sid that has just shy of a million views now, and people are still tweeting their scores on a daily basis. He's been worked hard with over 160,000 plays in just a couple of months.
Why should an agency have a side project?
We regularly have hack weeks where we involve the entire team on a project that uses technology we wouldn't normally get to experiment with during client work. It gives us a chance to work on the many crazy ideas we have and everyone gets pushed out of their comfort zone to produce something amazing.
This article originally appeared in net magazine issue 253.