Inspiration

eCommerce. A world of robots and automation. But how does it really work? With this project, we wanted to build a fun proof-of-concept online store to help people understand what goes on behind the scenes at a larger, automated warehouse.

What it does

SparkySplody is a robotic arm, which integrates with the user's devices to simulate a robot in an automated warehouse. The difference? The user is in control. It is up to the user to move items from the bench to their basket.

How we built it

We used techniques of rapid, iterative development, taken from the world of Agile. Using C++ the build custom firmware, Python for a backend, and ReactJS for a front end, we certainly set ourselves up for a challenge.

Challenges we ran into

One such challenge is so often faced in complex systems that its name strikes fear into the hearts of developers and engineers alike: Integration Hell. From network connectivity issues to problems trying to power the six hungry servo motors, at times it felt like our robot overlords were against us.

Accomplishments that we're proud of

Despite these issues, we persevered. Many hours were spent trying to work around the various issues, before finally recognising that physics itself was against us. Following this, we scaled back the project, to work with these fundamental limitations to produce a minimal viable product.

What we learned

We learnt (the hard way) that simple systems are always better than complex, no matter how much fun that demon may bring. We also learnt the importance of version control, being able to combine and undo our changes, deploying them to embedded machines with relative ease.

What's next for SparkySplody

Whilst this iteration is little more than a fun toy, we believe SparkySplody could be more. Though we started with eCommerce education, we believe our project could help with accessibility in the brick-and-mortar world, helping customers reach and grab items that might otherwise be out of reach or at risk of slipping through their hands.

Share this project:

Updates