Project Overview 

Smores II is a small  square modular robot capable of articulating four degrees of freedom and linking together with other Smores modules. The modules are controlled by a central computer which handles motion planning for all the modules. Connected modules can attach and communicate to each other using the  electro-permanent (EP) magnets on each face.

My Role


Software Manager/ Lead Developer

Created embedded software architecture for the project

Added 802.11 wifi capability to the modules 

Designed lightweight messaging interface between the modules and central computer

Helped design python library to encapsulate Smores' functionality

Implemented coil communications for inter-module communication


Currently I am working on developing cluster discovery for Smores. Using coil communications to discover the shape and orientation of a cluster of modules.


Redesigned six of the PCB's for the Smores modules 

Added coil communications functionality to the PCB's inside the faces

Key Skills

C, C++, Python, Eagle PCB, Git