Project Journal for Johnny Hazboun
=============== Week 15: =================
Summary: In this week I finished integrating and tuning the projectCumulative Hours: 124.25 + 34.5= 158.75
Total Hours for this week: 34.5 hours
Entry 8: -----------------------------------------------------------------
Date: 4/24/2025Time: 11:30 am
Duration: 5 hours
There were 5 hours left before our demo and we wanted to make sure everything was working. We started by setting up the pi reset button. Our original button was no longer working for some reason so I went to ECE shop to get a new one but they didn't have any. I then went to the ME shop and got one. Brendan and I soldered it, connected it and tested, it was working.
In the meantime Krish came and we started testing all the game modes. Some of the game modes were not working as some of the cards would not get detected or duplicate detected. We fixed duplicate detecting by having it chose the card with the higher accuracy and for cards not getting detected at all we just have the program send in randomly whatever cards were left not detected and guess what they are.
Craig and I also changed the stm code so that the wheel would always rotate clockwise after feeding to make sure the cards all fell in place. We then started testing all the modes and things were going great.
The only thing left was that the last 2 cards would sometimes double feed together into the same slot. Craig and I started tweaking the power settings for the last card until we got one that consistently fed them separately. Finally, we tested it more and everything was working.
Last thing we had to do was to make sure to push all our code to the pi cron job to make sure it can run by itself and everything works. Brendan and I did that and everything worked.
At 4:30 pm we presented and everything went great. An image of this is below:

Entry 7: -----------------------------------------------------------------
Date: 4/23/2025Time: 7 pm
Duration: 13 hours
In the afternoon I went to Bechtel to continue working on the camera and test the project. Everything was working 90% of the time but we wanted it to be perfect. As we were testing the camera the gate was just not working as intended. There was a lot of friction that was happening. I tried to sand things but that was not helping. The gate was causing so much friction that the stepper was skipping during rotations. I tried fastening things and that still didn't help. I went to Bechtel and printed new gates. I redesigned the gates so they have an extra bulging part to prevent parts from causing friction. An image of this is below.

After redesigning the flap I went to Bechtel to print it using PLA on the Bambu Lab P1S. After printing I went back to lab to try it, however there was still the same problem. I now suspected the problem was that the servo was getting weaker so I replaced it with another servo. I started testing the gate and things were better. However, the servo was getting very hot. I dismissed this at first however as I left it for 5 minutes it started melting the plastic. I quickly turned everything off and used another servo. That servo was also broken so I decided to use the original servo. I cleaned it up and attached the flap and now suddenly it was working.
After that I moved back to testing the camera with Krish. Krish and I kept testing the vision and it was suddenly way worse than before. We decided to open the live feed and found a spot on the camera. We thought it was just some dust and we tried to remove it but we couldn't. I then disassembled everything to take out the camera and inspect it more closely. There was something stuck inside the camera lens. I took off the lens and cleaned it from the inside and I put it back in place. I then re-assembled everything. As I was doing so the card feeder holder got moved out of place. I had to reglue it and realign everything. I then started testing the feeder to make sure everything was aligned. As we were doing so the motors stopped working. Everything that could go wrong was going wrong.
We started testing what went wrong. I tested the motors and they were still working. One of the motors was working and the other was not when connected to the PCB. Now we suspected the chip was fried. We tried debugging it but that was pointless. In the meantime we got our backup PCB but that was not working at all. We split up. Brendan and Craig tried getting the backup PCB to work while Krish and I worked on removing the motor driver chip on the old PCB and replacing it. Krish and I tried to desolder the chip however it was not getting out. We used chip quik, a heat gun and everything else to get it out however in the process we damaged the pads on the PCB. We all focused on getting the new PCB to work and after removing a short it worked. Craig and I started testing it completely and it was great.
We started testing everything on it and getting it to work and things were great. The only problem was that the stepper was skipping, however we bumped up the current limit and that fixed it. I now had to redo all the cable management and change all the cable to female headers as this PCB had male header pins.
Craig and I also changed the gate angle to make it better at closing and things were back on track. We decided to go home and take a break for a bit as we hadn't slept all night.
Entry 6: -----------------------------------------------------------------
Date: 4/23/2025Time: 3:30 pm
Duration: 1.5 hours
After my shift in Bechtel I went to lab to work with Krish on the camera. The camera was not working perfectly. We tried taking new photos as we thought when we tightened the camera, realigned and added the box that could've messed things up. We took pictures of all the cards using the camera and there was still a problem.
We then started documenting the accuracy of each prediction and realized that it was messing up with a lot of the cards. We realized that this was due to some mislabelling and we fixed that. We also realized that some cards had very low accuracy due to an image being wobbly when taken. Craig and I fine tuned when the image was taken to make sure it was never wobbly. This meant that more time was needed but that was fine.
Our camera detection was still bad and after checking the photos we realized that sometimes the card does not fall in the exact position. One thing we did to fix that was to have the camera shift its perspective to the left if it gets low accuracy. Here we are assuming that the low accuracy means that the card is not exactly in position. This improved accuracy but not enough. We will continue to work on it later.
Entry 5: -----------------------------------------------------------------
Date: 4/23/2025Time: 9:30 am
Duration: 4 hours
In the morning I started assembling the case. I started by gluing the two bottom pieces together. I got some wood glue and clamped them. An image of this is below.

After that I started setting up the hinges and screwing them In place. I went to the ece machine shop to get the needed screws and nuts. An image of this is below;

After the box was semi addembled I realized I needed more L brackets so I started drilling some holes and adding more L brackets to the box to make sure everything stayed in place. AN image of this is below:

Finally after everything was done I got everything to fit perfectly. I also glued the magnets into the front casing and tested it. An image of the final box is below:

Afterwards we tested the device with the new casing and everything worked. Even the new card end holder worked perfectly. The only problem was the hole I made for the electronics box was too small and I had to redesign the box to make it fit as that would be easier than laser cutting a new base plate. I redesigned the box and made it so that the bottom is smaller and fits. An image if this is below:

I will return today to continue testing and making sure everything works.
Entry 4: -----------------------------------------------------------------
Date: 4/22/2025Time: 8 pm
Duration: 4 hours
At night I went to Bechtel to laser cut and 3D print all the casing. I first printed some joints out of PLA on the Bambu P1S. I downloaded some joints from Thingiverse and I printed them. Link is below.
https://www.thingiverse.com/thing:1209695/comments
After that I printed some feet to put on the bottom of the model to elevate it a bit. I printed them out of PLA and printed them on the Bambu Lab P1S. I also just downloaded a design off Thingiverse. Link is below.
https://www.thingiverse.com/thing:5227054
An image of this is below:

In the meantime I also started working on laser cutting all the casing. For this, I used a Trotec Speedy 500 laser cutter and I cut everything in Bechtel using plywood(6 mm) and acrylic(3mm). I first had to convert all my sketches on Fusion to DXF files and I then imported them on the laser and cut them. An image of the material I will be cutting is below:

For the sides, I added extra screw holes. I started laser cutting everything and make sure they fit. In the meantime I also redesigned the card feeder holder. The current one we had was working but when it gets full, some of the cards would start getting stuck. I made the holder deeper and decreased the wall thickness to give it more space. An image of this is below:

After that all the laser cutting was done so I assembled everything and made sure they fit.

Entry 3: -----------------------------------------------------------------
Date: 4/22/2025Time: 10:30 am
Duration: 2.5 hours
After my classes I went to lab and started working on some cable management to make sure everything fit well. I also flipped the power supply to make sure we had more space for the cables and that the button was more easily accessible. I used zip ties, rubber bands and tape to clean up the cable mess. I had to realign multiple things. I also then tested the model and made sure everything was working. I continued to test everything and tuning settings. An image of this is below:

There was excess friction near the gate. I tried tweaking the open and close angle of the gate, then I realized something was bending the bottom plate and that was causing everything getting misaligned and ruining it. There was just a piece of plastic holding it up. Additionally as the wheel was rotating the card was hitting the side while feeding so we had to realign thing to make sure it doesn't hit the side of the wheel as it enters.
I kept testing it, currently our main limitation is the camera and the computer vision. The mechanical and hardware was holding up. I started working with Krish on the sorting algorithms and fixing them as they were crashing if multiple cards were not detected or if duplicates were detected.
Entry 2: -----------------------------------------------------------------
Date: 4/21/2025Time: 5 pm
Duration: 2.5 hours
After my classes I went to lab to test the electronics box and card end holder I printed. The end holder and box were perfect and fit perfectly. I went to find some screws and it was difficult since the holes on the PCB were pretty small. After that I started taking measurements for the final packaging, including holes for the button and everything. I also made more space for all the parts to fall into place. An image of this is below.

After that I started working with Krish on the camera and computer vision, for some reason the computer vision was off and much less accurate as we expected. We tried to take new images. However after testing different methods to make it better and editing our approach we realized that the main problem was that the pi was loosened. I tightened the screws and fixed it. In the meantime we also edited some of out approach and how much we shift and crop the photo of the card number and suit.
After that I started working on the raspberry pi holder. I downloaded some CAD files for it from GrabCAD, a link is below:
https://grabcad.com/library/raspberry-pi-zero-2-w-1
I designed a casing for it with screw holes. I used the same approach as the PCB holder and elevated the PI to allow more airflow and prevent overheating. I used Fusion 360 for all the designs. An image of this is below.

After that I started adding screw holes and joints for the design. I also decided to add L brackets alongside the slots to the box to make sure everything is held in place better. I used the McMaster component on Fusion 360 to add L brackets to the design to see where the holes need to be. The L brackets I added were the exact ones we had in the lab. So that was perfect. I also added holes for the magnets as I wanted the front plate to be replaced using magnets. An image of the design is below:

Entry 1: -----------------------------------------------------------------
Date: 4/20/2025Time: 2:30 pm
Duration: 2 hours
I went to lab and worked on redesigning the electronics box. I used Fusion 360 to redesign it. I started by borrowing a caliper from another team to measure the dimensions of the PCB and the positions of the screw holes. I decided to have an elevated PCB to avoid the heating of the PCB. So, I added some cylindrical columns for the screws that raised the PCB in their housing. An image of this is below.

After that I redesigned the card end holder, I made the base wider and the ramp wider and to make sure the card doesn’t hit the edge. I also added a bulged part that would allow us to pull the card feeder outside easier. An image of this is below.

After that I sliced all the files on the bambu slicer and I printed them using PLA on a bambu P1S. After the printes were done, I sanded down the ramp of the card end holder to make sure there is less friction and the cards wont get stuck while falling down.
=============== Week 14: =================
Summary: In this week I worked on integration and packagingCumulative Hours: 107.25 +17= 124.25
Total Hours for this week: 17 hours
Entry 7: -----------------------------------------------------------------
Date: 4/17/2025Time: 4:30 pm
Duration: 2 hours
Craig, Krish, and I met in lab to work on things and finalize the project. I started by wrapping up all the power supply cables to make them look better. I tied everything with rubber bands and then zip tied them all together. They now take up so much less space.

After that, I reattached the homing sensor part that attaches to the wheel as it had fallen. I used super glue this time to make sure it didn't fall out. I also attached the homing sensor breakout in place using hot glue. I also fixed a lot of things in place using hot glue.
After that, Craig and I just kept testing the motors. We ran a full cycle and it partially worked, the only problem was that things were not fixed in place and kept moving. I decided to print some casing out of PLA to hold everything in place. I went to Bechtel and started working on a PLA casing to hold the feeder, homing sensor and PSU in place. I designed it all in Fusion and I printed it on Bambu Lab P1S.
Entry 6: -----------------------------------------------------------------
Date: 4/16/2025Time: 6 pm
Duration: 2.5 hours
I went to lab and started by testing the new gate flap and camera. Both of them worked great. The new gate flap offered limited resistance to the cards and the stepper was not skipping while rotating cards over it. An image of this is below.

Afterwards, I tested the camera. The image was better so I then worked with Krish to take an image of each of the cards so he can use for training. I also used a soldering iron to make space for the light to be permanently held in the feeder. I just made a hole for it to fall into. An image of the process is below.

After that Craig and I started testing the buttons we had and testing them on the PCB. We had multiple buttons and we tested all of them. Our favorite button was this big arcade button we found. We using a multimeter to figure out its connections and then we tested it out. We also powered the internal light inside it using a power supply.
Finally, we worked on testing out the power supply. This was the first time we try it. I started by connecting it to a spare board and using a multimeter to check all the connections. I wanted to check that all our connections on the PCB were good and with no shorts. After testing most of the pins and pads, everything seemed to get the correct voltage. An image of the process is below.

After that we connected the power supply header to our actual board. I soldered all the pins and we began testing. Craig and I were testing each part individually. We started with the DC motor, once that worked, we tested the stepper motor, after that we tested both of them together. Finally, we tested the servo. An image of it is below:

Then, we connected everything to the power supply and ran everything together and tested it. It worked. We had to retune the motors because there was just so much more current, howevet that was easy to do. An image of everything connected is below:

Entry 5: -----------------------------------------------------------------
Date: 4/16/2025Time: 9:30 am
Duration: 3 hours
In man-lab, I assembled all the parts I had printed. I also used hot glue to secure everything in place more. I also went and got a new Power supply from another empty station so we can now test the wheel, feeder and gate at the same time. We initially could not test them all at the same time as one power supply was not providing enough power. An image of the power supply is below.

We first tried to connect both power supplies in parallel but that still didn't work so we tried in series and it worked. We now tried testing everything all together. An image of this is below:

The wheel was working great, however, the feeding was still failing when ejecting. It was a low rate but it had to be perfect. We continuously tested the feeder and tweaked the settings. An image of that is below.

We got the feeder to never eject any 2 cards at the same time, however it would sometimes not eject any card. That was good, because in the software we could add a check to see if the camera detect the same card twice that means nothing was ejected and try again.
After that we continue to test the gate mechanism, it was better than before however it was still not perfect. I redesigned the gate flap on fusion to smoothen the edges out and I sanded the hole tin the cover using some sand paper.
After that, Krish and I tested the camera detection. It was good but no 100% accurate which was needed. We decided to debug a bit and I thought that we could get a clearer image by moving the camera 2 mm to the back. I tried doing that by unscrewing the screws and messing with the holder but I ended up breaking it. I just redesign the holder to move it back a bit and I reinforced the edges to make it more durable. Finally, I then went to Bechtel to print the camera holder and new gate flap. I used the bambu lab P1S using PLA to print them.
Entry 4: -----------------------------------------------------------------
Date: 4/15/2025Time: 3:30 pm
Duration: 1.5 hours
I went to lab to take measurements of the homing sensor board so I can design an attachment for it. Using Fusion 360, I designed it and then I printed it in Bechtel using a Bambu Lab P1S out of PLA. An image of the design is below.

The design printed very fast so I went back to the lab to assemble it and test it. I used screws to secure it in place and then I tested whether the wheel was homing. An image of the assembled homing sensor is below:

After that, Craig and I started working on testing the gate ejecting with the new card cover. It was good, however there was a lot of resistance between the gate and the cards. After inspecting it, I realized the problem was that the gate was bending to the left and not closing exactly in place. I realized I need to print a new flap to make sure it doesn't bend while attaching it to the servo and to allow more wiggle room for the flap to fall into.
I quickly redesign the cards cover to add more wiggle room on Fusion 360, I also redesigned the card feeder. I made it easier to connect to the platform so it is held in place better. I then went to Bechtel to print it on the Bambu Lab P1S.
Entry 3: -----------------------------------------------------------------
Date: 4/14/2025Time: 5:30 pm
Duration: 1.5 hours
I went to Bechtel to pickup the parts, they turned out great, but the rollers seemed like they had some excessive stringing. I decided to reprint them alone in the meantime. After that, I went to lab to start assembling everything. The feeder was perfect, however the camera holder was too small. The camera design I downloaded online was too small and was not correct. I then used a caliper to measure the actual dimension and using Fusion 360 I redesigned the files. I then went back to Bechtel to reprint the camera holder and pickup the rollers. I took the feeder with me to test if the new rollers fit while the holder is printing. An image of the holder printing is below.

The new rollers fit perfectly. The o-rings were hard to fit inside due to the size of the holes, however I just used a smaller diameter ring and it worked. An image of that is below.

Finally, the camera holder was done printing and I went to lab to test it. The camera fit perfectly and it screwed in the feeder. An image of that is below.

Then, Craig and I started testing the feeder with cards and it was much better. It was shooting cards all the way and we were getting only 1 failed feed every 52 feeds. One problem we were detecting was that the last 2 cards were always ejected together. The problem was due to the weight being very low. We decided to change the parameters as the deck gets used up and to add more weight. An image of the testing is below.

Finally, krish and I took photos of the 52 cards using the camera holder and feeder so he has images of the cards to use for the computer vision.
Entry 2: -----------------------------------------------------------------
Date: 4/13/2025Time: 12 pm
Duration: 3.5 hours
At 12, I went to lab and I started redesigning the feeder. I started by evenly spacing out the bands as that would be the easiest thing to do. That was as simple as changing the sketch and resizing the distance. An image of that is below.

I then started changing the size of the holes for the o-rings. Krish ordered this O-ring set and I found their dimensions online and I changed the hole sizes accordingly. I made sure to add 0.5 mm of tolerance.
Link: https://www.amazon.com/Assortment-HongWay-Professional-Plumbing-Connections/dp/B07WRF9YYC/ref=asc_df_B07WRF9YYC?mcid=741b782c0bdc361898745b1a3674adec&hvocijid=258989541024995029-B07WRF9YYC-&hvexpln=73&hvadid=721245378154&hypos=&hvnetw=g&hvrand=258989541024995029&hypone=&hyptwo=&hvgmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9016722&hvtargid=pla-2281435177898&psc=1
Image of sizes is below:

After that I worked on moving the roller closer to the edge. This was very difficulty because I had to move the motors, bearing, roller and everything. This took me a long time and I also increased the tolerances on the bearing and rollers so I don't need to sand anything anymore. I also made the front wall thinner so that there is less distance that the card has to go through. I decreased the thickness from 4 to 2 mm. An image of that is below.

After finishing the redesign of the feeder I started working on redesigning the card cover. I only had the make it 2 mm thinner to prevent it from rubbing with the wheel. I did that and I redesigned the gate flap accordingly so that it would stop at the new width of the cover. An image of that is below.

Finally, I found a place to put the camera. In the lab, I tested several positions for the camera to be able to read the card effectively. I then settle on a position and used the caliper to measure the distance. I then download the CAD of the camera for GrabACad and I design a holder for it accordingly. I designed it so the holder screws into the card feeder using screws, so I added screws to the feeder. An image of that is below:

Finally, I went to Bechtel to print everything. I printed everything on the Bambu Lab P1S printer using PLA. I used the bambu slicer to slice everything, I also used 0.16 mm layer height to get higher details, especially for the feeder. I started printing and it wasent sticking to the base so I decided to add some glue to plate and try again. It worked.
Entry 1: -----------------------------------------------------------------
Date: 4/12/2025Time: 12 pm
Duration: 3 hours
After lunch, I went to lab and I started by cleaning up the lab space. I removed all the extra boxes and cleared up some space to work. An image of this is below:

I then started assembling the latest card feeder print, I had tweaked the size of the rollers. I had to sand down the rollers a bit and put in the bands and then assemble it. It was much better to assemble. An image of that is below.

After that I started working on testing the card feeder. Craig and I kept testing it and tweaking the power settings and timings of the motors. The main parameters we were changing were power of front and back motor, time each motor is on, and direction of each motor. The most successful combination we found was, both motors go forward, then front motor continue to go forward while the back motor starts going backward and then both motors start going backward. We were testing and tweaking the timings of each operations. It was sort of working, our main problem was that cards were never pushed all the way, they would get stuck at the end. An image of that is below:

After that, we had a brainstorming session to figure out some potential improvements. I also started watching some videos of similar products to see what they did. Video links are below.
https://www.youtube.com/watch?v=EKzgN_8iP4&pp=ygURZGIsIGNhcmQgc2h1ZmZsZXI%3D
https://www.youtube.com/watch?v=eMTXyL7tPEk&pp=ygURZGIsIGNhcmQgc2h1ZmZsZXI%3D
We realized the main problems are:
1. The card not fully ejecting
2. Too little friction between card and
3. Too much friction between band and cover causing bands to
4. Uneven spacing between bands causing cards to leave angled
5. Front roller not preventing 2 cards from leaving
An image of the uneven bands and how they would not fall in place and eventually rip is below:

To solve this I decided to redesign the model and change the following:
1. Make event space between rollers
2. Use something with more friction, other than a rubber band(Krish suggested an o-ring)
3. Moving the front motor roller to the front and adding more spacing for the rubber bands to freely rotate
4. Add rubber bands to the front roller to prevent the cards from ejecting.
This new design will hopefully solve all our problems. Ill start working on it tomorrow.
=============== Week 13: =================
Summary: In this week I worked on integration and assemblingCumulative Hours: 91.25 +16 = 107.25
Total Hours for this week: 16 hours
Entry 6: -----------------------------------------------------------------
Date: 4/10/2025Time: 4:30 pm
Duration: 1.5 hours
I went to Bechtel to pickup part, and I had the same problem. The print was stringing and failing. I decided to dry my filament using a drybox we had in Bechtel. In the meantime, I opened a new spool of PLA filament and retried the print. It will hopefully be done tomorrow.
After that I went to lab to test the wheel more. This was the first time we test it with the cover and gate. It worked great, there was some resistance but overall fine. Craig and I then started to calibrate the servo degrees for opening and closing the gate. We tested different positions for the servo and determined that 5 and 150 degrees are the best positions for closes and open respectively.

I then made a plan for the weekend and we all decided to meet in lab and finish as much of the project as possible. The next steps are testing the complete card feeder and integrating it with the wheel and gate.
I then went to Bechtel to pick up the rollers and they were great.

Entry 5: -----------------------------------------------------------------
Date: 4/9/2025Time: 7:30 pm
Duration: 5 hours
At night we decided to all meet up to crunch out the project. I came in with a goal to test the UART, stepper motor and DC motors on the PCB. Craig and I were the first ones there and we started testing the UART. I hooked up the connection and Craig flashed the STM32 and powered on the raspberry pi. After a bit of debugging in the code, mainly just commenting things out, things were working. We were able to messages between the raspberry pi and UART. An image is below. I tried looking for a TA to give us a check off but no one was there.

After that I started trying to test out the DC motors because there are not a lot of components involved. I hooked it up while Craig wrote the code. I did not solder anything because this was just an initial test, however it was not working. In the meantime Krish came and we both worked on soldering the motor driver. After that, we test again and things were still not working. We were now getting this weird error. The PWM pin was controlling the 5V heartbeat LED. This made no sense as they were never connected. After a while of debugging, I started using the multimeter continuity setting to make sure there are no shorts or anything wrong with the connections. I asked Krish to resolder the chip and then I left to go check on the print in Bechtel.
In Bechtel the print had failed and I then started it back up and I increased the printing temperature. I suspect the problem is due to moisture in the filament. After that, I went back to the lab. Craig and Krish got the DC motors to work. An image of that is below.

After that, Krish and I started soldering the type-C connector. This was especially difficult and took a long time. We accidentally shorted 2 of the pins and it took up 40 minutes to remove the connections. We tried everything, chip quick, needles, copper sheath, and heat guns. It finally came out, however it damaged the USB type-C pads with it. We decided to proceed as this was only our first board and it was only for testing. The type C connector is also not the most crucial component.
After soldering the type C connector I tested it out by using my phone charger and a multimeter and seeing if there is 5V on the other end. It worked. Finally, after that Krish and I started working on the stepper motor. I got all the components, however there were 2 capacitors that I accidentally put the wrong footprint for on the PCB. The footprints I put are for capacitors that would not arrive on time. I had to find some large capacitors and we just flywire them to the pad.

Finally, we started testing the stepper motor and it worked. I then hooked it up to the wheel. Initially the wheel was being very sensitive and pushing back a lot against every rotation. However, after tweaking the current limit from the Power supply and changing the minimum speed in the code, things got much better. I started thinking of the wheel motions and asking Craig to test them. We tested moving from one slot to another, loading, and unloading. An image of the full mechanism is below.

Entry 4: -----------------------------------------------------------------
Date: 4/9/2025Time: 2:00 pm
Duration: 2 hours
I sat down and worked on A11. I opened my complete combined design and our project website to make sure I considered all the functionality, components and parts in my analysis. An image of the combined design is below.

There were various hurdles while working on A11. The main ones were finding out the environmental impact of the materials I used for manufacturing. However, I used All3DP and other maker community websites to help.
Additionally, compared to traditional manufacturing methods, digital fabrication is environmentally better, however they still have a high impact which I decided I should mention.
For more details please read A11.
Entry 3: -----------------------------------------------------------------
Date: 4/9/2025Time: 9:30 am
Duration: 3.5 hours
I came to Manlab and I started by going to the ECE shop to get screws for the new servo gate mechanism, the stepper motor, mounted bearing, and DC motors. I got all the screws and I started by fixing everything in place. An image of that is below.

After fixing everything in place, everything was much more stable. I then tried to test everything by hand and I loaded cards in. I also tested the gate and it worked great. One thing I noticed is the servo has to be closed all the way for no cards to get stuck. If there is any small gap, cards will get stuck.
After that I started assembling the card feeder. An image of which was below. Everything fit perfectly now, however, when trying to screw down the motors, it was pretty difficult because there was not that much clearance. I managed to do it in the end. I then put rubber bands on the roller and I tested it with one motors. The front roller was not rolling. There was some excess support blocking it. I sanded it down and things worked perfectly. Cards were coming out accurately and at fast speeds.

After that, I started putting it in the second motor. The motor fit perfectly, however the roller was not fitting on the motor shaft. After sanding it down, I was only able to get half of the roller inside. I tested it with only half inside and it worked, however that is not optimal as it can easily fall off. I redesigned the roller on fusion 360 and I increased the tolerance from 0.15 mm to 0.35 mm. I then went to Bechtel to print the roller on a bambu lab P1S. For some reason the print was string heavily and coming out horribly. An image is below.

I decided to reprint the roller at 50% of the original speed. It’s going to take 10 hours so ill just pick it up tomorrow and test it then.
Entry 2: -----------------------------------------------------------------
Date: 4/8/2025Time: 11:45 pm
Duration: 4 hours
After my class, I went to lab to assemble the new card feeder, gate mechanism and screw everything down. I started by finding screws for the servo to be able to screw it into the holder. I started by testing the tolerance on the flap by hand and it worked great. There was minimal resistance, and cards were falling as intended. I then screwed everything in place and I started testing the gate. It worked perfectly, but it was too slow. I talked to Craig about the issue, and he wanted to use a 9g mini servo instead. It is much less powerful, however we do not really need anything more powerful. I redesigned the Servo gate mechanism. I had to change the size of the holding part because the servo size is different, and I had to change the way the flap attaches to the servo.

I started working on redesign the flap. I downloaded the servo CAD using "Grab A CAD" and I started designing around that. For the flap, my initial idea was to have the flap screw into the servo. I designed that using Fusion 360 and I printed a quick prototype on the Bambu Lab P1S using the ludicrous speed feature which prints things extremely fast. An image of the CAD is below. The flap was not being tightly held by the servo so I decided to try something else.

I decided to use one of the attachments that came with the servo. It was the plastic arm; an image is below.

I made an exact hole of this inside the flap and then I thought I would glue them together to fix them in. I printed the new flap and tested and it worked great. The arm was screwed in to the servo and then glued to the flap. I used super glue for that. An image of the CAD is below.

After I was done with that I redesigned the servo holder. I used fusion 360 and I just had to change the depth and width of the holder attachment section as the servos were different sizes.
After that Krish and I started assembling some of the components on the PCB. We want to start programming it so we started with all the decoupling caps, programming headers, and reset button. Krish prepared the soldering iron and I opened the schematic and told him where to solder and I got him the components we needed. We carefully soldered everything. Most of the components were pretty easy. We struggled with the diodes due to their small size however, they were manageable.

Craig then came and we tried to flash the chip. Nothing was working. I started debugging and checking my PCB design. I then suggested removing the diodes and test. Krish removed them and then everything worked. I still don’t know why the diodes were preventing it from working. I think I might’ve accidentally ordered the wrong ones. They are only for ESD so they are not crucial.
Entry 1: -----------------------------------------------------------------
Date: 4/7/2025Time: 3:30 pm
Duration: 2 hours
Today, I worked on assembling everything together. I took all the parts I printed and laser cutted and I started assembling them. An image of the final assembled piece is below. The parts fit perfectly together and the tolerances were fine. I had to sand down some of the parts especially the parts that were going into the bearing and fitting into other parts. The main parts I had to sand down were the ends of the rollers in the card feeder, the card cover, and the motor housing. After a bit of sanding with some sanding papers things fit well.

Moreover, I started assembling the card feeder and I realized that the new motors we ordered had a different shaft position, an image of this is below. The original motor shaft was centered and thus the CAD design had it centered. The new motor shaft has it slightly below and thus nothing was falling into place. I had to redesign everything using fusion 360 and in the meantime I also decided to increase the tolerances from 0.15 mm to 0.3 mm to make sure everything fits better.

I started by finding a CAD model of the new motor and importing it to my design and redesigning the shell based on it. I used "Grab A CAD" to find the motor design I needed. I had to raise the entire motor casing a bit as the previous version I had was too close to the ground. I also added some fillets to make it stronger.
After I was done redesigning I went to Bechtel to print it on a Bambu lab p1s using PLA. I first sliced it on the Bambu slicer. I played with the settings and increased the infill to 50% to make sure the feeder is strong enough. I then loaded my filament and started printing

=============== Week 12: =================
Summary: In this week I finalized all the parts for the project and the mechanical side of things.Total Hours: 12 hours
Entry 5: -----------------------------------------------------------------
Date: 4/4/2025Time: 10:30 am
Duration: 3 hours
I started by sifting the wheel and shaft design. The design turned out great but sadly the homing piece broke during printing. I decided to just glue it back on using super glue as that should be strong enough. Similar to last time, the sifting process was hard however I have gotten used to it. Additionally, I test fitted the shaft and the wheel and they fit perfectly. An image is below.

After that I started working on redesigning the card feeder, adding extra rubber bands and adding place for the bearing. I had to go to the lab and use a caliper to measure the dimensions of everything and update the design accordingly. The main part was getting the dimensions of the bearing we got. After that I redesigned it, sliced it on the Bambu Slicer and then started printing it using PLA on the Bambu Lab P1S.
After that I started working on the structure that hold the motors and keep the cards from not falling. I designed it and put it to print on the Markforge 2 printers. I used Onyx to print. I had to slice the files using Eiger.
I still have to work on designing a holder for the servo motor.
Entry 4: -----------------------------------------------------------------
Date: 4/3/2025Time: 12 pm
Duration: 2 hours
I updated the full CAD design of the combined model. Mainly I finished up the wheel, shaft, and the mechanisms holding the motors and everything. I started redesigning the full CAD design and I fell into a problem with the homing sensor. It needed some more space than was available, so I decided to rotate the wheel so the homing sensor is on the other side with more space. The other side is where the couple is attached to the wheel so there is already a lot of space there. I then sliced the files on the Preform slicer and then printed the wheel on the Fuse 1 SLS printer using nylon 12. An image of the slicing is below.

After that I started working on the holders and everything holding the motors and connecting everything together. I started by using McMaster insert tool on Fusion 360 to import all the components such as the couples, bearing, and motors. I then modelled the bases accordingly.

I started thinking of ways to attach the cover that will hold the cards in place and not fall. I came up with the idea of having them fit into the structure holding the motor so it stays in place. I will experiment with the idea and then print them out of Onyx on the Markforge printer.
Entry 3: -----------------------------------------------------------------
Date: 4/2/2025Time: 9:30 am
Duration: 4 hours
I started the day by working on the card feeder. I tested it thoroughly to make sure it works perfectly. I noticed several points that could be improved.
1. The feeder would only work if the rollers are exactly in the correct position. That should be solved by adding the bearing which would hold everything in place and make sure everything is always in the correct position.
2. Cards would sometimes not have enough grip with the bottom. I suspect this is due to a lack of rubber bands. I decided to add more bands to try and fix this. This problem happened once every 100 cards.
3. The 2nd roller should be closer to the top of the feeder to make sure to shoot the cards out. I decided to move it up a bit.
4. The motors were too slow, I'm currently looking for higher RPM motors
5. The motors need a better casing to hold them in place.
I started working on updating the CAD files using Fusion 360 to work on these changes but I was interrupted by the manager meeting. I showed the TAs the wheel and shaft design and they thought it was good. In the meeting we also discussed our parts and how delayed they are. After that, for the next 2 hours it was just us tracking the packages.
I went to the procurement office with Krish and they told us to talk to the B+IEE building manager, we went there and he said to go to the ECE shop. From there we just kept going back and forth until we finally convinced the procurement office to just reorder our parts. The parts were already 3 weeks delayed and were lost somewhere at Purdue or DigiKey's warehouse.
After settling that I started working on the servo gate mechanism. I realized that the current design has a major flaw which is that the gate will never close all the way and the cards have a small area which they can fall into as they rotate. An image of this is below.

I fixed the issue by redesigning the gate mechanism to a flap connected to the servo. I also flattened the side of the wall so the flap would fit exactly in place. This would also be faster as there is no need for a linear actuator mechanism anymore.
Finally, I ordered a new motor with 1000 RPM, it is the exact dimensions of our current one, just double the RPM. An image and link are below. We considered other options such as:
https://www.amazon.com/Electric-Reduction-25GA-370-Centric-Diameter/dp/B07ZKK2F26/ref=sxin_16_pa_sp_search_thematic_sspa?cv_ct_cx=dc+motor+high+rpm&sbo=RZvfv%2F%2FHxDF%2BO5021pAnSA%3D%3D&sr=1-1-6024b2a3-78e4-4fed-8fed-e1613be3bcce-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9zZWFyY2hfdGhlbWF0aWM&psc=1
https://www.amazon.com/Greatisan-27RPM-Torque-Reduction-Gearbox/dp/B08ZCBZLC6/ref=sr_1_11_sspa?sr=8-11-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9tdGY
But we were discouraged from the reviews and price. We ended up ordering this.

After that, Krish and I went to the ME shop to get the bearings and couples recommended to me by the ME shop consultation. We were able to find everything we need. An image is attached below.

I then tested the couple on the motor and it fit perfectly. I used a hex key to tighten it.

Entry 2: -----------------------------------------------------------------
Date: 4/1/2025Time: 11:30 am
Duration: 1 hour
This morning I went to the ME electronics shop for consultations about the project. I wanted to take their opinion on the shaft and controlling and everything along these lines. I went to the shop and I asked the workers there about what they think. They agreed that printing our own shaft would be optimal just to save time in case anything breaks. They suggested to add some reinforcements and fillets on some points of tensions on the shaft to lessen the probabilities of it breaking. This was mainly on the connection between the cylindrical part and cross shaped part of the shaft. An image of the fillets are below.

After that I started discussing with them how to attach the shaft to the rest of the design. I showed them my previous full design CAD. They suggested using bearing wherever possible. This was to hold everything in place and to reduce the friction. I decided to add bearings to the main wheel shaft and 2 bearings to the card feeder. I also started looking into how to attach the shaft to the motor and which couple to use. He suggested using a flexible shaft couple as the screws would allow us to tighten as much as needed and they would work perfectly with the motor D slot. He also recommended an 8 to 6 mm one due to the size of the motor shaft. He told me to go to the ME Lab on the first floor and ask for some and they most probably have all of those. I decided to go tomorrow after I get the "Ok" from the team and professor.
Entry 1: -----------------------------------------------------------------
Date: 3/31/2025Time: 3:30 pm
Duration: 2 hours
This morning I started by deciding to finish all the mechanical components by the end of the week. I started by working on the wheel and shaft design because that was what was causing us the most problem. Our current problem was that the current D-hole we were using to connect the motor to the wheel had such a large tolerance and was not allowing it to work properly as the motor was spinning freely inside the hole. An image of the current setup is below.

I started thinking of how to redesign the shaft mechanism. In our last manager meeting the professor suggested using a metal shaft for the design and using a couple to hold it. I started researching and I found 3 possible shaft designs that I could use. A hex shaft, D shaft, and a keyed shaft. Images of all 3 are below.

I consulted my coworker in Bechtel about which option would be best and after deliberation we realized that all 3 would have the same problem as our initial attempt of making a D shaped hole for the motor shaft to just go into. For all 3 of these designs it would be very difficult to get the tolerances right. Additionally, as these shafts rotate inside their hole in the wheel they will likely carve the hole out to a circle. This is especially true for the hex shaft as it will turn the hole to a circle and the keyed shaft would most likely break the plastic key in the hole.
I decided to try to come up with my own design and print the shaft out of Nylon 12 or Onyx and Carbon Fiber. I came up with a cross-shaped shaft design. I added circular ends to the cross shaped designs that can respectively be put in a bearing on one side and attach to a motor on the other side. An image of that is below.

I added 0.05 mm tolerances to the hole inside the wheel as I wanted it to be a very tight fit. On Wednesday I'll show the design to the team and TAs and then print it on the Fuse 1 SLS printer in Bechtel. Hole design is below:

=============== Week 11: =================
Summary: In this week I worked on the 3D mechanics and housing of the project. Total Hours: 6 hoursEntry 3: -----------------------------------------------------------------
Date: 3/26/2025Time: 8 am
Duration: 3 hours
I went to Bechtel and I started working on fixing up the mechanical designs and manufacturing them. The things I wanted to work on today are:
- Laser cut walls and base
- 3D print new servo case
- Redesign electronics casing and make space for wires and everything
- Come up with a new design for the wheel (something to fix the shaft)
I started by laser cutting the enclosure. I used this online website https://en.makercase.com/#/ to design the box and I added ridges for everything to fall in place. I then downloaded the files and put them on the Trotec Ruby software and then cut them on the trotec laser using 0.25 inch Plywood. An image of the box design and process is below.


After that I started redesigning the gate mechanism using Fusion 360. I just needed to change the height of the small plastic piece that attaches the servo with the screws. I then used the Bambu Lab slicer to prepare the file for 3D printing. The printer was occupied so I couldn't print it now, however I will print it later. I only need to reprint the attachment mechanism. I will print it next week.

After that I started redesigning the electronics case using Fusion 360. I changed the size and added holes for the screws and for the PCB to fall in place. I also added some spaces to allow airflow and cooling. Moreover I added holes for the wires to pass through and go to the other parts. An image of the case is below. I decided to 3D print it using PLA on the Bambu Lab when I print the servo attachment next week. An image of the design is below.

After that I started working on redesigning the wheel. I started researching some options on how to fix the shaft and making it more rigid and strong. My best idea was to use a couple and metal shaft. However I wanted to talk to the professor before redesigning it and 3d printing it again as it takes a long time and is very expensive. I will do that on Wednesday in man-lab.
Entry 2: -----------------------------------------------------------------
Date: 3/26/2025Time: 3 pm
Duration: 1.5 hours
Before lecture I went to lab to see the new PCBs and inspect them visually to see if there is anything wrong with them due to manufacturing. After an initial inspection where I checked all the lines, holes, vias, and footprints, everything looked fine. A more thorough testing is needed but initially it looks good. In the weekend, Brendan and I are going to work on soldering all the PCB. Image of PCB is below.

After that Craig and I worked on cleaning the desk and organizing what we currently have to make a check of what we still have missing. We had a bunch of packages, tape and extra components all over the place. I got the trash bin and threw everything not needed there and I returned all the extra parts to their places. An image of the cleaned area is below.

Then, I assembled the servo motor gate mechanism with some screws I got from the storage in the lab. I also glued the gear to the servo with some super glue. After that we test the gate mechanism with the STM32 to control. The gate worked great and was pretty quick. There are some tensions and strains on the gate mechanism due to the screws and nuts and the servo not exactly falling in place. I will have to edit the design on Fusion to make sure everything fits in place. An image of the assembled mechanism is below.

Entry 1: -----------------------------------------------------------------
Date: 3/26/2025Time: 3:30 pm
Duration: 1.5 hours
On Wednesday, Krish and I went through all the parts we needed for the PCB and found links for all of them to order it. We now have all the parts that we need ordered. We used the KiCad schematic as our base for what parts are needed. Schematic is found below.

I used DigiKey and Amazon to order most parts as they had the cheapest prices and fastest delivery times.
The parts we needed are:
- A bunch of header pins
- A bunch of socket pins
- Type-C port
- ATX power connector
- Resistors
- TVS diodes
- Capacitors
- Crystal oscillator
- STM32
- LEDs
- RGB Led
- Push buttons
I also checked what parts are available in lab and what we need to order. The parts available in lab were the header pins, resistors and capacitors. I ordered all the other parts. I made sure the parts have the same footprint as the ones used in our PCB layout. Some footprint layout attached below. The footprints I used are the biggest and most commonly used ones.

I also ordered some PLA filament as there was a lot of 3D printing that we need to do and Bechtel has an expedited process if you have your own filament. I ordered some normal PLA from Elegoo due to its cheap price and high quality. Image attached below.

=============== Week 10: =================
Summary: Spring Break. Total Hours: 0 hours=============== Week 9: =================
Summary: In this week we ordered everything for the PCB and finished all our circuitry. Total Hours: 6.5 hoursEntry 4: -----------------------------------------------------------------
Date: 3/14/2025Time: 10:00 am
Duration: 0.5 hours
In the morning, I read the comments sent by Dr. Walter. I fixed all the acute angles he mentioned, removed the copper layers around the screw holes, and I added the recommended thermal vias and ground layer for the motor driver. Image of that is below.

I prepared the cart on JLC PCB and I went and ordered the PCB with Shivam through JLC PCB. I decided to order 10 pieces of the main board and 5 pieces of the breakout since we wanted to test soldering some components on some extra PCBs just in case. The PCBs should arrive before the end of spring break.

Entry 3: -----------------------------------------------------------------
Date: 3/13/2025Time: 2:30 pm
Duration: 1 hour
Before class, I worked on some of the recommendations sent to us from the GTAs. I still had some acute angles that I needed to remove, and there were some design changes that we could do that would make our overall design better. I reorganized some wires, especially the wires next to the clock. I also added a diode to the programming header VCC pin to prevent any reverse current.
I also reorganized some things in the PCB and asked Craig to reprint the footprint and test it with components so we can send it to the teaching staff. I hope to order the PCB tomorrow morning. Now I’m just waiting for the other TAs to go over the PCB and for Craig to do the footprint verification and send a photo to the TAs.
An image of the final PCB is below.

After class I talked to the professor about the PCB and the next steps. He mentioned to come see him tomorrow morning to order the PCB.
Entry 2: -----------------------------------------------------------------
Date: 3/12/2025Time: 10:30 am
Duration: 3 hours
In Man-Lab, I started working on an order sheet of all the components I still need for the PCB. In the meantime, I asked all the teammates to go through the PCB and schematic to make sure everything is correct. An image of the component sheet is below. I found links of all the components from Digi-Key and I ordered all of them. Hopefully, by the end of spring break, we will have all the parts and we can start assembling.

After that, I made a sheet to check how much money we have already spent and what the current budget is. I went through all our previous orders on Microsoft Excel and I added everything up.
After that we had our manager meetings and the professor and GTAs took a look on our PCB and told us what things we need to change. They noticed some acute angles and they reminded me to add a copper layer. They also told me to change our via sizes to 15 mils, to add a large via in the bottom to connect a clamp to, and move the ATX power connector further away
I added the copper layer by adding a layer that was connected to no net and it is there to only provide some insulation. I also removed the acute angles and changed all the via sizes by changing the design properties. I then ordered all the parts I needed and I then sent an email to all the teaching staff to get approval to order the PCB.
I then opened JLC PCB and PCB way to compare prices. JLC PCB seemed much easier to use and they had a sign on deal that would make our PCB cheaper. I uploaded our gerber file to get a rough cost estimate and for 10 PCBs it would cost 30.5 including shipping. An image of this is below.

I then got a response from some of the GTAs and I was asked to confirm the stepper motor driver connections. After checking the datasheet and talking to craig I realized that we had messed up our connections and I quickly fixed it. The motor should be connected to 12 V on the VM pin and 3.3V on the VIO pin and not 12V on both. I also tested the ATX power supply with a 10Kohm resistor and it didn’t work so I decided to remove that from our design and have it connected with no resistor.
Entry 1: -----------------------------------------------------------------
Date: 3/11/2025Time: 9:30 am
Duration: 2 hours
I woke up today and decided to fix all the problems that were noted out to us by the GTAs. The problems were:
- Vias should be put next to the pin and not on the wire - Change capacitor values to match our STM required values - Change schematic of Pi - Change text layer to silkscreen - Connect Vcap to power - Remove all acute angles - Check whether I need a pull-up for type C or pull-down - Add copper layers for PCB top layer to remove noise - Check if DC motors can be powered with 5V and controlled with 3.3V
I started going through these points one by one and solving them. I used the datasheets on our website to verify what capacitor values I needed, how to connect the Vcap to GND, to confirm that the type C needs to be pulled down, and to confirm that we can power the DC motor driver with 5V and operate it with 3.3V.
After that, I went through the design to resolve any acute angles I could find and I replaced the Pi schematic with a 20x2 connector. I used the datasheet to make sure everything is connected correctly. Some examples of that are found below.
Removed acute angles:

Complete PCB:

Complete 3D design

=============== Week 8: =================
Summary: In this week we finalized the PCB/Schematics and presentation for the midterm design review. Total Hours: 16 hoursEntry 5: -----------------------------------------------------------------
Date: 3/6/2025Time: 3:30 pm
Duration: 4 hours
I met with the team around the usual class time to show them all the updates with the PCB and to go over the presentation together. I explained to everyone their parts on the schematic and told them what to say in the presentation while they describe the schematic. Afterwards, we did a practice run for the presentation.
After that, I went home and worked on the PCB and ordered the Raspberry Pi camera and cable (Krish sent me a link to order). I started by removing all unnecessary connections to make it easier to wire the PCB. I removed the UART clk since we will be running asynchronously. I also continued to change what pins I am using for what to make things closer to each other.

In this process, the Cube IDE pin organizer was very useful in assigning pins and keeping track of everything. I started wiring all the components and I realized having all the debugging pins close together in the same connector serves no purpose since a lot of these components are connected to pins that are on opposite sides. I decided to split the debugging pins into separate connectors to make the PCB more organized.

The above image is the PCB with most components connected without all of the power connections. I then started connecting everything to ground and 3.3V using vias to the power plane layers. I then made the remaining connections and below is my output.

After that, I started working on the DRC errors. I tried removing all the errors but whatever I did I kept getting the same errors. I tried highlighting the nets and everything I could find online but I couldn't figure it out. I decided to ignore and come back later. A copy of the errors is below. Most of them were missing connections.

I added our names and team information onto the board and then I connected the 5V together all through the PCB and that solved some of the errors. Then, after highlighting the nets and going through the kicad forums concerning the errors I was getting, I realized I had some islands in my PCB that prevented the connections from reaching. I thus added multiple vias on all the points that were In islands and that solved my problem.
I was able to make sure we have no errors and to finish the PCB. I prepared the pcb for printing and sent it to Brendan to print it so we can test the footprints right before the presentation tomorrow morning.
Entry 4: -----------------------------------------------------------------
Date: 3/5/2025Time: 10:30 am
Duration: 5 hours
In the morning, we met for Man-lab. I showed the team the final schematic and I had all of them go through it to see if anything is missing. We made a list of everything missing or still needed. Those things still needed were the RGB LED, button mechanism, pins for a fan, extra GPIO pins, a type C power connector, and mounting holes.
I started adding all of these and I had to make several design considerations. The main design considerations were whether the LEDs will be on the board or through a connector and whether we need pins for a fan or we should just rely on the power supply fan. I decided to add connectors for everything and not a fan pin.
Afterwards, I started working on the PCB footprint. I started out by spacing out all the parts to a position relative to the MCU. Image found below.

I also renamed some parts to make them easier to identify. I then started working according to the slides given to us from the professor. I began with the decoupling capacitors, high-speed signals, and moved forward according to the priority list the professor gave us. As I was laying out the parts, I realized that a lot of parts could use other pins and that would make the PCB much better. I started with the extra GPIO pins, I went into Cube IDE and checked what pins I had available and I reorganized them.

I then realized that I need an extra voltage source so I removed some of the pins to do so.

As I kept working on laying the components out, I kept rewiring things and changing the pins used for what component. An image of the Cube IDE feature I used for this is below. I used this feature to see what pins are available and what they could be used for.

I then started putting in the design limitations. I used these 2 sources to set all the design limitations. I found a video and a GitHub library that contains all the limitations for JLC PCB. They are attached below.
https://www.youtube.com/watch?v=WAlb_Lq7LCg
https://github.com/labtroll/KiCad-DesignRules/tree/main/JLCPCB
I began wiring everything and adding vias. I initially thought I could fit everything in 2 layers but I then realized this would be almost impossible so I decided to do 4 layers, a top and bottom layers for traces and 2 power plane layers.
After making an initial layout, I decided to go add all the extra debugging and protective circuitry Dr. Walter kept mentioning (ESD, heartbeat, LEDs, test points, etc.). An image of the initial layout is below.

I added the heartbeat LEDs, reverse current diodes, and test points. To add the diodes, I was confused whether I should add bidirectional or unidirectional diodes. After some research, I found multiple sources on the KiCad forums recommending using bidirectional diodes.
I made sure to add everything stated in the slides

Entry 3: -----------------------------------------------------------------
Date: 3/4/2025Time: 4:30 pm
Duration: 3 hours
On Tuesday, I started working on the PCB connections and footprint. I had assigned the footprint of all the components, made sure to deal with all ERC errors, and I then pressed on switch to PCB editor and I was met with nothing. After closing KiCad and reopening it, I was also met with nothing. I decided to update KiCad and reopen the PCB editor and I only saw a ratsnest, nothing else. An image is attached below. The interesting part was everything was showing in the 3D view. An image of the 3D view is below.


I tried googling these errors, but I could not find anything online that was useful. All the recommendations online were coming from the KiCad community posts and they talked about turning the layers on, however, they were on for me. I kept trying to debug this for an hour until I was finally able to see some names of components on there by changing some of the preferences in the settings.

Afterwards, I decided to uninstall kicad and reinstall it. Suddenly everything started working and I was able to see all the footprints and components.
Entry 2: -----------------------------------------------------------------
Date: 3/3/2025Time: 10:30 am
Duration: 4 hours
On Monday, I started by grouping the PCB designs. I combined all of the designs and boxed them to make everything more readable instead of having a bunch of wires between everything. I replaced all of that with labels. An image of that is below:

Additionally, I also worked on adding footprints to everything. This took a long time because most of the parts will not be on the board. I had to remove all the motors and replace them with header pins since the motors will be connected to those header pins. I decided that we will be using 2.54 mm capacitors and resistors as they are easy to solder and very common to find.
I also used SnapEDA to download the footprints for the motor drivers. Link below. KiCad did not have a footprint for this, so I searched online for some footprints and SnapEDA had the best one. I also confirmed all the dimensions by measuring our piece and it was compatible. Thus, I had to delete our placeholder schematic and add the SnapEDA schematic of the motor drivers instead.
https://www.snapeda.com/parts/TMC2209%20SILENTSTEPSTICK/Trinamic/view-part/#
Afterwards, I worked on dealing with all the ERC errors. There was not that many ERC errors. The main errors I got were unconnected pins and power errors since there were many sources of power and many parts that needed to be powered. An image of part of the ERC is below. To fix the power problems, I removed all of the power flags from all the pins and to remove the unconnected pin errors, I added an unconnected pin symbol on all the unused pins.

I then realized that I never added the schematic for the power connector. I went online to Google how to do that and on the KiCad forum, I found out that there is an ATX schematic component I could add. I added that component and I got a whole new list of errors. After digging through the KiCad forums, I saw that I needed to add some pull-down resistors to the ATX connector. Afterwards, I also decided to remove all the extra components/mechanisms in my schematics. I had previously added a bunch of unneeded circuitry, mainly a linear regulator and analog circuitry. In an attempt to make the schematic smaller, I removed all this unneeded circuitry by simply deleting it.
Finally, I assembled the new card feeder and I started working on testing it. I put the rubber bands into the slots and they fit perfectly. I then made sure the motors fit and that worked great. Finally, I hooked up each motor to a power supply and I added cards. The feeder worked great. I was only able to hook one motor to 12V and the other one to 5V, and the 5V was too low and resulted in a very slow speed. However, I suspect that if both were running at 12V, we could get a much smoother operation. The current setup worked, however, sometimes 2 cards would leave at the same time. An image of the setup is below.

Entry 1: -----------------------------------------------------------------
Date: 3/1/2025Time: 11:30 am
Duration: 1 hour
On Saturday, I went to Bechtel to 3D print the new card feeder design and the new servo motor casing so we can test them. My previous journals contain the difference between the old and new designs for both of these. I used a Bambu Lab P1S to print these parts and I printed them with PLA. I also sliced the files using the Bambu Lab Slicer. Photo of sliced files are below. Photo of printed gate mechanism is also below.


=============== Week 7: =================
Summary: In this week we finalized the PCB/Schematics, started working on the Midterm design review, and worked on the card feeder. Total Hours: 8 hoursEntry 3: -----------------------------------------------------------------
Date: February 27thStart Time: 5:30 pm
Duration: 3.5 hours
Craig and I looked for l293D ICs to order to be able to control our DC motors. Craig found this on amazon and I ordered it.
https://www.amazon.com/BOJACK-16-pin-Stepper-Drivers-Controllers/dp/B09NBQVYLL/ref=cm_cr_arp_d_product_top?ie=UTF8
Afterwards, Krish came with the rubber bands we ordered and I assembled the card feeder with them. An image of the assembled Card Feeder is below. The card feeder worked well. However, this was still using the old motors, We ware waiting for the new gears to arrive to be able to test it with that. Additionally, I noted some changes that need to be made for the design. An image of the new design is below. The first change was I added holes/crevices for the rubber bands to fall into so there is less friction with the body of the feeder but still enough friction with the cards. I added five slots. The second change I made was that I made the feeder taller and removed the fillet on the bottom that was causing the feeder to tip over. I originally added the filler for artistic purposes, but I realized it is not needed. I made all these changed to the CAD using Fusion 360.
Assembled Card Feeder:

Rollers with rings:

New CAD Design:

Afterwards, I sat down the entire team so we can all go through the KiCAD design to make sure everything is okay. There were several things we noticed.
1. I had to change my design to make it better for manufacturing. I labelled all the pins, added diodes, and separated parts.
2. I removed the motors as they will not be directly connected to the board and instead there will be connectors. I did that for all the motors
3. I rewired the DC motors as I decided that we should use the double H-bridge capabilities of the driver to be able to control the DC motors in going back and forth.
4. I also added the servo motor to the design and I started adding footprints to everything
This weekend I will finish all the footprints and layouts
An image of the final schematic is below.

Afterwards I made a copy of this to make sure this stays in tact and I started reading the lecture slides before I footprint and layout to make sure I get everything right.
I then left the lab and went to the Bechtel Innovation and Design Center. I sliced up the new card feeder on bambu studio and I then printed it using PLA on the Bambu Lab P1S. I made sure the first layer was working and then I left. I will pick it up in the weekend.
In the weekend I will finish up the PCB and work on the presentation so we have everything ready for the midterm design review.
Entry 2: -----------------------------------------------------------------
Date: February 27thStart Time: 3 pm
Duration: 1.5 hours
Before class I went to lab to work on the PCB schematics and finalizing it so I can then start working on laying it out and the footprint. I started with figuring out the PWM pins that I can use. I began researching how to set up the PWM pins on the STM32F4 and I found some helpful resources. I read the datasheet and found that the PWM signal is operated on the Timers.
https://www.st.com/en/microcontrollers-microprocessors/stm32f446re.html
https://stackoverflow.com/questions/75354285/stm32-with-pin-pwm-capable-datasheet
Screenshot from datasheet:

I decided to set up Tim1 as it is an advanced timers. I will use all 4 channels of the timer for 2 motors so they are both connected to the same timer and clock.
I then used the Cube IDE to figure out which pins are connected to the timers and to configure the mode. Screenshots from cube IDE


I then hooked up everything according to this and the final PCB schematic is found below. I now just have to wait for Brendan to come so we can verify everything and start working on laying everything out and creating the footprint.

To save time, I started working on the footprints of the basic components such as the resistors, capacitors, and other basic components. I watched this video to help me figure out how to assign footprints and what the next steps are.
https://www.youtube.com/watch?v=3FGNw28xBr0
I also added a bunch of diodes to protect the schematic from reverse current. I put these diodes at each source position. Schematics with diodes is below:

After lab, I will go through the entire layout and finalize things.
I also tried to assemble the gate mechanism with the new servo. I asked the TAs for some screws and they were too thick. I tried drilling the holes bigger and the side popped out. I now need to redesign the mechanism and make the holes bigger to make sure we don’t drill and accidentally break any sides. Image of broken mechanism is below

I then redesigned the mechanism using fusion 360 and I will print them on the Bambu Lab P1S when I am in Bechtel.
New design below:

Entry 1: -----------------------------------------------------------------
Date: February 26thStart Time: 9:30 am
Duration: 3 hours
On Wednesday, in ManLab I started off by assembling the wheel I printed last week. I made sure the motor fit the shaft hole I made and that the cards can go into their designated slots. An image of the wheel with the stepper motor attached is found below.

I noted some key problems in the current wheel design. These problems were that there was still some residual nylon 12 powder inside some of the slots and that the motor shaft hole was a bit too big for the current motor. To solve the residual powder problem, I put cards in all the slots and kept wiggling them back and forth until all of the powder came out. Afterwards, I wanted to figure out what was causing the extra space in the motor shaft. I opened fusion 360 to see my CAD design, I realized I had made my design slightly bigger, 5.1 mm diameter rather than 5 mm to account for tolerance. However, the Fuse 1 SLS printer I used was so accurate that this tolerance was not needed. An image of the new CAD sketch done on Fusion 360 is found below. I remove all the tolerances I added.

In the manager’s meeting, Dr Walter and the TAs pointed out some flaws in our PCB design and wheel design. They mentioned that the wheel design shaft was a potential weak point as it could easily break off. I thought of some ways to improve that and I decided that for the next version I will add a fillet to distribute any force put there. They also mentioned some faults in our PCB design. The main ones were that we need to add some diodes to protect against reverse current and that we need to separate the analog and digital voltage input through a ferret bead. I started working on this by adding the ferret bead and fixing it. I also combined my PCB design with Brendan’s schematics for the motor drivers and raspberry pi. I double checked what all the pins do using the cube IDE and I assigned all the pins we need. An image of our pinout using the cubeIDE pin selector is found below.

I also removed the MicroUSB port I had originally added as I realized it would not be needed and it would just take space. I also added an extra UART3 pinout just in case the other one fails. An improved schematic with some of the motor drivers and the TAs and professor’s comments is below. I still need to work on the footprints, adding diodes and suppling powering to everything tomorrow.
I watched these videos to help me figure out the ferret bead and how to add GPIO pins to the MCU.
https://www.youtube.com/watch?v=VBXmCU-VQOw
https://www.youtube.com/watch?v=LvX-Us9VZM0

Afterwards, Krish and I started working on the card feeder. The gears we ordered had still not arrived so we decided to use the old motors we had for now. We wanted to find a material that could be good enough to add enough grip to the rollers in the card feeder to make sure only one card is pushed out at a time. Previously we tried electrical tape but this time we wanted to try something new. We went to the Knowledge lab in WALC to see what supplies they have. In the Knowledge lab we found a bunch of rubber bands and other materials we could use. We found tape, fuzzy metal stings, and different rubber bands. An image of these items is found below.

We went back to lab to test these materials out. The fuzzy metal strings were too soft and did not provide enough friction. The rubber bands were too big and did not fit in my card feeder design. The blue tape offered similar results to the electrical tape. Krish and I thought of an alternative and there were 2 in mind. We could use double sided tape or use mini rubber bands. I though that the double tape would be great but it would wear out over time and cause failures. As for the mini rubber bands, krish and I started searching for some online. We found these bands and we ordered them from Walmart. We will test them out tomorrow before class.

=============== Week 6: =================
Summary: In this week I worked on the PCB/Schematics and on manufacturing the wheel design. Total Hours: 8 hoursEntry 4: -----------------------------------------------------------------
Date: February 21stStart Time: 1:30 pm
Duration: 1 hour
I sliced the new rollers for the card feeder on BambuStudio. I then printed them on the Bambu Lab P1S from PLA.

Afterwards I sifted the printed card wheel on the Fuse Sift machine. This took a lot of time since there were a lot of holes the powder could get stuck into. However I ended up using some compressed air and a toothbrush to get most of it out. The powder was getting stuck in all the notches for cards to fall into.


After I was done sifting, I cleaned the part using some water in the sink and I left it to dry

After that, I talked to krish and we discussed what we should do about the motor situation and the speed being very low. We thought of maybe trying to add some gears to increase the RPM. I talked to my coworkers in Bechtel about 3D printing gears and they suggested we should just buy some metal gears online as 3D printing gears would make it too weak and they would break easily.. I told that to krish and he then sent me a link to order. We were hoping for a 3 to 1 gear ratio to achieve a total RPM of 600. Krish sent me the gears he found and I filled out the order spreadsheet and I ordered them. Next week I will assemble the wheel and feeder and try to get them working.
https://www.amazon.com/Differential-Metal-Motor-Upgrade-RedCat/dp/B08FX2R1JT
Entry 3: -----------------------------------------------------------------
Date: February 20thStart Time: 4:15 pm
Duration: 1 hour
Before class, my team and I met to touch base and work together. I showed everyone my design and we went through all the ports together to make sure there are no errors. We could not spot anything. We traced the design and saw all the needed pins using Cube IDE and we could not find anything missing.
Brendan was sick and could not come so I couldn’t work with him on the PCB. Instead, the new DC motors for the card feeder arrived so Brendan and I started to test their current intake and how fast they could go. We hooked the motor up to the power supply and we started testing the speed and current draw at different voltages. An image of that is found below. The motor speed was less than we hoped for but we’re going to test them out and assemble to see if they could work or not.

I started looking into other motors that could be useful. I thought of getting mini drone motors as they are light, and fast. They don’t have that high of a torque but we don’t need that high of a torque as don’t have that much weight.
Some of the motors I looked into are attached below:
https://www.amazon.com/FEICHAO-Brushless-Multirotor-Quadcopter-Robotcat/dp/B088K82Q46/ref=sr_1_1?s=industrial&sr=1-1
https://www.amazon.com/XIITIA-Coreless-JST-1-25-Connector-Quadcopter/dp/B0D3BXNG4N/ref=sr_1_8?s=industrial&sr=1-8
https://www.amazon.com/ZQToday-Positive-Negative-Repair-Quadcopters/dp/B0DJZ9L8D7/ref=sr_1_7?s=industrial&sr=1-7
Over the weekend we’re going to look at different motors and we’re going to test the ones we currently have and then decide whether to order these or not.
After that I redesigned the card feeder rollers to fit into the new DC motors shaft. I used a caliper to measure the shaft and I designed an online design with measurements I found on amazon for reference a photo of the design with measurements and the new rollers are found below.


My next steps are to print the new rollers and the test the card feeder with the new motor.
Entry 2: -----------------------------------------------------------------
Date: February 19thStart Time: 1:45 pm
Duration: 3.5 hours
At 1.45 pm, Bredan and I met on discord to split up the work. I showed him what I did in lab, and I sent him the video I was using to design it. Video link attached in Entry 1. We layed out everything that needed to be designed and put in the schematic. There was the STM32 and the accompanying peripherals/discrete components, pins for the motor drivers to fit on the PCB(stepper motor driver, DC motor drivers, servo motor drivers), pins for raspberry pi to fit on the PCB, jacks for the power to be connected from the power supply, pins for the light gate to attach to the PCB, and pins for the motors to connect to the motor drivers. We decided that I should work on the general PCB schematic and to setup everything needed for that and that he will work on everything else. I would then work on incorporating what Brendan worked on to the STM32.
I continued to follow the youtube guide to figure out how to set up some of the pins on the STM32. Video link attached in entry 1. I downloaded Cube IDE to figure out the specific pinout of our STM32F4 and to see what pins I needed to activate. For our design I mainly needed the clock, crystal, and UART. Using cube IDE was simple, I selected the chip model we were using, and it gave me the entire pin out. I then selected the features I wanted to implement, and it would light up the pins I needed in green. An image of the cube IDE view is below.


I repeated this step for the clock, crystal, UART, and USB. I then watched the same youtube guide to see what discrete components are needed for each.
Schematic for Crystal:

Schematic for Micro USB:

Schematic For Linear Regulator

UART Schematic:

Complete Design:

After finishing the PCB design I worked on printing the wheel. I went to the Bechtel Innovation and Design Center. I wanted to print the wheel on the Fuse 1 SLS printer as it would not need any supports and offer the highest quality print. I put the design on the preform software to slice it however it was 2 mm bigger than the build plate. An image is attached below.

I reopened fusion 360 and started thinking of ways I could resize it. I thought of making the wall thickness thinner however I did not want to lose any structural integrity as it was only 5 mm and decreasing 2 mm from that would be a lot. I decided that slightly decreasing the shaft diameter would be optimal. An image of that is found below. I decreased the diameter by 5 mm and the design still worked.

Afterwards I resliced the desing and it fit perfectly. I put the design to print on the Fuse 1 printer and I will come pick it up on Friday.

Entry 1: -----------------------------------------------------------------
Date: February 19thStart Time: 10:30 am
Duration: 2.5 hours
This week my goal was to start assembling/manufacturing the main parts of the projects and to finalize the schematics for the PCB.
I started working on the PCB schematics using KiCad. Brendan and I are supposed to work on it but he was busy working on the UART connection so I started working on it. I began designing the general STM32 and its needed passive components based on a tutorial I found on youtube. Link attached. https://www.youtube.com/watch?v=aVUqaB0IMh4
After around an hour I was able to complete all of the basic power, gnd, and booting components needed for the STM32. Photo of this schematic below.

After that, I decided to take a break and start working on finalizing the designs for manufacturing. The CAD design is generally done, however, I have to tweak some things slightly to make them work with our components. I need to change the shaft diameter for the wheel to make it fit exactly with the stepper motor, to redesign the electronics box to add holes for the wires to pass through, tinker with some tolerances to make sure everything fits in the overall design, and increase the size of the electronics box to make sure everything fits and has a place to fall into.
I started by redesigning the wheel shaft using Fusion 360 to make it fit to rmotor. The stepper motor we ordered had just arrived, so I took a caliper to measure it and I used this online design I found on the amazon order page for reference to redesign the shaft hole. Online design with measurements and photo of stepper motor below.


I thought of 2 ways to design the shaft that would attach the motor to the wheel. My first idea was to have there just be an exact hole inside the wheel that the motor shaft would just go into. This idea is good as it is easy to make and includes less parts. However, it is less rigid as the entire torque will be on the motors small shaft. My second idea was to create something that would fit into the motor’s shaft to extend it and then that extended shaft would go into the wheel. This design would solve the torque problem as it would not be split over the entire extended shaft. However, this would increase the total number of parts. I talked to the team about the idea, and they agreed with my points. We decided to stick to the small motor shaft going inside the wheel for now as the wheel weight is going to be light and there is not going to be that high of a torque. Thus, I made a hole inside the wheel that is a female version of the motor shaft. I made sure to apply the appropriate tolerances to account for the differential in manufacturing. Design and sketch are found below.


Afterwards, I showed the design to everyone as I wanted to get a final green light before I slice it and 3D print it. Craig mentioned that we should add something to allow us to home the wheel design to set an initial position for the wheel everytime. We will be using a light gate sensor for the homing, image attached below.

We thought of different ways to add something to allow the design to be homed. We had 3 ideas. The first ideas was adding an extension to the shaft that would pass by the gate. However, since this would be close to the center of rotation this would make it harder to home it at an exact degree. We clearly dismissed this idea. An image of where this would be is below.

The second idea we had was to create a hole/notch in the top of the wheel and when the light gate detects a hole or an empty area it homes. However, it was hard to find a place to put that would not require a complete redesign of the wheel to make the card holding slots wouldn’t hit the sensor as the sensor would have to go slightly inside the wheel wall. An image of where the notch would be is found below.

Lastly, our 3rd idea and the one we ended up implementing was to add some spacing between the wheel and the structure holding it and having a small extended rod there that would pass by the gate without hitting anything else as there will be enough clearance. I made a small sketch design and I extended the wheel shaft to allow for that clearance. Design of extended rod is below. This is not the final design as I wanted to implement it when everything is assembled to make sure I add enough clearance but this was the general idea.

Finally, Brendan and I decided to meet at 1.45 to split up the work on the PCB schematics. My next tasks are to print the wheel and finish the PCB schematics.
=============== Week 5: =================
Summary: In this week I finalized the overall design of the project and components. Total Hours: 9 HoursEntry 3: -----------------------------------------------------------------
Date: February 13thStart Time: 3:30pm
Duration: 4 hours
Before class I started working on the mechanical overview and looking at commercial products similar to ours. All of this work is outlined in my mechanical overview. I then started making a complete package CAD design of our product.

I also spent a lot of time researching the components and how they will be mounted on the PCB. I also made a complete cost, weight and size analysis for all the products. I used the bambu slicer to estimate the cost of all the 3D printed parts and the trotec ruby to estimate the cost of the wooden box covering.
Afterwards, I checked the prices of everything and started working on A7. I put all the prices and details and finished the bill of materials.
I did not add as much details in this entry as alot of it is encompassed in the Mechanical overview and bill of materials.
Entry 2: -----------------------------------------------------------------
Date: February 12thStart Time: 10:30am
Duration: 4 hours
At 10:30 am I met with my team in the lab. Krish and I started by discussing ways to let cards out of the wheel. I thought of 2 options, a servo that opens the gate sideways and a linear actuator that would let the gate up and down. We had a small servo motor so I decided to test it out but it was too slow as the motor had to rotate a lot until it achieved the desired motion. I then started working on a CAD design for an attachment for a servo motor that would perform the gate mechanism by converting the servo rotation to linear motion.
I came up with this design.

After that I sliced the design on bambu slicer to have it ready to print on the bambu P1s

After that, I watched 3 videos about PCB design, specifically about what additional components need to be added to support the STM32F7 chip. The videos I watched are below.
https://predictabledesigns.com/tutorial-how-to-design-your-own-custom-microcontroller-board-video-part1/
https://www.youtube.com/watch?v=3FGNw28xBr0
https://www.youtube.com/watch?v=aVUqaB0IMh4
After that I made a new project on Kicad and then texted Brendan to set up a time to meet to work on the PCB.
After lab, krish and I went to the ME shop to check out a servo motor to attach for the attachment I made. We ended up checking out a 20Kg servo.

After that, I went to Bechtel to print the servo attachment. In the meantime I sifted the card feeder that was printed from the Fuse 1 SLS print using a special formlabs sifting machine. This was to clean off all the powder from it. I then assembled it and tested it. It was much better than our previous print as it had much less friction.


When the servo attachment was done I removed all the supports using pliers and I assembled the design.
The design worked great, however it was a bit stiff and stuck.
Finally, I started working on the overall design of the final project. I started seeing how all the parts would look together.
Entry 1: -----------------------------------------------------------------
Date: February 11thStart Time: 11:30 am
Duration: 1 hour
I went to Bechtel to print the card feeder design on the Fuse 1 SLS printer we have there. I wanted to try printing it there to see if Nylon 12 and this printer would be a more suitable printer for us rather than the Bambu Lab P1S and PLA we already used. I sliced the file on the preform software and put it to print.

SLS prints usually have lower friction and thus would hopefully be more suitable for our designs.
Afterwards, I realized that many of the parts I ordered have high delivery times. Thus, I started looking for alternatives that have faster delivery times and I found some alternatives on amazon. I cancelled the previous order and reordered the new parts. The parts were the stepper motors and motor driver.


After that, Krish told me that the DC motors we checked out from the ME shop were not working so I started looking for motors to order. I looked through several different motor types and options. I thought DC motors would be best as they are faster than stepper and servo motors. I started looking at several DC motor options.
There were 3 options that I considered, Images attached below.
Miniature Hobby Motors:

Reversible Worm geared motors:

DC Centric Output Shaft motors:

I listed all there pros and cons and I realized that a centric output shaft motor would be best due to its high RPM, ease of use, and price. I then talked to krish about it and I ordered it. These motors will be used for the card feeder to drive the rollers.
https://www.amazon.com/Greartisan-Electric-Reduction-Centric-Diameter/dp/B08D3SXJ5H/ref=sr_1_1_sspa?sr=8-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY
=============== Week 4: =================
Summary: In this week I tested and tweaked the card feeder and wheel designs. Total Hours: 8.5 HoursEntry 4: -----------------------------------------------------------------
Date: February 6thStart Time: 5:30pm
Duration: 2 hours
After class, my team and I met up to start working on A5 and to test the new card feeder. I assembled the new card feeder. I also took all the measurements to be able to start designing the wheel. I used a caliper to take all the measurements. I then started the new card feeder.


Afterwards, I started working on the CAD design for the wheel.

After I finished assembling, Krish started working on the motor control. The results are that now we can start working on the computer vision for the card detection and we can finalize the feeder.
Entry 3: -----------------------------------------------------------------
Date: February 5thStart Time: 10:30am
Duration: 4.5 hours
At 10:30 am I met with my team in lab, the first thing I did was I removed all the supports from my 3D printed designs and I then started testing it and see if everything fits. Afterwards, I started seeing if my design tolerances were enough and if a deck of cards fit inside. The cards fit well and the entire design was great.


I was not able to find any rubber bands for the roller so Krish and I started brainstorming alternatives. We thought of wires and electrical tape. I ended up using electrical tape and putting some around the rollers.
I put tape around all of the rollers and I then assembled the model and started running the motors to see if it works.

The feeder was not working when running both motors at the same speed so I decided to connect the motors to an Arduino and start testing it with different speeds and timings to get it worked.
I tested multiple different settings such as having the back motor work at the start and then the front motors turns on and that cycle would be repeated.
Krish and I wrote some Arduino code to do that:

The Arduino kept failing and not uploading the code correctly so I decided to just connect the front motor and back motor to different voltages. I hooked the front motor to 5V and the back motor to 3.3 V. I put a small weight on top of the cards and the feeder worked. It started ejecting the cards one by one.

I started taking note of some improvements needed, most notably, I should decrease the hole size for that the cards can leave from to make sure not more than one card can leave. I also noticed that the motors were way too slow for our required design and that I need to change them for more powerful motors.
Afterwards, I showed the team both Power Supplies I had found and we decided on getting the AGV power supply since it had better amazon reviews.
After class, krish and I went to ME Electronics Shop to get some new motors, we found some powerful 9V DC motors and we checked them out with 2 H-bridges.I then ordered the power supply and a bunch of parts Craig needed for the Wheel Stepper motor, and a Raspberry Pi for Krish.

After that, I began redesigning the Card Feeder using Fusion 360. I incorporated all the edits and comments I noted from testing it. Firstly, I flipped the design so the cards now exit from the long edge, additionally, I made the front roller bigger to make sure only one card can leave at a time, lastly, I added a hole for the camera to be able to detect the card.

I then went to Bechtel to slice the files using Bambu Studio and to print them on the Bambu Lab P1S. I started printing the file for Krish to pick them up later because he lives closer to Bechtel.

The result was that we now have an almost final card feeder design and we got new motors, a power supply, and most of our components have been ordered. The next steps are testing this new card feeder design with the new motors and starting to design the wheel.
Entry 2: -----------------------------------------------------------------
Date: February 4thStart Time: 5:30pm
Duration: 1 hour
After class, I sat down with my team to discuss A5 and what each of us will do. We decided that we have 4 main components, the motors, microcontroller, raspberry Pi, and power supply. I decided to analyze the power supply.
I started researching the power supply we want to use. I found out that there are different types of power supplies we can use.
PC Power Supply:

https://serverorbit.com/cheap-hp-613765-001-power-supply-320w-12vdc-four-outputs-for-8200-elite/?gad_source=1
Switching Power Supply:

https://www.amazon.com/Henxlco-AC-110V-Regulated-Transformer/dp/B010CVIW7E/ref=asc_df_B010CVIW7E?mcid=5ac965500a843b26b92fb539011a00a4&hvocijid=18122201755967530601-B010CVIW7E-&hvexpln=73&hvadid=721245378154&hvpos=&hvnetw=g&hvrand=18122201755967530601&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9016722&hvtargid=pla-2281435179978&psc=1
I wrote down the pros and cons of each type and I decided that our best option is to use a PC power supply as it would make our lives easier since it provided all the voltages we needed without us needing to do any conversions.

I decided that we should spend no more than 50 dollars on the Power Supply and I started looking into possible power supplies within that budget. I found 2 that looked good
Apevia PSU:

AGV PSU:

I decided to not take a decision myself and to wait for the next day so I can take my teammates opinions. This is a crucial step as the power supply is the heart of the project. The next steps are to chose a PSU, order it and start testing it.
Entry 1: -----------------------------------------------------------------
Date: February 3thStart Time: 5:30pm
Duration: 1 hour
I went to Bechtel to reprint my design as last time the print failed. I do not know exactly why the print failed as I wasn’t there when it failed, and someone threw it away before I got the chance to see it.
I suspected that the print failed due to lack of bed adhesion so I resliced the design using Bambu Studio and I added an extra brim for increased bed adhesion.

I printed the design on the Bambu Lab P1S and I kept checking up on it to make sure it went well and worked. After almost 3 hours the print was done and I had a finished prototype for the card feeder, it was only missing the rubber bands that we want to put on the rollers. I started making a plan on how I want to test the design and I started noting what the next version should have different.
The next version should shoot cards out from the long edge and should have a hole for the camera to peak in.
=============== Week 3: =================
Entry 4: -----------------------------------------------------------------
Date: January 30thStart Time: 5:30pm
Duration: 2 hours
After class, we all met to work on our individual tasks. I started by placing an order for some deck of cards to test our shuffler with.
Amazon Link
After that, I showed everyone the CAD design and took their input. They mentioned maybe dispensing the cards in the opposite direction so the wheel takes less space. We decided to keep this design as is and then change the next version if needed. Afterwards, I worked with Krish on testing the motors using an Arduino Leonardo. We tested both motors and made sure they both work.


After testing that I went to the Bechtel innovation and design center to print the parts. Krish will pick them up next day to assemble everything.
The results are that we now have tested the motors and that we are now printing the feeder. We learned that it might be beneficial to store the cards horizontally and not vertically. Additionally, we learned that the motors are too weak, and we need to replace them with something with a higher RPM. This contributes to the project as this is an essential part of it. The next steps are to assemble the feeder and test it.
Entry 3: -----------------------------------------------------------------
Date: January 30thStart Time: 10:30am
Duration: 2 hours
I went to class and saw Krish, I showed him the design and we discussed some aspects of it. He mentioned adding a roller closer to where the cards will be exiting from to make sure the cards will not be pushed upwards. The roller would guide the cards to the exit. I worked on the design and finished it. I added everything and made a semi final design that has all the functionalities. I used Fusion 360 for the CAD design.

Afterwards, I prepared all the STL files for printing using the Cura slicer to be able to print on my Bambu Lab P1S in Bechtel afterwards.
Afterwards, I watched a video to refresh my KiCAD knowledge to prepare myself to make the PCB design. I watched a video on youtube. It was a playlist that explains everything about KiCAD.
KiCAD Tutorial
Afterwards, I research several motor types that we could use and their power consumption I looked specifically into stepper motors and I though this would be best.

The result was we now have a semi-final design for the card feeder and that now I have refreshed my knowledge of KiCAD. This contributes as both the card feeder and the PCB design are crucial steps to our project. The next steps are to actually print the design and test it.
Entry 2: -----------------------------------------------------------------
Date: January 29thStart Time: 2:30pm
Duration: 1.5 hours
I took measurements of everything I needed using a vernier caliper and then I started making a CAD design of the feeder.
Measurements:

I made the design using fusion 360. The design had a roller in the back and a roller in the front and I decided to put rubber bands on the rollers to add grip with the cards. There was a small hole for the cards to leave from.
Initial Design

After that, I tried to print the initial designs in the Bechtel Innovation and Design Center but all the printers were currently occupied. I decided to do that the next day. This print was only supposed to be done to test the tolerance and still needed a lot of edits to make it functional.
The result was that now I have made an initial design for the card feeder and I learned that this is more complicated than expected. This contributes to our project as it is the initial design for a crucial part of our project. The next steps are to print this and test it.
Entry 1: -----------------------------------------------------------------
Date: January 29thStart Time: 9:30am
Duration: 2.5 hours
On Wednesday, in Man-Lab we split into 2 teams to start working on individual parts of the shuffler. Craig and Brandon worked on setting up the environment for the STM32F7 and researched the Raspberry Pi to STM32F7 communication. Krish and I worked on the prototyping and finding a design for the card feeder.
I started researching and looking for similar designs online. I watched several videos while Krish did the same. Some of the videos I watched are attached.
Video 1
Video 2
Video 3
Video 4
Video 5
I realized that there are 2 main design aspects we could take. Either have the motor and wheels push the cards from the top or from the bottom.
Top Design

https://www.youtube.com/watch?v=dx9-wwSQbUE
Bottom Design Idea:

https://www.youtube.com/watch?v=O9pY0kjx0_s
Both designs also needed something to push the cards down, I thought of 3 options, a spring, a weight, or a rubber band. I decided to stick to the weight as it would be the easiest to load and would have the best result as I would design it to be large and thus have the added benefit of flattening the cards.
After conducting my research, I discussed the design options with Krish and we decided to stick to having the wheels feed from the bottom.
We wanted a design that looked like this

After that, we went to look for parts to start prototyping. We went to the ECE shop and could not find anything, however we found what we need from the ME electronics shop. We checked out some hobbyist DC motors. Photo attached.

I checked out 2 as I decided to have one in the front and one in the back and we could control them at different speeds. We also checked out an Arduino to be able to control the motors to test.
We worked on all of this by brainstorming and drawing initial designs on the whiteboard. The result was that we came up with a design for our card feeder and what we learned was that we need a design that almost never fails as the feeder must work as it is the first part of the design. This contributes to our project as if this works we can then start designing the rest of the shuffler accordingly. The next steps to be taken are to make a final CAD design for the feeder, print it, and then start testing it.
=============== Week 2: =================
Entry 4: -----------------------------------------------------------------
Date: January 23rdStart Time: 5:30pm
Duration: 2 hours
We met after class and we were still undecided about the final design. We scheduled to meet with the machinist on Friday at 1.30 pm to take their opinion and come up with a final decision. In the meantime, we decided to split up sections for the functional report and to also split up the project into smaller tasks we can each work on. Our split is found below. We also decided that we wanted to use stepper motors regardless of which design as they are the most accurate, we just have to now research a specific design too get. We also decided we want to use servo motors to open and close gates that can let cards out or keep them inside the bins.

After that we went home and I started working on my section of the functional report.
The result is that we split up the project into smaller tasks and split them up between us. What we learned was that splitting things into tangible tasks was very useful. This contributes to our project as we can now each start roughly planning to what we have to do. The next step is to meet with the machinist and decide on the design, finish the functional report, and research specific stepper motors to order.
Entry 3: -----------------------------------------------------------------
Date: January 22ndStart Time: 9:30am
Duration: 2 hours
In the morning we came to Man Lab and we started listing all the pros and cons of each idea. We came up with a list which can be found in the image below.

Most of us seemed leaning heavily to the wheel idea but we were hesitant as it had been attempted and that it had failed. However, we were convinced that it was easier to implement as the algorithm for shuffling would be easier. The first idea is having 13 bins which can store cards, and that technique would be used to manipulate the cards. The 2nd idea was a wheel made of 52 bins that each store one card. We thought the 2nd idea was easier as we know where each card would be and they would be easier to manipulate. Most of the functionality would be the same the only difference is how do we manipulate the card order, using a wheel or a bunch of bins that go up and down storing cards.
After that we had our manager meetings and we pitched both ideas to the TAs and professor. They all seemed to like the wheel idea more but Krish was not convinced as he thought the wheel, although easier, would be much slower than the other idea. The professor reminded us that this is a mechanical heavy project and he urged us to talk to the machinist before we make any decisions. We tried going to the machinist but he was closed. We decided sleep on it and decide on the idea the day after. In the meantime, we started deciding on some of the functionalities we want and some of the parts we need. We decided we need a raspberry pi and raspberry pi camera for the computer vision, an STM32F7 as our MCU as it has a high processing power, and a PC power supply to handle all our different voltage needs. We decided to research the motors we would need and to decide that later.
The result was that we did strong analyses of both ideas and that we decided on some of the parts we need. What we learned was that both idea are good and similar and they only differ in the actual card manipulating mechanism. This contributes to our project as we can now work on making a CAD for our design and start splitting up tasks to build it. The next steps needed are going to see the machinist to take their opinion and deciding on a final design.
Entry 2: -----------------------------------------------------------------
Date: January 21stStart Time: 5:30pm
Duration: 0.25 hours
Tuesday after class, we met for a bit to set tasks and goals for the week. The tasks were to:
• Start sourcing components/parts
• Decide on design for shuffler(Wheel or Bins)
• Update website
• Finish functional report
We all recapped through the possible designs and agreed to decide on one on Wednesday in lab.
The result was that we made a task list and what we learned is that we need a task list every week to keep us on track. This contributed as it helps keep us on top of things. The next steps are to start sourcing parts and to settle on a design.
Entry 1: -----------------------------------------------------------------
Date: January 20thStart Time: 1:00pm
Duration: 1 hour
On Monday, Krish and I met to work on homework and after we finished, we decided to brainstorm some ideas together. We opened Google and YouTube to see if there is anything like this and we found some similar ideas to what we were imagining.
https://www.youtube.com/watch?v=eMTXyl7tPEk
We then sent our findings to our group chat on discord and craig immediately sent us a video of a similar idea.
https://www.youtube.com/watch?v=EKzgN_-8iP4
From there we found out that there are pretty much two possible designs we could pursue, a wheel design or a bin design.
The results were that we found some similar designs online and we got a lot of inspiration. We also learned that there are two methods we could implement our smart shuffler. This contributes as it now narrows the possible design options available. The next step is to weigh the pros and cons of each design and to decided on one.
=============== Week 1: =================
Entry 4: -----------------------------------------------------------------
Date: January 16thStart Time: 8:00pm
Duration: 1 hour
At 8 pm we decided to meet on discord to work on the final project proposal. We hopped on discord and we all started writing our sections and asking each other questions.
The result was that we finish the final project proposal and what we learned was that we need to do more research into our project idea. This contributes to our project as it is the start of the formalization of our project idea. The next steps are researching the idea and coming up with initial designs.
Entry 3: -----------------------------------------------------------------
Date: January 16thStart Time: 5:30pm
Duration: 0.5 hours
We came a bit early to class to be able to talk to the professor about the idea, however the professor was busy and told us to come after class. After class, we went to talk to the professor, and he liked the idea. The professor mentioned that it was done before and that the group failed in getting it to work due to the heavy mechanical complexity of the project. We were also anxious that we would have to redo the initial project proposal, but the professor told us we don’t have to. After that, we all sat down to brainstorm, and we finally set our project idea and decided that we should all go home and start researching how we can do this and come up with initial designs.
The result was that we decided on a project and what we learnt was that it was going to be a heavy mechanical project. This contributes to our progress as now we have a set project idea. The next steps are working on the final project proposal and researching initial designs.
Afterwards, we all decided to split up the work for the final project proposal. We split everything up and then decided to go home and work on the final project proposal.
Entry 2: -----------------------------------------------------------------
Date: January 15thStart Time: 9:30am
Duration: 2 hours
In the morning, we had Man Lab and we had still not decided on a project idea. We came in the morning and started discussing project ideas. We then had our lab tours and manager meeting with the TAs. In our manager meetings we pitched both ideas we had at the time to them. We pitched the smart guitar amplifier and braille keyboard. They seemed more supportive of the guitar amplifier as it was what we had already decided on. After that, we decided to think about other ideas and to work on publishing the website in the meantime.
After finishing the website, we resumed discussion and craig brought up the idea of the smart card shuffler. We all immediately loved it and started listing all the pros and cons. We then decided to bring up the idea to one of the TAs and they said it’s a good idea and that it has been done before in previous years. The TA told us to bring up the idea with the professor. We decided to sleep on it and ask the professor on Thursday after class.
The result of this was that we found an idea that we all liked and what we learned was that its important to work on a project we all like. The contribution is that this will get the ball rolling for the entire semester. The next steps are getting approval from the professor and to start working on the project.
Entry 1: -----------------------------------------------------------------
Date: January 14thStart Time: 5:30pm
Duration: 0.5 hours
On Tuesday our team met after lecture to set a plan for the semester and start working on the project. Krish and I immediately expressed that we would like to change the project from the guitar amplifier to something else. We did not have a solid idea of what we wanted to do but we know we wanted something more technical and something we would be more proud of. We all started brainstorming some ideas and we explored an old idea which was designing a braille keyboard and screen for deaf-blind people. Krish and I supported the idea, but the rest did not like. After brainstorming and listing pros and cons for 30 minutes we decided to all go home and brainstorm some ideas for when we meet the next day.
The result from this was that we decided to change the topic and we decided to brainstorm ideas that we all like so we don’t end up rushing into an idea. What we learned is that we need to do something we all want to do. This contributes to the project progress as it sets the framework for the entire semester and what project we will be working on. The next steps that must be taken are thinking of project ideas and choosing one as a team.