My Ugly Christmas Sweater is an IoT Device

Making merry and bright with the latest technology

Srijaya Suresh
Slalom Build
5 min readJan 10, 2023

--

Backstory

Back in 2018, Slalom Houston was a packed office space with a bunch of builders pestering our Ops team about snack racks being empty.

This gave me something to think about. The problem I was trying to solve was to autonomously create a shopping list as soon as the snack boxes were near empty. It was around this time that I found out that here at Slalom you can explore your creativity any which way you want. All you need is the drive to make things happen!

This made me explore IoT solutions, partially because it was a buzz word back then. But I also thrive on my ability to solve a problem by actually getting my hands dirty instead of reading theories.

Fast forward to EOY 2018, I don’t exactly recall why the autonomous snack shopping list did not materialize, but I remember wanting to translate this passion for IoT into something that’s quirky and fun with hands-on learning. And ever since, my ugly Christmas sweaters have been IoT devices!

NOTE: If you’ve bumped into this article looking for tutorials on IoT wearables/sweater, this is not it. This is more of a “I want to DIY an IoT sweater, now what next” article.

Approach

Here’s an approach that I follow to navigate from conceptualization to usage:

  1. Gather general awareness about IoT

IoT, simply put, is basically interconnected devices and sensors that exchange data to accomplish one or more tasks over networks.

Explore what projects people are doing and what the possibilities are. I like to get to hackster.io and casually browse for what’s trending to get a general picture on sensors, devices, integrators, data flow, etc.

2. Formulate ideas & design

Draft a rough concept of a sweater design OR an idea of the devices/sensors you want to use and start researching on projects using that idea/device.

For example, during the holiday season of 2019 the idea I had was of a sweater that would be a candy dispenser. I searched for the keyword “dispenser” and voila! A bunch of candy dispenser projects showed up. The next thing I knew, the main component for the dispenser was the servo motor that would make the dispensing happen.

Think of the trigger: What action do you want to kick off your idea? Going back to my example above, a trigger would be the action that would dispense the candy. I had a few ideas here.

  • A distance sensor that would dispense on a wave
  • A push button
  • A user interaction dispensing candy as a reward

Following the third design idea, I implemented a phone trivia app that dispensed candy as a reward upon a correct answer.

Always remember that design should drive the implementation!

3. Explore relevant materials and instructions

Is there a device in the market that can manifest your idea? Does it fit the real estate (i.e. the sweater here)? Are there instructions for it to integrate into IoT? Does it fit your budget?

You might be surprised that while you’re researching about one device, you may bump into articles about other devices or approaches that give you more ideas to integrate into your design.

Make a list of devices you’ll need to buy. Add to your favorites relevant online articles and instructions. I like to refer to multiple projects from hackster.io, instructables, youtube. I am by no means an electronics major and I usually use the wiring/schematics as illustrated in those reference projects.

Revisit 2nd bullet if there’s not a good device to manifest your idea.

On my candy dispenser example, I had to think of a good storage/dispenser for candy and choose the right candy size that would all fit into my not-so-large sweater real estate. I also wanted it to be compact and not occupy the entire sweater. So I decided to use a marble run pipe as a candy store and m&ms for the reward.

4. Procure materials

Materials for the kind of computing you want to use (e.g. microcontrollers, microprocessors), triggers (sensors, cameras, touchscreen, bluetooth), power source (external battery), external storage (SD cards), network connectivity (wifi, bluetooth), visual indicators (LED display, LED strips, screens). I have a starter kit for Arduino and bunch of jumper wires from Amazon which is my go-to place because you get to read comments and find resolutions to challenges people have faced.

5. Build and test

Build in increments. Integrate one component with your computer (e.g. microcontrollers, microprocessors), code for it and test it before integrating the second. When I am building on Arduino, I like to use Arduino IDE Software and for Raspberry Pi, any python IDE. The other libraries and software you may need will vary depending on the computer you’re using, the libraries you need for your idea/devices/sensors.

Most importantly, make sure there’s enough power for the devices you’re planning to integrate.

6. Integrate and strengthen

Here’s where you need extra caution. Make sure you don’t brick your devices OR let your computer heat up making it unusable. Ensure that you have a enclosure that allows for ventilation. There are Raspberry Pi cases with fan and heatsinks available. Remember that the more processing it has to do, the more heat it generates.

If you have access to a 3D printer, print the enclosure to include the computer, the sensors, the wires, breadboard, etc.—and make it visually appealing if you can.

I’ve run my sweaters for usually 3–4 hours in a row without any issues. YMMV based on the computing power your program needs. Act with caution, especially because you’re wearing it!

Sweaters I’ve built so far

Year 2018 —” LED joke teller”. Sweater that displays Christmas jokes on LED strip. Trigger: Ultrasonic sensor that renders a joke on motion. Main stuff: Arduino, LED strip, ultrasonic sensor
Year 2019 — “Trivia candy dispenser”. Sweater with trivia app dispensing candy as a reward on correct answer. Trigger: Right answer in the trivia triggers the dispensing of a small portion of m&ms. Main stuff: Phone with custom trivia app, Arduino, bluetooth sensor, servo motor, marble run pipes, m&ms
Year 2021 — “Musical fireplace”. Sweater with a musical fireplace playing Christmas music. Trigger: Ultrasonic sensor that lights up fireplace and plays music on motion. Main stuff: Arduino, Adafruit neopixel strips, ultrasonic sensor, DFPlayer mp3 module, audio speaker for arduino, mp3 music
Year 2022 — “Papaclauzzi” Sweater taking pictures of interested folks and posting them on internal Slack. Trigger: Camera captures pictures on recognizing a specific hand gesture and posts it on internal private Slack channel. Main stuff: Raspberry Pi, Pi Camera module, OpenCV, MediaPipe for hand gestures, Slack API

What’s next for me

My next project, which is originating from my LED joke teller sweater, is called “car.tesy” (like courtesy, you get the drift!) — an LED display at the car’s rear window that displays marquee text controlled by user voice command. Something like:

“Hey google, ask cartesy to show “thank you for yielding””

“Hey google, ask cartesy to show “cool spoilers!””

I’ll create a medium tutorial when I get that up! Until then, keep on creating, keep on building!

--

--