Christmas Rattlesnake

First and foremost this is meant to be a fun project that might inspire folks to become embedded developers.

This project was originally started as a demonstration for the Engineering Merit Badge class I was teaching to Scouts.

It started as a C/C++ codebase targeting an Arduino Atmel ATMega 8-bit processor. With the release of the ESP32-C3-DevKitM-1, I felt like it was time to update it and modernize it with Rust.

As someone enters the room/tent and approaches the front table, their movement is first detected by an IR sensor. As they get closer, an ultrasonic sensor measures their distance, causing a strand of Christmas lights to strobe with increasing frequency—the closer the person, the faster the strobe.

An LCD screen displays the real-time distance reading, while a solid-state relay controls the Christmas light strand based on proximity.

With the transition to an ESP32 development board, the system also includes an RGB LED that cycles smoothly through a rainbow of colors, adding an extra layer of visual flair.

Christmas Rattlesnake

GitHub Repo GitHub License