Coding Introduction
I learned from this activity that any slightly complex electronic requires a lot of complex code for it to do what you want. To power an electronic you need a negative and positive flow of energy through the circuit. Too much power can result in an overload of power which, with neopixel lights will cause them to explode. The code needs to be very specific with what you're doing so that your electronic works.
Goal of the Project
The purpose of this project was to learn how to use Kicad to create footnote components for the stoplight and create the digital version of the stoplight. We learned how to upload the digital circuit board to the CNC machine to mill the PCB. We learned how to put the correct settings into the machine and change the tools when necessary. We learned how to code with Arduino and seeed codes, and finally, we learned how to use a digital circuit bored model to create a 3D casing for it.
MILLING WORKFLOW
Turn on and Connect Othermill:
Ensure that your Othermill is properly turned on and connected to the TV
Open Bantam Software:
Open the Bantam Tools on your computer.
Import Gerber Files:
In the Bantam Software, import the files into your computer.
Set Material and Workpiece Size:
Choose the type of material you are using and the size of your design. Make sure the dimensions match your design.
Tool Selection:
Choose the appropriate milling tool for your specific PCB design and material.
Toolpath Generation:
Use the Bantam Software to generate toolpaths based on your PCB design. It will determine the path the milling tool will follow to create the traces and drill holes.
Machine Calibration:
Make sure your Othermill is calibrated correctly by following the calibration procedures within the software. This ensures precise alignment.
Secure Workpiece:
Attach your PCB workpiece to the mill bed using a suitable method, like double-sided tape or a fixture.
Load and Secure Tool:
Install and secure the selected milling tool in the Othermill's spindle.
Home the Tool:
Use the Bantam Software to home the tool. This process ensures that the mill knows the exact starting point of the workpiece.
Start Milling:
Initiate the milling process using the Bantam Software. The Othermill will follow the toolpaths, milling away excess material to create your PCB.
Monitor Progress:
Keep an eye on the milling process to ensure everything is going smoothly. Be prepared to pause or stop the operation in case of any issues.
Deburring and Cleaning:
After the milling is complete, remove the PCB from the mill bed. Carefully deburr any rough edges or excess material using a file or sandpaper. Clean the PCB thoroughly to remove any debris.
Inspect the PCB:
Carefully inspect the milled PCB for defects, ensuring the traces and holes match your design.
Soldering Components:
If the PCB meets your requirements, proceed with soldering the components onto the board.
Testing:
Test your assembled PCB to ensure it functions as intended.
Following this numbered workflow, you can successfully mill a PCB using an Othermill and Bantam Software. Remember to take safety precautions, wear appropriate personal protective equipment, and follow manufacturer instructions throughout the process.
This is our board before soldering any components into it. This was taken directly after we had finished milling it.
This is after we have soldered our components onto the resistance PCB
This is a video and a picture of my partner and I testings the resistance PCB using a voltage machine to power each LED with a different type of resistor for each LED.
As you can see here from left to right the LEDs get brighter as you go because each resistor gets more and more powerful which dims the LEDs more and more.
The image above is the original schematic of the entire PCB where all we did was bring in, footnote, and connect when component of the Traffic light PCB.
In this section, I arranged the components of the PCB to my liking, changed a few features of each component, and created the outline of the board.
This is the 3D model of my Traffic Stoplight PCB board where I can see how each component would fit into the design.
The picture you are seeing is right after I finished milling the Traffic Light PCB with no components soldered into it and some tape that held it down still on the bottom.
After I soldered each of the components onto it: three different colored LEDs, three of the same kind of resistor, and a male connecter cable.
This is the back of it where you can see my amazing soldering work, where I soldered each end of each component into the metal side of the PCB board.
This is the code created by Chat GPT for my working stoplight, I had to change each of the pinout numbers when changing from Arduino to seeed.
This is the video of me testing my code with my Arduino code on an Arduino.
In this video, I changed the pinout for my code to match the seeeds pins and connected male to female wire cables to connect to the PCB and the computer.
The top view of both encasing with an opening for the wires and 3 holes for the LEDs.
A diagonal profile to show you the 3D aspect of the designs.
The side profile of the LED encasings.
A side profile of PCB back holder encasings.
Ohms law is the rule that states that the higher the power of a resister the lower the amount of electricity flowing through the resister. I learned about the law through the testing of different powers of resisters on the Resistance PCB board. I saw that the higher the power of the resister the dimmer the light of the LED.
The completed 3D print of the designs without the Stoplight inside of it
The encasings with the unlit PCB inside fitting perfectly.
The 3D casings with a lit Stoplight inside of it.
The final video of the entire project
Problems I Encountered
I faced many problems while attempting this project. The first I encountered was having problems with the Resistance PCB being connected and lighting up. We resoldered and that fixed it. The next problem was configuring all my components into the right spot and selecting the correct measurements for the components. Unfortunately, I milled my first PCB with bad measurements and I had to remill to fix it once I adjusted the measurements. The next problem was connecting the wires I accidentally soldered a wire in the wrong place and had to change the code to fix it. And my final problem was engineering the 3D box correctly because I couldn't get the pieces to fit so I just hot-glued it all together.