This project was created at PennApps XVII in 36 hours on January 21st, 2018. We won Second Place overall and also won Best Hardware Hack, Hacker's Choice Award, and the Internet of Things Prize.
The inspiration for the project was primarily based in our team's love of hardware, yet seeing very little hardware development in the hackathon scene at the time. Many hackathon participants are heavily focused on software development, so we sought to create a hardware prototyping kit for those who understood software.
The Modware board contains an array of 9 hardware slots in a 3 by 3 array. The end-user also receives different hardware modules, such as sliders, knobs, and LEDs. Each slot has four magnetic pins, two for powering hardware modules and two for serial communication. An end-user can slot the hardware modules into the board through the magnetic connections. Once the modules is secured by the four neodynium magnets, an arduino within the board creates an I2C connection with the newly connected module. This arduino is connected to WiFi and relays status information to our backend, which was hosted on a Heroku server. Once the server receives the necessary information, it then coordinates with a desktop application that the end-user has to control the "connections" that each module has and how they behave. The user can then, for example, grab the API provided by our application, and interface with their web application using a hardware knob or slider.
The primary difficulty with this project was the construction of the hardware kit itself and coordinating the extremely large stack that we were working with. We drew the CAD of every component, around 20 pieces, ourselves and lasercut everything at PennApps. The magnetic connections also proved to be difficult to work with. We wanted a seemless experience for the end user, and magnets seemed straightforward, but even the wiring was very difficulty. Finally, here is the complete stack of Modware. We also lasercut and assembled the entire Modware container out of 1/8th acrylic, with a CAD model of over 50 individually drawn parts.
Check out our official PennApps submission on Devpost.