Intro: BOOMcast - 3D-printable IoT Cast
The BOOMcast is a homegrown work project. It's inspired by an earlier project, HASHcast, a 3d-printed printed cast with a fun social twist. Back during May, one of our friends, Mike North, broke his fibula and had to wear a cast. Mike travels a lot and since the change in cabin pressure during flight can cause swelling, the prospect of wearing a regular fixed cast for a couple of months was daunting. So Mike reached out and we started collaborating on the BOOMcast. After a couple of meetings, we came up with a plan. In addition to it's primary function as a removable cast, we wanted the BOOMcast to help in the recovery process by recording gait and pressure data, and making that data easily available to doctors. And since breaking a leg can be a real bummer, we also built in some fun features like LED lighting and a sound system.
Ultimately the BOOMcast was a sprawling project, with many outside contributors, including Intel and Boombotix. The BOOMcast touched pretty much every aspect of product design - mechanical engineering, industrial design, embedded development, cloud integration, and mobile development. It's a testament to the amazing team I work with that we pulled this off in just three weeks. At FATHOM, six engineers and designers worked on BOOMcast, including Ava DeCapri, Alexei Samimi, Bethany Casarez, Aaron Porterfield, Veronica De La Rosa, and me. Other friends that contributed to BOOMcast include Skyler Brungardt and Zach Heineman. Intel provided hardware and valuable lessons they learned from a similar project, the Smart Splint. Boombotix donated the sound system we used in the version we built for Mike. Finally, none of this would have been possible without FATHOM's awesome marketing team for spearheading this project.
Step 1: Printing and Assembly
All of these files are available for download. If you'd like to join FATHOM's A360 hub and contribute, please send me an email.
- Boot: Printed in Nylon 12 (FDM). ~37 hr build
- Tongue: Printed in Nylon 12 (FDM). ~46 hr build
- Sole: This is a multi-material assembly printed on a Connex3. The sole was printed at Shore 60 with a fully rigid frame. ~6 hr build.
- Electronics cover. Printed in a rigid vero (polyjet). ~ 3 hr build
- Speaker cover. Printed in a rigid vero (polyjet). ~30 minute build total.
- Straps: Five different straps. Printed in Nylon 12. ~2 hr build each, ~10 hrs total
- Latches, ratchets and pins: Five of each, 25 total parts. Printed in Nylon 12 (FDM). ~10 hrs total
Total printing time was about 112 hours -- almost 5 days.
- Intel Edison. The compact size and onboard wifi were the reasons we chose the Edison for this project.
- Edison Base Block from SparkFun. Used to power and communicate with the Edison.
- Edison 9DOF Block from SparkFun. Used to monitor the position and orientation of the cast.
- Edison Arduino Block from SparkFun. Used to control the LEDs.
- Edison ADC Block from SparkFun. Used to read the FSRs.
- FSRs and bias resistors. We used 0-2.2 lbs FSRs and 10k bias resistors.
- Bluetooth audio. Initially, we used the electronics from a Boombotix Rex because we loved the volume and quality. But tearing up brand-new bluetooth loudspeakers to rip out the electronics was breaking our hearts, so we found an OEM bluetooth audio receiver board that was small enough to fit in the boot.
- Voltage regulator. We needed 5v to run the LEDs and couldn't generate much heat, so we used a 5V, 2A switching regulator that's a straight pin-for-pin replacement for the standard 7805 linear regulators.
- LEDs. We used digital RGB LED strips from Adafruit. We cut up the strips and used six 2.5" segments.
- Battery. We needed a battery that would fit in the sole and provide >8V to run the voltage regulator and bluetooth audio. We found a small 3S 610mAh battery that was perfect.
- Foam. This porous foam is breathable and has a self-adhesive backing so it's easy interior liner.
- Misc hardware:
After printing and cleaning the parts, it should be fairly obvious how they fit together. The wiring diagram is attached. There's quite a bit of wiring, it's tedious but not difficult.
Step 2: Getting It Working
There's a lot of setup work and code required to get this running, and this section would benefit from additional details, but here are the essentials.
- Flash the edison with ubilinux. Detailed instructions for this are elsewhere. The following steps require the Edison is connected to the internet, so set up the wifi interface accordingly.
- Log in to your Edison and install Node using apt-get.
sudo apt-get install node
- Download the BOOMcast app from Github. There's a few other dependacies for the ADC and 9DOF sensors, but they're available online.
- You also need a Firebase account to create a new app. Note the URL and secret token you'll use for authentication. You'll have to enter this into your Edison to let it connect and save the gait and pressure data to the cloud so the mobile app can access it.
The LEDs are run from the Arduino block, so you have to program it accordingly. You'll need to install the Arduino IDE.
- Clone the repository into your Arduino sketch directory.
- Download the LPD8806 library and install into your Arduino libraries directory.
- Attach a programmer to the Arduino block and upload the sketch.
The code for the mobile app uses Ionic.js, an app framework that lets you build a webapp and compile it down to native code to run on pretty much any mobile platform. You can get all the code on our Github repo.