I created a sign to brighten up and inspire a newly renovated STEM room at Covenant Christian High School! This project was completed in three weeks, with installation taking place after the first week of the school year. The sign is comprised of individually programmable LEDs in the letters up front and variable-speed rotating gears in the back!
Engineering Design Process
Being Resourceful
Lighting Design
Creative Problem Solving
Autodesk Inventor 2025
Arduino IDE
Beam Studio
Bambu Studio
Adobe Illustrator 2025
I collaborated with Covenant Christian High School to transform a double classroom into a fully equipped STEM lab. One of the projects for this renovation was designing and building an engaging sign to encapsulate the energy and creativity of the new space. The allotted amount of space for the sign was a 2-foot-tall by 5-foot-long blueprint on a wall opposite the door. This location was chosen so that, as you walk in, the first thing you see is the sign, which then leads your attention to the rest of the classroom.
I wanted to ensure the sign incorporated elements of color and motion to capture people's attention. I found the design above to be a good source of inspiration for something that combined fun "science-y" energy while also tying the words together.
I came up with 3 ideas to go forward with:
Capital 'S' and 3 rotating gears on the end. (1st image below)
Rotating gears behind the 'STEM Laboratory' letters. (2nd image below)
Illuminated 'STEM Laboratory' letters without any moving gears. (3rd image below)
I liked the first design at first, but after making a mock-up, I realized that the capital 'S' doesn't really make sense for an acronym where all the letters stand for something individually. The third design was thought of as a simpler alternative to a sign with moving parts. The 2nd design stood out to me because it featured gear motion that, instead of cluttering the design, resided in the background to create a subtle yet prominent presence in the sign. The letters up front could be fitted with lights inside once scaled up. This is the design I chose to move forward with.
I used Autodesk Inventor to design all the parts and assembly for this project. I created the above sign a couple of weeks ago, taking into account the sizes of the 3D printers ('Bambu A1', 'Bambu X1C', 'Qidi Plus 4') and laser cutter ('beamo') I had access to. I started with the lettering up front, making the big 'STEM' letters first, then adding the 'LABORATORY' font and making the surrounding casing that holds everything together. I split the black laboratory casing into four parts, each approximately 4" by 10". This allowed me to 3d print all the parts seen below, excluding the laser-cut letter fronts and one 3-foot aluminum bar to help reinforce the back of the sign.
The next step was installing the LEDs. I used a 16.4' RGB LED strip and wrapped it around the outside interior edge of each of the big letters (can be seen on the 'S' in the pictures above) and around the inside edge of the black 'LABORATORY' casing. After testing this with a temporary Arduino controller and code, I attached the laser-cut letter fronts to the 3D-printed letters. (completed in the last picture above)
The next step was moving on to the gears. I knew I wanted multiple sizes of gears, while also staying within the maximum blueprint size of 12" by 12". I decided to comprise the sign of several:
3" 9 tooth gears
6" 18 tooth gears
9" 27 tooth gears
12" 36 tooth gears
When designing these, I also made sure to use the same diametral pitch to ensure all the gears would mesh properly. The diametral pitch defines the size of the gear teeth based on the number of teeth and pitch diameter (the circle a little bigger than the circumference in the middle of the gear teeth). I also utilized bearings when creating the gears to allow for a more frictionless transmission of the rotational energy throughout the system.
After designing the gears, I made a temporary rectangle in my CAD model of my max size (2'x5') and placed gears of varying sizes inside until I felt the space was sufficiently filled to make a full background. Throughout this process, I kept in mind a couple of things:
Spacing Between Gears - When placing gears, to reduce friction, I made sure to leave a small space between them to make sure they would mesh properly. Since the gears in this project didn't need to have super-accurate movement, the amount of space between the gears could be more than minimally required.
Gear Ratios - Although the speed of these gears doesn't need to be fast, the torque moving throughout the system should be kept as high as possible to reduce jams/stutters in the motion. I accounted for this by making the center gear the one to give power to the rest of the geartrain. This way, each "sub-geartrain" has only 4-6 gears connected to it instead of powering a gear on a corner and having 18 gears on one geartrain. With the sub-geartrains, I also made sure to gear down when possible from the center gear. This allowed for an increase in torque at the loss of speed, which wasn't crucial in this project.
Once all the gears were 3D printed, I installed the bearings and placed them on a 2' x 4' sheet of 3/4" plywood. I then cut the holes for the bolts to go through to allow the gears to turn. I added spacers for some of the bolts (see 2nd image below) and 4 large 3D-printed standoffs to hold the "STEM LABORATORY" lettering. I tested the system by turning the gears manually, and after seeing smooth rotation, I took all the gears and bolts back off to paint and then to reconstruct. During this time, I also transferred the holes from the 2' x 4' sheet to a 2' x 5' sheet to have more room for the sign's electronics and power supply.
To make the gears rotate, I needed to hide a motor somewhere behind one of the gears. I determined above in my point about "Gear Ratios" that I wanted to use the center gear to "give power to the rest of the geartrain" to reduce friction. I designed a motor and shaft sub-assembly that would attach to a shelled-out version of the center gear (see below). I started by placing two 1" ID bearings to create a stable, free spinning axis for the gear to turn on. I then created a two-part casing to hold those bearings and designed the inner shaft that connects from the motor shaft to the top of the gear. Finally, I modified the bottom of the casing to allow for the motor to mount easily. There are 6 mounting holes that secure the top of the center gear to the shaft (black part below) and 4 mounting holes on the casing to secure the sub-assembly to the rest of the sign.
Once the lights and motor assembly were installed, I used an Arduino Uno R4 to control the features of the sign. I used the Adafruit library to control the light strip, counting the number of LEDs that made up each letter so I could light them up one at a time. This library had a built-in rainbow function, which I used in the cycle of light patterns to radiate color through the sign. I used the following code to make each of the letters light up individually in sequence:
strip.clear();
if (show) {
digitalWrite(10, LOW);
analogWrite(9, curv);
for (int i = 68; i < 105; i++) {
strip.setPixelColor(i, 255, 255, 255);
}
strip.show();
delay(1000);
strip.clear();
for (int i = 105; i < 138; i++) {
strip.setPixelColor(i, 255, 255, 255);
}
strip.show();
delay(1000);
strip.clear();
for (int i = 138; i < 181; i++) {
strip.setPixelColor(i, 255, 255, 255);
}
strip.show();
delay(1000);
strip.clear();
for (int i = 181; i < 243; i++) {
strip.setPixelColor(i, 255, 255, 255);
}
strip.show();
delay(1000);
for (int i = 0; i < 243; i++) {
strip.setPixelColor(i, 255, 255, 255);
}
strip.show();
This code works by first clearing the LED strip, configuring each of the LEDs in a letter to be white using a for loop, and then commanding the lights to turn on after the for loop is completed. This process is repeated for every letter, or in other words every set of numbers (for example 68 to 105 is the letter 'S').
The first problem I encountered was when I made the capital letter 'M'. I thought the max size of the Qidi Plus 4 was 350 mm cubed, when in reality it was only 305 mm. To rise above this oversight, I split the 'M' into 2 halves that I then glued together. Since the outside letter front was laser-cut, it was not affected by this mistake, making the visibility of this change almost invisible.
Another issue I encountered was ensuring the gears meshed properly so they wouldn't get stuck on each other. In the prototype (seen in "Brainstorming"), I made the height of each gear the same. This meant the stacked gears would rub against other gears when rotating. To fix this, I made one of the 2 stacked gears 0.15" thicker than the other. This allowed for a built-in spacer to help the system run smoothly. Below is the CAD of the largest gear in the geartrain to show the offset spacing. This also demonstrates how unnoticeable the difference is when looking straight-on or at a slight angle, as opposed to looking parallel to the gear teeth (see right image).
As of today, the sign has run successfully for 3 weeks, being turned on before and after school for 2-3 hours each day. The sign has gone through a couple of minor modifications throughout the last week:
Installing a front piece of smoked polycarbonate to help cover and protect the sign's electronics and power supply.
Updating the program to only spin at one constant speed instead of varying every cycle to help prolong the life of the motor.
Overall, this project was an amazing opportunity to improve my CAD, designing, artistic, and programming skills. I'm very happy with how the final product turned out and was thrilled to hear students' positive reactions as they saw it for the first time. In this project, I learned how to:
CAD meshing gears and a working geartrain.
Design an engaging and creative sign.
Create a colorful and appealing layout.
Program a motor and lights independently and jointly.
I hope to do more projects like this in the future! This was really fun and a great way to test my skills!