## 2-25-2025 - 2-26-2025: Starting on Kicad schematic
<details><summary>Click to expand</summary>
2/25:
- We didn't do much. We worked more on the PCB schematic and used ltspice to simulate our lock
- We used LT spice to simulate what how our lock circuit could be set up to all.The resulting cirucit and graph are shown below.
The cirucit uses a bjt to limit current to the lock selectively. The green line on the graph shows how when we send the signal to the bjt the current being
flowing to 30mA then when we disconnected the signal to the bjt the current stopped flowing. Although 30mA isnt the exact Ampages we may want the behavior is what we want.


- We had our TA meeting and we showed our TA the start of our schematic. He told us we should keep traces in mind and that we should go to the the PCB design review on friday. I have to go home this week but my partners will attend
2/26:
- We learned we needed to redo out esp schematic design becuase there are different esps and we were not using the right footprint fo the r one we wanted to use.
- We are reconsidering heating because we dont know if we will have time to implement it and all the other component are more important to the functionality than heating.
- We order some the lock and the temperature.
</details>
## 3-2-2025 - 3-8-2025: Design Doc, started work for Breadboard demo
<details><summary>Click to expand</summary>
3/2:
- Druva sent the PCB design and it passed audit. Also started the design doc.
3/5:
- We finished the Design doc.
3/6:
- We went to the ece shop and bought a dev board for the breadboard demo next week (picture of layout below).
The lock, and fingerprint sensor, the temperature sensor arrived. We tried to install ardino on all three of our computers
but it didnt work for Dhruva and me so we are going to use Rohans computer.
Once we got arduino to work we tested wifi through our devboard using gpio 5 and it worked.
Then we connected the temp sensor to one of the gpios and checked to check that it was working and reading accurately.
At first it didnt read accurate but after ajusting the calibration factor a little we got more accurate readings. We werent
sure if it worked at first so we took it outside while it was a little cold and windy and we saw reasonable decrease in temperature, but it too a little time.

3/8:
- Dhruva got his arduino to work and made the code for the website
- We worked on the bjt ( [(tip120)](https://www.onsemi.com/pdf/datasheet/tip120-d.pdf), with [(current and voltage ratings)](https://www.st.com/content/ccc/resource/technical/document/datasheet/f9/ed/f5/44/26/b9/43/a4/CD00000911.pdf/files/CD00000911.pdf/jcr:content/translations/en.CD00000911.pdf)) lock cirucit with the devboard but we couldnt get it right reason.
So we used our own breadboard and played around with the circuit without the devboard and used 2 power sources in the lab for the 12v and 3.3v.
After changing resistors and trying to connect the the base, collector, and emmitor different ways we, with the help of another group who used a lock, drew the circuit on the
whiteboard to make sure we were wiring it right (drawing below). After doing this and confirming which pins were the base, collector, and emmitor we finally got it to work.
After that we slowly transfered the circuit back to the original breadboad with the devboard and it worked.

</details>
## 3-10-2025 - 3-12-2025: More breadboard demo prep, Demo, PCB order 2
<details><summary>Click to expand</summary>
3/10:
- We tried to wire up the fingerprint sensor to the devboard but
we couldn't connected it. We got it to light up so it was getting power from the esp but
for some reason it wasn't recognized by arduino. We kept trying it but we ended up breaking it by giving it too much voltage to the point where the lights wouldnt turn on again.
We then checked out a new fringerprint sensor from the lab but decided not test it before we figure out the problem.
- We tried to work on the weight sensor, but we were not getting a proper reading, we think it might be that the signal isnt beign amplified enough. We used the ina that came with the sensor but we might use the [hx711](https://cdn.sparkfun.com/datasheets/Sensors/ForceFlex/hx711_english.pdf) as the signal amplifier instead because there is more documentation using it.
- Wired keypad with [matrix scanning](https://cdn.sparkfun.com/assets/7/e/f/6/f/sparkfun_keypad.pdf) to the devboard.
I worked rather consistantly but sometimes wires come loose.
3/11:
- Breadboard demo day. Really early. We showed them the box locks the keypad works and that we have a website. Asked about swithcing to a button on the website
instead of the fingerprint sensor but that would reduce complexity, so we either find another way or make the fingerprint sensor work.
3/12:
- Whole aday was spent on pcb design, We dont think the first pcb will work because of the traces might be wrong because we used auto router,
so this time we manually routed everything.
</details>
## 3-25-2025 - 3-28-2025: Tested the Nichrome heating and the voltage subsytem on pcb order 2
<details><summary>Click to expand</summary>
3/25:
- Both pcb order 1 and 2 came. We forgot to give the parts to the machine shop.
- We tried the different fingerprint scanner but we had the same problem.
- We tried the Nichrome wire on the breadboard with just the devboard and a resistor just to see if it would get hot and it did.
We tried multiple different resistors.We then tried using the same ciruit setup as the lock with bjt so that we could selectively turn on heating but it would no loger heat up.
- We decided to try and replace fingerprint with RFID. We borrowed one from the lab.
3/27:
- Dhruva took the rfid home and got it working.
- We began soldering parts to our second order to test the voltage requlator with the esp using the lab equipment.
We measured the voltages using the multimeter and the correct voltages were not being outputted so we know our order 2 power subsystem is wrong.
3/28:
- We tested all our current parts on the devboard gpios one last time to check the gpios that work for each component.
- We got the wrong weight sensor because its too small, so we ordered a new one.
</details>
## 3-30-2025 - 4-6-2025: Tested the Nichrome heating and the voltage subsytem on pcb order 2
<details><summary>Click to expand</summary>
3/30:
- sent the 2 PCBs files, 1 with the esp chip and one witht he devboard just in case we dont get voltage regulation to work.
4/1:
- TA meeting today, we talked about changing to RFID instead of fingerprint.
We also grading for the final demo and we found out that its most important get the esp chip onto the board and be able to program it.
We also found out that it was ok to have tiny devboards like the hx711 or the ina for the weight sensor.
- We dropped off our paerts to the machine shop.
- We tested the heater with the same setup as the lock again and it wasn't getting noticeable warmer.
We used the multimeter and saw rhat the wire wasn't getting 12V.
@@ -440,93 +286,298 @@ and hopefully only one swithcing regulator placed far enough from the antenna of
</details>
## 2-25-2025 - 2-26-2025: Starting on Kicad schematic
<details><summary>Click to expand</summary>
2/25:
- We didn't do much. We worked more on the PCB schematic and used ltspice to simulate our lock
- We used LT spice to simulate what how our lock circuit could be set up to all.The resulting cirucit and graph are shown below.
The cirucit uses a bjt to limit current to the lock selectively. The green line on the graph shows how when we send the signal to the bjt the current being
flowing to 30mA then when we disconnected the signal to the bjt the current stopped flowing. Although 30mA isnt the exact Ampages we may want the behavior is what we want.


- We had our TA meeting and we showed our TA the start of our schematic. He told us we should keep traces in mind and that we should go to the the PCB design review on friday. I have to go home this week but my partners will attend
2/26:
- We learned we needed to redo out esp schematic design becuase there are different esps and we were not using the right footprint fo the r one we wanted to use.
- We are reconsidering heating because we dont know if we will have time to implement it and all the other component are more important to the functionality than heating.
- We order some the lock and the temperature.
</details>
## 3-2-2025 - 3-8-2025: Design Doc, started work for Breadboard demo, got the lock and temp sensor to work on devboard
<details><summary>Click to expand</summary>
3/2:
- Druva sent the PCB design and it passed audit. Also started the design doc.
3/5:
- We finished the Design doc.
3/6:
- We went to the ece shop and bought a dev board for the breadboard demo next week (picture of layout below).
The lock, and fingerprint sensor, the temperature sensor arrived. We tried to install ardino on all three of our computers
but it didnt work for Dhruva and me so we are going to use Rohans computer.
Once we got arduino to work we tested wifi through our devboard using gpio 5 and it worked.
Then we connected the temp sensor to one of the gpios and checked to check that it was working and reading accurately.
At first it didnt read accurate but after ajusting the calibration factor a little we got more accurate readings. We werent
sure if it worked at first so we took it outside while it was a little cold and windy and we saw reasonable decrease in temperature, but it too a little time.

3/8:
- Dhruva got his arduino to work and made the code for the website
- We worked on the bjt ( [(tip120)](https://www.onsemi.com/pdf/datasheet/tip120-d.pdf), with [(current and voltage ratings)](https://www.st.com/content/ccc/resource/technical/document/datasheet/f9/ed/f5/44/26/b9/43/a4/CD00000911.pdf/files/CD00000911.pdf/jcr:content/translations/en.CD00000911.pdf)) lock cirucit with the devboard but we couldnt get it right reason.
So we used our own breadboard and played around with the circuit without the devboard and used 2 power sources in the lab for the 12v and 3.3v.
After changing resistors and trying to connect the the base, collector, and emmitor different ways we, with the help of another group who used a lock, drew the circuit on the
whiteboard to make sure we were wiring it right (drawing below). After doing this and confirming which pins were the base, collector, and emmitor we finally got it to work.
After that we slowly transfered the circuit back to the original breadboad with the devboard and it worked.

</details>
## 3-10-2025 - 3-12-2025: More breadboard demo prep, got the keypad to work on devboard, Demo, PCB order 2
<details><summary>Click to expand</summary>
3/10:
- We tried to wire up the fingerprint sensor to the devboard but
we couldn't connected it. We got it to light up so it was getting power from the esp but
for some reason it wasn't recognized by arduino. We kept trying it but we ended up breaking it by giving it too much voltage to the point where the lights wouldnt turn on again.
We then checked out a new fringerprint sensor from the lab but decided not test it before we figure out the problem.
- We tried to work on the weight sensor, but we were not getting a proper reading, we think it might be that the signal isnt beign amplified enough. We used the ina that came with the sensor but we might use the [hx711](https://cdn.sparkfun.com/datasheets/Sensors/ForceFlex/hx711_english.pdf) as the signal amplifier instead because there is more documentation using it.
- Wired keypad with [matrix scanning](https://cdn.sparkfun.com/assets/7/e/f/6/f/sparkfun_keypad.pdf) to the devboard.
I worked rather consistantly but sometimes wires come loose.
3/11:
- Breadboard demo day. Really early. We showed them the box locks the keypad works and that we have a website. Asked about swithcing to a button on the website
instead of the fingerprint sensor but that would reduce complexity, so we either find another way or make the fingerprint sensor work.
3/12:
- Whole aday was spent on pcb design, We dont think the first pcb will work because of the traces might be wrong because we used auto router,
so this time we manually routed everything.
</details>
## 3-25-2025 - 3-28-2025: Tested the Nichrome heating and the voltage subsytem on pcb order 2, switched to RFID and got it to work on devboard
<details><summary>Click to expand</summary>
3/25:
- Both pcb order 1 and 2 came. We forgot to give the parts to the machine shop.
- We tried the different fingerprint scanner but we had the same problem.
- We tried the Nichrome wire on the breadboard with just the devboard and a resistor just to see if it would get hot and it did.
We tried multiple different resistors.We then tried using the same ciruit setup as the lock with bjt so that we could selectively turn on heating but it would no loger heat up.
- We decided to try and replace fingerprint with RFID. We borrowed one from the lab.
3/27:
- Dhruva took the rfid home and got it working.
- We began soldering parts to our second order to test the voltage requlator with the esp using the lab equipment.
We measured the voltages using the multimeter and the correct voltages were not being outputted so we know our order 2 power subsystem is wrong.
3/28:
- We tested all our current parts on the devboard gpios one last time to check the gpios that work for each component.
- We got the wrong weight sensor because its too small, so we ordered a new one.
</details>
## 3-30-2025 - 4-6-2025: Got Nichrome heating to work on devboard and worked with programing using the esp prog uart
<details><summary>Click to expand</summary>
3/30:
- sent the 2 PCBs files, 1 with the esp chip and one witht he devboard just in case we dont get voltage regulation to work.
4/1:
- TA meeting today, we talked about changing to RFID instead of fingerprint.
We also grading for the final demo and we found out that its most important get the esp chip onto the board and be able to program it.
We also found out that it was ok to have tiny devboards like the hx711 or the ina for the weight sensor.
- We dropped off our paerts to the machine shop.
- We tested the heater with the same setup as the lock again and it wasn't getting noticeable warmer.
We used the multimeter and saw rhat the wire wasn't getting 12V.
4/2:
- We went ot our TAs office hours and talked about potentially making 3 different PCBS.
1 main PCB witht the chip on it and spce for breakout boards, and 2 mini breakout boards for the ams and the hx711.
We will either make our own breakout boards or use the premade ones we have.
We looked for schematics of the breakout boards online so we could remake it in kidac to build our own.
heres oen that we found for the [hx711](https://cdn.sparkfun.com/assets/f/5/5/b/c/SparkFun_HX711_Load_Cell.pdf).
- After that we went to self ervice to get a bunch of bjts of different tips to test with our heater.
The first on we tested was the tip 120 (the same tip we were previously using) and it worked. Maybe we just fried our original tip 120.
We then tried heating with a duty cycle (for saftey reasons), but it wasnt getting nearly hot enough to feel any difference so we decided to not use a duty cycle and instead have a cut fo temperature.
4/3:
- We got the uart bridge and looked over pcb design. We bought jumper cables and plugged them into our devboard and tried to program it using the prog.
The website wasn't comming up at first but that was because we needed to download somedrivers we didnt know about.
Dhruva brought it home and it worked for the 32d esp ( the one his friend gvae him), but not the esp s3 ( the one we are using)
4/6:
- We found out our prog wasnt working because we neede to download linux because windows doenst have the drivers we needed.
We tested the buck converter we bought to take 12V to 5 ( or aboout 4.7).
We were able to power the esp with it so it works. We decided to change from usb to micro usb for programing.
We were having trouble programing using the uart. We got the green light on it to flash on the prog so it is sending stuff but the esp is not receiving it.
</details>
## 4-7-2025 - 4-10-2025: Got progarming with the UART to work and waiting for PCB3
<details><summary>Click to expand</summary>
4/7:
- We asked a TA when order 3 should come and they said by wensday but today order 4 is due. We tested brograming using the uart again and
this time we got both the blue and green lights flashing meaning that the esp ig getting what is being sent but it still doesnt work.
So we checked that 3.3v was going into the esp when we were progrmaing and it was, then we checked if the voltage across tx and rx and the are always high (3.3v),
then we checked if we had tx nd rx switched they werent, then we checked for
a short by checking the continuity and ther was no short. Then we tried to use other tr and rx pins on the esp and it still didn't work.
We will probably wate for the order to come in to try agian.
4/8:
- We had our TA meeting today. We got an email from the e-shop to come talk about our project but we couldnt make it so we will go tomorrow.
Dhruva got a new uart from his friend so were gonna try it out.
It worked on Rohans computer. We were able to get our program and wifi working.
The we decided to change our code so to a static IP instead of a dynamically allocated one because for final demo we
wont be able to look for it on the serial moniter.
When we tried the static IP we could reach the website. So we tried setting one of the previous dynamically allocated IPs to the static IP and it worked.
And our micro usb came.
4/9:
## Getting started
- We went to the eshop to talk about our box design. We changed from putting the RFID and keypad
on the front of the box to on the top. Everything else is about the same. The PCB didnt come so we couldn't do anything else.
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
4/10:
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
- PCB 3 still didnt come so we cant do anything.
## Add your files
-[ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
-[ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
-[ ] [Set up project integrations](https://gitlab.engr.illinois.edu/tnapier2/ece445-notebook/-/settings/integrations)
## 4-14-2025 - 4-18-2025: Working on order 3 PCB, WIFI, RFID, and Keypad works on board
<details><summary>Click to expand</summary>
## Collaborate with your team
4/14:
- Pcb order 3 came and we picked up our box from the machine shop with the keypad and the RFID on the top.
-[ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
-[ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
-[ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
- We started soldering connectors to test the traces, but then we tried to unsolder them to use the stencil. Instead we just used a new pcb.
We then used the stencil to put only the esp chip to the board then we hand soldered the
to test the connection and test the uart bridge.
We tried to program the esp for our website
but we didnt have reception in the lab. The once we had reception it still didnt work because we had rx and tx switched.
Then it programed but the IPs didnt work. We tried to hold the wires out of potential keep out zones,
but it didnt work. Finally we tried a basic wifi test sketch and it worked.
Then we started setting up our power subsystem and authentication by soldering
screw terminals for the keypad. Power subsystem was working but we couldnt test
the keypad becuase the screw terminal screws were too small for the screw driver.
We decided to keep our order 3 board for guaranteed 20 points.
## Test and Deploy
Use the built-in continuous integration in GitLab.
4/15:
-[ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
-[ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
-[ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
-[ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
-[ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
- We had to desolder the screw terminal we put on the board becuase we couldnt find a screwdriver for the screws, then we went
to self service to get more connectors. We also bought some ribbon cnnectors and soldered them.
***
- We trie to test the RFID on the board but it wouldnt turn on. We thought maybe it wasn't getting enough power from the prog or maybe the traces were wrong,
so we tried powering it with the lab equipment but it still didnt work. So then we took the RFID off the top of the box and used lab equipment and it turned on.
We then checked the voltage it was getting (came out to 3.2V), which should be enough. So then we checked that it was getting enough current
and it was drawing 100mA which is enough. So we continued wiring the RFID up so that it would send information and not just turn on.
We got a communication failure and we thought maybe the esp pins werent soldered well, so we checked the continuity but it was connected properly.
Then we changed the baud rate and it still didnt work, then we checked the wiring but it was right. The we checked the current through the esp and rfid and both got 100mA which should be enough.
We checked the sda pins and it was outputing 1.8V but we need 3.3V so this is the proble. We thought the problem might come from a short or poor soldrering.
So we resoldered and checked for continuity problems but everything was good. We tried new code, still didnt work.
# Editing this README
- TA meeting: We asked some questions, right now with PCB3 we have at least 20 points by our TAs standards.
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template.
- We tried the RDIF on the devboard and checked the voltage (2.8V). Then we noticed that some of the pins were wrong in the code
we fixed the code, retried it on the pcb and it worked. Another problem it could have been was that the pcb was sitting on metal.
We screwed it back to the box and it worked. Next we soldered the keypad wires to the pcb, then tested it and it worked. Officially the whole authentication subsystem works.
tomorrow if pcb4 doesnt come we will work on the temp sensor.
## Suggestions for a good README
4/18:
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
- PCB 4 might not come so we will try to do as much as we can with order 3. All thats left is weight, lock, temp, heating.
## Name
Choose a self-explaining name for your project.
- We soldered on resistors, bjts, and screw terminals, elongated wires for weight sensor, tested power with barrel jack.
We attached the buck to to the 12V anc checked the output ( it was 4.7V), connected the AMS and it did output 3.3V as intended.
We tested the lock, and at first it wasnt getting power but then it worked.
## Description
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
- Only temp sensor hearing and weight sensor left.
## Badges
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
## Visuals
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
</details>
## 4-21-2025 - 4-27-2025: We got all the subsystem to work on the PCB4 for our final project and prepared for the Final Demo
<details><summary>Click to expand</summary>
## Installation
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
4/21:
## Usage
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
- Order 4 came. We went to self service and got more connectors, screw terminals, and bjts.
We soldered all the surface mount components( capacitors, resistors, esp) using the oven. We had a little trouble with the stencil but get fixed it .
Then we hand soldered the ams, bjts then tried programing. We had tx and rx wires flipped but then we fixed it.
Then we wired up the buck and the 12V source to check that the esp would get 3.3V and it did so the power subsystem works.
Then we wired up the keybpad, and after fixing some wiring it worked. The we wired the RFID and it worked.
## Support
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
- We decided to oder a new capstone heating that would be less finicky to work with and safer thsan a live wire of Nichrome.
## Roadmap
If you have ideas for releases in the future, it is a good idea to list them in the README.
4/22:
## Contributing
State if you are open to contributions and what your requirements are for accepting them.
- We soldered the weight sensor wires and set up the temp sensor. It worked but we had to be careful that none of the wires touched so we taped them.
We wired up the lock and it worked.
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
-For demo we showed the temp sensor, lock, Keypad, and website.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
4/23:
- We got some holes drilled into our box for wires to go through. Then we tested the weight sensor, solder and used jumpers for the hx711
for the weight sensor. It programmed but the readings were off. We tested for continuity of the wires we solfered to the weight sensor wires,
changed the code, then it worked so now Box Mechanism subsytem works. We added code to our main code for RFID and wired up. We tried
the weight sensor, temp sensor, lock, RFIED, and keypad all together and they worked.
4/24:
- The new Capton heater came so we wired it up and it worked, so now all of heating subsystem works but the temp sensor only reports about a .2C change evey 30 sec.
The full box works! We contemplated using 2 capstones to make it hotter faster but decided against it for saftey reasons.
- Started working on documents for the final demo
4/25:
- Ran through our presnetaions, split up part, and put our final touches on the documentation. The final Demo is tomorrow
</details>
## Authors and acknowledgment
Show your appreciation to those who have contributed to the project.
## License
For open source projects, say how it is licensed.
## Project status
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.