For this week’s idea, I decided to build a simple traffic light system. The setup includes two main parts: one section dedicated to cars 🚗 and another for pedestrians 🚶, allowing them to cross the street safely when needed. The pedestrian crossing is activated by a push button—once pressed, the car traffic light switches to red, and the pedestrian light turns green, giving enough time for people to cross before the system automatically resets back to its normal cycle.
I chose this idea because traffic lights are something we encounter every single day, yet we often overlook the complexity and importance of how they function. Building a miniature version of such a real-world system not only makes the concept more tangible but also helps me practice timing, sequencing, and event-based control with Arduino.
Starting with the software, since we’ve just begun the electronics milestone, I still relied on Tinkercad as a safe and practical way to simulate circuits before moving to real-life testing. It’s very handy for checking connections and code without the risk of burning out components 😅
And since this week’s assignment was all about integrating the Arduino into the circuit design and coding it using the block structure, Tinkercad was the main software I relied on. It allowed me to quickly build, test, and simulate the circuit in a visual and safe environment before moving to real hardware.
In addition to that, I also used the Arduino IDE—not for coding from scratch this time, but mainly as a burning tool to upload the code onto the Arduino board. This combination of Tinkercad for simulation and Arduino IDE for hardware implementation made the process smooth, efficient, and less risky.
The idea of the project is simple but very practical:
When no one is at the traffic light (meaning no one needs to cross), the car light stays green (cars can pass) while the pedestrian light stays red (people must wait).
When a person wants to cross, they press the button. At that moment, the yellow LED for the cars glows for 2 seconds, alerting drivers to slow down.
Then, the red LED for cars turns on to stop them, and the green LED for pedestrians lights up, signaling that it’s safe to cross. This pedestrian green light stays on for about 10 seconds.
After the timer runs out, the system resets: cars get the green light again, pedestrians get red, and the cycle continues.
So, I jumped into Tinkercad, opened a new circuit sketch, and started laying out my components one by one. These included:
A breadboard.
Red, yellow, and green LEDs.
An Arduino Uno.
A push button.
Jumper wires.
Once I laid the concept down, I began connecting the components on the sketch in Tinkercad. After completing the wiring, I moved to the code blocks section and started building the logic step by step. The main function was simple:
When the button is pressed, the system switches from car green / pedestrian red to a sequence that allows pedestrians to cross safely for 10 seconds.
After the time passes, the lights return to their original state and the cycle repeats automatically.
After making sure that the circuit was working flawlessly on Tinkercad, it was finally time to move from simulation to the real world. I grabbed my electronics kit and started carefully connecting the circuit on a breadboard, step by step, following the same layout I had tested earlier. Since this week’s assignment didn’t require building an enclosure, I decided to focus on keeping the wiring neat and organized to avoid confusion and ensure stable connections.
Once everything was connected, I powered up the Arduino, uploaded the code, and tested the system. Seeing the LEDs light up in the correct sequence and the button trigger the pedestrian crossing exactly as planned was really satisfying—it felt like the virtual design had come to life successfully in the physical world.
Since this week’s work was a bit straightforward, I didn’t actively ask for much feedback on the design itself, but I did share my idea with a few peers to see what they thought. Some of them suggested that I could extend the project by adding a buzzer or countdown timer to make the crossing more realistic, which is something I might build upon later.
One of the biggest challenges I faced this week was working with the block coding method in Tinkercad. At first, it seemed simple to create the logic using blocks and then convert it to text so I could upload it to the Arduino through the IDE. The issue came when I wanted to make small edits—once I switched back from text to blocks, the entire code would reset and I would lose everything I had written. This was extremely frustrating and felt like starting from scratch each time.
After some trial and error (and a bit of frustration 😅), I discovered a simple solution: instead of switching directly between “blocks” and “text,” it’s better to choose the “blocks + text” mode. This way, the block diagram and the text stay synchronized, and you don’t risk losing your work.
The skills and knowledge I gained this week will definitely be useful for my final project. Learning how to design, simulate, and then implement a circuit in real life gave me a clear workflow that I can apply later. For example, being able to prototype the logic of inputs and outputs in Tinkercad first helps me avoid mistakes before wiring up the actual hardware. On top of that, working with both block-based coding and Arduino IDE gave me a better understanding of how to structure my code and make it more efficient.
I also got more practice with managing components neatly on the breadboard, which will translate into better space management and cable organization when I build the enclosure for the final project. Finally, this week’s traffic light system, even though simple, gave me insight into how to create interactive systems with buttons, LEDs, and timing functions—all of which are concepts that I know will show up again in the final build.
The coolest thing I’ve learned this week is how a simple combination of hardware and code can be used to control real-life systems like traffic lights. ✨ Even though the project seems basic, seeing the LEDs switch states based on the push button and timing logic felt very satisfying—it’s like bringing a real street-crossing system to life on a small scale.
This week’s extra session was honestly amazing because we got to try something completely different from electronics—an Arabic artistic form called Macrame 🧵✨. It was really impressive to see how a few simple strings, with the right technique, could be transformed into such a beautiful piece of art. The process was both relaxing and creative, and it gave me a whole new appreciation for handmade crafts.
What made it even more enjoyable was working side by side with my peers and our instructor, Esraa, who guided us patiently through each step until we were able to create a final form of art. It wasn’t just about the end product, but also about the teamwork, fun, and creativity along the way.