What to make for a man who can make anything
My good friend Dan recently started his own YouTube channel, where he shows off his amazing skills in making all kinds of projects. To celebrate his success, I wanted to make him something unique and awesome.
I recently made a subscriber counter for my own channel, and I wanted to make something similar for Dan. But watching digits change isn't very exciting. So I took some inspiration from his channel name: Gears Code Fire. And I set myself the goal of making a subscriber counter that incorporates gears, code and fire.
Chapter 1: Fire.
It's surprisingly easy to make a DIY flamethrower. All you need is deodorant and a lighter. To make it go off automatically is a little bit trickier. After some deliberation, I decided to go with an automatic air freshener and a fancy electric lighter that creates a high voltage arc you can use to light things on fire.
The air freshener needed some modification. I needed to solder on four wires on the inside: two for the button that will later be controlled by a solid state relay, and two for power. While I was inside, I also removed the button, the LED and the light sensor as they make the air freshener go off automatically when it detects shadows. Then I drilled a hole in the back to poke the wires out of.
Now onto the lighter. After taking it apart, I encountered a problem: the "safety features". You have to turn the lighter on and after 30 seconds of inactivity it just turns off. Which makes it very annoying if you need to control it with a relay. So I pivoted, scrapped it for parts and bought a DIY version from eBay with no "safety features".
After it arrived, I assembled it. I didn't bother attaching all of the components; I won't be needing the button or the screw hole terminal. After making sure it works properly with a relay, I soldered on the same four wires as the air freshener.
And voila! We have our fire component ready to go!
Chapter 2: Gears.
While incorporating fire into the subscriber counter was exciting, I knew it wouldn't sustain the novelty for long. That's why I decided to add gears to the mix.
The star of the show is a big gear on top that has numbers from 0 to 9. It spins to match the last digit of the subscriber count. I used a stepper motor to control it. It would have been easier if I had a stepper motor with an encoder, but I didn't have one lying around.
So I improvised and used a limit switch to mark the 0 position. Then I created a table that maps the number of steps required to move to each number on the wheel. It's not perfect because it needs to reset every time the number changes, but that's part of the charm. I like to call it the "rotary phone effect."
Adding gears to the subscriber counter makes it more fun and interesting to watch. It also shows how complex and awesome this project is.
Chapter 3: Code.
The seven-segment display on the front of the counter represents the code, displaying Dan's current subscriber count. However, the code is much more than just the display - it's the glue that holds everything together. Let's take a deep dive into it.
The code for this project is spread across 10 MicroPython scripts, mostly for segmentation reasons. Each of the individual components has its own driver script, accounting for 7 of the scripts. The other three scripts include boot.py, config.py, and Wi-Fi_test.py.
As the end user, Dan only needs to edit the config.py file, where he can input his Wi-Fi credentials and turn on and off features. Each of the individual features can be easily turned on and off. For example, if Dan prefers an air freshener instead of a flamethrower, he can simply turn off the ignition arc feature.
The code itself is straightforward: it first connects to Wi-Fi to get the current subscriber count. Then, it displays the number of subscribers on the seven-segment display and sets the gear to the last digit of the subscriber count using the previously described method. The subscriber count is updated every 10 minutes with an interrupt.
In a true loop, the code monitors the condition of the fire button. If it is pressed, the gear counts down from 9 to 0, and a puff of fire is released. While this feature adds a level of excitement to the subscriber counter, safety precautions must be taken when using it.
Overall, the code is complex but flexible, allowing for easy customization and adding to the overall functionality of the project.
if you enjoy my content please consider supporting me on patreon:
Comments