Project Journal for Hannah Roddy
=============== Week 14: =================
Entry 2: -----------------------------------------------------------------
Date: April 22ndStart Time: 9:30am
Duration: 1 hours
On this day, our team gathered and buttoned up our project and met with the course staff to demonstrate our design, and everything went well.
Entry 1: -----------------------------------------------------------------
Date: April 21stStart Time: 1:30pm
Duration: 1 hours
We had been having trouble with the user push buttons that we chose, and the connections of the wires directly to the pad being unreliable and prone to disconnecting during testing, so I decided that I should come up with a different solution. One issue I was personally having with the way that the buttons were on before was that it was clunky and I wanted the design to be more modular.
On this day, I spent some time adding the hardware to support the addition of the battery monitor module. What I did for this was I soldered a header to the underside of the battery connection so we could attach the board’s native battery connection to the module’s battery connection. On the board side, I soldered the male end two jumpers to the outside of the battery terminal connection to the board, choosing the outside to ensure that nothing bad ended up happening with the battery. Then I tested probed it to make sure that the module was getting the same power as the board when the battery was only attached to the board, and everything looked good. However, later this day, our team decided not to include this functionality for Tuesday's demo.
Board connection
Terminals
=============== Week 14: =================
Entry 4: -----------------------------------------------------------------
Date: April 17thStart Time: 9:30am
Duration: 2 hours
On this day, I made it a goal to try and last-chance resolve the battery monitor issue. I was going to attach the module to the other I2C input by soldering on headers to the other connections to the SDA and SCL lines to the micro so that we could verify that the issue was hardware related, and we could think about implementing the module more permanently. After I put on the headers, I thought about how the module also needed 3.3 V and ground, so I attached flywires with female end connectors to vias that were attached to our power and ground plane.
(flywires)
(module connectors)
For testing purposes, we would attach the LiPo battery to the connector on the module and then power the MCU using USB since there wasn’t going to be any battery power to the board. When we plugged it in and Zoe configured the other I2C line, we were able to see that the battery was showing a charge of 84%, which we believed to be accurate. This confirmed that it was a hardware issue for me, but I continued to try and search the internet for problems that people frequently had with this part. I eventually took a look at the schematic for the battery monitor module that we were using, and they chose 4.7k ohm pull up resistors for the SDA and SCL lines, so I decided to switch out our 10k resistors for the 4.7k ones. After I did that and we hooked it up, we were seeing 0% charge instead of something like 22k% charge, which indicated some sort of progress.
(charge)
When Zoe ran the debugger, we saw that the program was getting stuck in the I2C function, waiting for an Rx packet from the IC. Then to continue to debug, Zoe and Cole hooked up the SDA and SCL lines to the oscilloscope to see if they could see any indication of the MCU communicating with the IC and there was nothing coming from it, but the pins weren’t the issue since we were able to see that they could be configured to GPIO. From there, we were able to determine that it was a hardware issue officially.
Entry 3: -----------------------------------------------------------------
Date: April 16thStart Time: 9:30am
Duration: 2 hours
During man lab, we were looking at the buttons and they were starting to kind of peel off a little, so we decided to bring the buttons into their permanent form. This included shortening them, resoldering them to the button terminals, and putting the heat shrink on the top to make sure that the button connections will stay to their best ability. I asked Shivam where the heat shrink was, and he unlocked the closet so that I could go in and grab it. Zoe helped hold the buttons down while I resoldered them which helped a lot, and she cut up the heat shrink and put the heat shrink on and it looked really good.
Also, they brought it to my attention that earlier, I put the little button on the wrong way because I didn’t check and just assumed that it was correct cause it was the only footprint that would work. Mark took them off earlier but then we were missing two more of the pads for the button, so now we were missing three out of four buttons. I said that we could still put on a button, but we would have to be creative, but they said that we would just get rid of that functionality all together.
(Bad NRST button)
For the rest of the time, we waited to have our manager meeting with the professor and all observed / supported Zoe while she tried to get the metadata of the study sets to show on the screen to signify the user's progress on their study deck.
Entry 2: -----------------------------------------------------------------
Date: April 15thStart Time: 9:30am
Duration: 1 hours
On this day, I went into the lab to put on the last button, support for the RTC feature, and the switch. The capacitors for the crystal oscillator were labeled as 6pF, but we didn’t have any in the 0805 size and google said that it is important you don’t use too high of a capacitance for crystal oscillators, so I decided I could still make a good connection with the 1206. I grabbed the 5.6pF and put some solder on all four of the pads and used the heat gun, holding the part down with a pair of tweezers, and made sure the caps made a good connection even though they were too big.
Then I put on the 32 kHz crystal oscillator on the board and attached a small switch to the fourth set of button pads, looking kind of crusty, but I knew that we were going to replace it later, so I didn’t try too hard.
Entry 1: -----------------------------------------------------------------
Date: April 13thStart Time: 1:30pm
Duration: 2 hours
We had been having trouble with the user push buttons that we chose, and the connections of the wires directly to the pad being unreliable and prone to disconnecting during testing, so I decided that I should come up with a different solution. One issue I was personally having with the way that the buttons were on before was that it was clunky and I wanted the design to be more modular.
So, I decided I wanted to be able to plug it in so I went into the lab thinking that I would be able to solder headers to the holes in the board. However, when I got there, I realized that when we originally designed the board, we designed the button vias too small to put a header in. I grabbed the curved headers and cut them into individual headers and tried to get enough solder on the pad to solder the headers to the top of the pad.
Then, I cut the heat shrink off the original buttons so I could desolder the original wires off the buttons. I chose jumper wires to be able to plug the buttons into the headers, so I found wires that had a female end on it and cut off the other side, stripped the casing on the wire and soldered it to the original solder on the buttons. From there, we were able to plug the buttons in and out, though the connection was really delicate and I presented this idea to my team.
Old button design
Old button design
New button design
=============== Week 13: =================
Entry 6: -----------------------------------------------------------------
Date: April 10thStart Time: 1:00pm
Duration: 3 hours
On this day, I went into the lab because I forgot to fill the ground plane and to finish putting on the SD card reader components on the board so the software people could test it. Also, Zoe was reading that the battery charge was over %30000 percent and I thought that might have been a hardware issue because I was uncertain that the part was soldered on completely due to the difficulty related to the packaging, so we brought it up to the ECE shop to x-ray it, but when we looked at it, they said that all of the connections looked good. They were facing quite a few issues so I stayed to help if I could be any use and to answer any hardware questions if they had them.
Entry 5: -----------------------------------------------------------------
Date: April 9thStart Time: 1:00pm
Duration: 3 hours
In man lab, we discussed our progress as a team. We currently have four out of five of our PSDRs working, which means that the only PSDR we have left is to make sure the interface between the micro and the microSD card works. Because we are still missing the microSD card reader, we weren’t able to work on this component today because we are still waiting for this part to show up from procurement, so we decided to work on adding the battery monitor components, which is a block that isn’t a PSDR but is inherent to the function of our design. Attaching this part to the board has posed a particular challenge because of the packaging of this IC. The package is so small and the pads don’t extend past the package so that it was impossible to solder it to the board in any traditional way.
Then, in order to test this section, I soldered a flywire to a 5V via and to one of the pins connected to the ground plane (USB ground). When we plugged it into the load, we were reading 0V on the output terminals, so we needed to figure out what was wrong. The first thing we did was take it up to the ECE shop to use their x-ray to ensure that the inductor was making a good connection to the pads since we weren’t able to see it visually. They said the connections looked good so we were kind of stumped. We spent a lot more time debugging before we were able to figure out what the problem was, enlisting the help of multiple TAs. I ended up checking the pinout of the IC on the datasheet and compared it to the pinout we had on KiCad just to make certain they were the same, and it looked like pins 4 and 5 were switched on the KiCad pinout and the datasheet pinout.
It took me quite a while and some creative thinking in how to attempt this. In our manager meeting, we gave the professor an update on where we were at, and that we are anticipating finishing the functionality of the device at the end of this week, but likely won’t have the packaging done until next week, so we were aiming to get the bonus 1%. In this meeting also, the professor gave advice on how to place the battery monitor component and that I should consider using solder paste and the heat gun. After the meeting was over, I considered this option. I got the solder paste out of the fridge in the lab and viewed the options for the extrusion of the paste onto the board. However, I determined that I the nozzles were still way too big for the size of the pads, so I decided to continue struggling trying the method that I was using originally. I was eventually able to get it I thought just after class ended and soldered the rest of the supporting components onto the board. I plugged in the battery and tested that voltage was able to go across two pins which would ensure that at least those two pads were wetted to the board, so we will see tomorrow whether the software is able to run confirming that the part is well connected.
In the evening, I finished the final version of the ethical analysis section, added my in-text citations and formatted my works cited section which took me about an hour.
Entry 4: -----------------------------------------------------------------
Date: April 8thStart Time: 9:30am
Duration: 1 hours
On this day, I spent a small amount of time working on the environmental and ethical analysis document. I took the research that I did for the environmental impact analysis and translated it to paragraph form, finishing this section, and then I began to do some research on the ethical concerns that our product might create if it was brought to market.
Entry 3: -----------------------------------------------------------------
Date: April 7thStart Time: 9:30am
Duration: 3 hours
On this day, I originally came into the lab to put some of the additional button debouncing hardware onto the board, so that the team could test the buttons when they showed up. Then, Zoe went to test the data transfer between the micro and the computer via the USB, but she was having trouble seeing any data be transferred. My role in this is that I supplied hardware support, attaching fly wires to appropriate locations so that she could read the transfer via the oscilloscope. I helped where I could while simultaneously in the down time beginning to work on my individual report due at the end of the week, reviewing the examples and beginning to research.
Later this day, I continued to research and create an outline for the environmental impact of our device, making progress on my individual report due at the end of this week.
Entry 2: -----------------------------------------------------------------
Date: April 6thStart Time: 9:30am
Duration: 3 hours
On this day, I spent some time adapting a design for our packaging using Fusion360 on the school computers.
This original design was meant to house the 4.2 in Waveshare display that we are using for our project, but of course, needed to be adapted to support the components that we have included in our design. Because I am really not familiar with the software, it took me a while to get acquainted with it as well as make the edits that I was hoping to make here, which is why some of this took me so long.
The edits that I made was I extended one of the sides and created a large hole cutout to support the buttons in the top half of the shell. In the bottom half of the shell, I cut a hole in the side to leave enough room for our I/O like our USB port or a switch before we decide exactly where everything is going to be in the final version. I then needed to go back and add a hole in the top half of the shell since they were meant to fit together.
Then, to make sure that the two shell halves fit together, I threw it into AI which helped me make the proper cut-outs, though I’m not quite sure this is exactly right so I might go back and check before I end up printing.
After this I spent some time tweaking both of the designs to make sure everything lined up as I hoped they would. Then, I presented this version of the design to my team for questions or comments before I do a print request for this design version.
Entry 1: -----------------------------------------------------------------
Date: April 5thStart Time: 1:30pm
Duration: 2.5 hours
On this day we all met as a team to focus on integration. After I soldered the micro and the support components on the board yesterday, Mark came in today to look for any shorts that I didn’t catch in my check from the day before and he found a couple of shorts that he fixed and put the programming header on the board. When we went to flash the micro, we realized that we didn’t have the components on the board to support the negative reset. I put those components on the board (buttons and resistor) as well as the LEDs for debugging. Cole was able to see that the micro was able to be flashed, but we realized our button layout was configured in the wrong direction so we had to pull up the button that we ordered and I placed two pins of the 270 buttons on the board sideways onto the correct pins.
From there, we were able to flash the board, plug in the e-ink display and see that we are able to use the SPI interface to communicate between the micro and the display using our team’s design which was really exciting for everyone. After we realized we couldn’t test data transfer because our USB-A port was broken, we decided to break for the day and are expecting to check off 3 preliminary PSDRs on Monday.
=============== Week 12: =================
Entry 6: -----------------------------------------------------------------
Date: April 4thStart Time: 1:00pm
Duration: 4 hours
On this day, I went into the lab and Mark had found the correct resistor for the voltage divider for the switching regulator. Then I put on a 0-ohm resistor to connect two pads to short the battery from the battery terminal to the ICs that it needed to go to. From there we were able to verify that the regulator worked with the battery and added a flywire to the USB voltage pad so that we could verify that the recharger at least switched. We then got one of our PSDRs checked off.
When testing the recharging IC, we were not able to see reasonable outputs on the pins that we get the status for, and we realized that we needed pull up resistors on three pins that I didn’t add when I was making the schematic originally. Mark was able to determine though, that we will hopefully be able to pull up those pins internally to the microcontroller, so hopefully that works, but we spent some time trying to figure out how to rectify my mistake.
Then I soldered on the microcontroller and the decoupling capacitors such that the software teammates can come into the lab and start testing with this micro. After I soldered on all the pins, I visually verified that there were no shorts and spent some time continuity checking all the microcontroller pins. This took quite a while, since I individually soldered every pin, but hopefully everything works out.
Entry 5: -----------------------------------------------------------------
Date: April 3rdStart Time: 1:00pm
Duration: 5 hours
On this day, I finally received the last component we needed for the voltage regulator in the mail to my house. After I picked it up, Mark and I met to continue working on the board. We already had all of the components related to the voltage regulator, recharger, and USB to UART on the board from the day before, so to be able to test the voltage regulator, we simply had to place the inductor. We realized however that the pads of the inductor were all the way on the bottom of the part with no access to the pads from the outside at all, so I placed some solder on both pads and used the heat gun to wet the pads to the board. We could tell that it made a good connection because once the solder heated up, it kind of wiggled and then sunk.
Then, in order to test this section, I soldered a flywire to a 5V via and to one of the pins connected to the ground plane (USB ground). When we plugged it into the load, we were reading 0V on the output terminals, so we needed to figure out what was wrong. The first thing we did was take it up to the ECE shop to use their x-ray to ensure that the inductor was making a good connection to the pads since we weren’t able to see it visually. They said the connections looked good so we were kind of stumped. We spent a lot more time debugging before we were able to figure out what the problem was, enlisting the help of multiple TAs. I ended up checking the pinout of the IC on the datasheet and compared it to the pinout we had on KiCad just to make certain they were the same, and it looked like pins 4 and 5 were switched on the KiCad pinout and the datasheet pinout.
To solve this, I thought I might be able to solve it with just fly wiring to a different pin. Going down this route, would require forgoing the PG functionality which is an output that describes whether the IC is giving the correct output or if there was something wrong, which we technically don’t need, we could just probe the pin if we think something is wrong. This would require scraping out the trace between pin 5 and R4, removing R6 all together and fly wiring from R6 to pad 1 on R4 to complete the voltage divider network.
Once I did this, we were able to see 2.6 V on the output pad, which is lower than the 3.3 V we are expecting. We think that we’re dropping some voltage over the long flywire so we need to adjust the resistor in the voltage divider network to output 3.3, but we need a resistor that we don’t have today so we decided to continue that on the next day, asking for advice on what resistor to use.
Entry 4: -----------------------------------------------------------------
Date: April 2ndStart Time: 9:30am
Duration: 3.5 hours
On this day, I started making the update to the CAD model to start printing the first version this week. The school computers have the SolidWorks program on them, so I spent some time familiarizing myself with the program and to do this I practiced using the extrusion tool for each face by erasing the Quizlet logo from one side of the shell.
During man-lab, Mark and I decided to continue assembly of the parts on the board even though we didn’t have the correct inductor, just getting the parts on the board so we are ready when we finally get it.
Entry 3: -----------------------------------------------------------------
Date: April 1stStart Time: 9:30am
Duration: 2 hours
On this day, I finally met up with Zoe to work out my issues with the battery monitor code. I gave her the code that I wrote earlier in the semester that I was able to get to work on my ESP32 in python and she translated it to C and chose unused ports on our dev board and I helped set it up the way that I was trying to get it to work before. This resulted in her being able to see the accurate output on the SD card, so now this functionality can be integrated.
Additionally, I placed the order for the inductor that was out of stock on Digikey and sent it to my house to hopefully get reimbursed later. I also started putting some of the support components for the voltage regulator on the board so once we get the inductor in the mail, we will be able to put in on the board and start testing immediately. I also spent some time coming up with a plan of how I’m going to edit the mechanical CAD design so that I can get a start on printing the first version later this week.
Entry 2: -----------------------------------------------------------------
Date: March 31stStart Time: 9:30am
Duration: 2 hours
On this day, I continued to struggle with the battery monitor module, kind of going in circles of nothing getting done. However, when giving an update on this portion of the design, I said that if I wasn’t able to finish up this component on this day, that I would reach out for help from either Zoe or Cole. This was frustrating because I really wanted to be able to do it unassisted, but I believe that in the end I was having some hardware issues with the interface between the board and my laptop, so it would be much easier to get the code to run on someone’s computer that I know would work. This will hopefully be easy because in the prototyping phase earlier in the semester, I was able to interface the battery monitor dev board with my esp32 while our other STM dev boards were in use and I was able to get it to work, seeing values that made sense given the conditions of the battery we already had.
Entry 1: -----------------------------------------------------------------
Date: March 30thStart Time: 4:30pm
Duration: 2 hours
I speak about it more in depth in the next entry, but for a long time, I futilely tried to work on the battery monitor, watching YouTube videos and trying to follow tutorials but having quite a bit of trouble. No results.
=============== Week 11: =================
Entry 3: -----------------------------------------------------------------
Date: March 28thStart Time: 9:30am
Duration: 1 hours
During our lab earlier in the week, Shivam suggested that we start working on the mechanical packaging of our design because resources are going to start becoming strained once more people make more progress on their senior design projects. We already had initial cad designs that we generated for the mechanical report that I did earlier in the semester. Today, I identified some placeholder parts so I can tweak the design on AutoCAD to potentially print in the next week or so. I identified a button and a switch so I could get some size specifications for the updated model version, and I chose the two pictured below as placeholders.
Entry 2: -----------------------------------------------------------------
Date: March 27thStart Time: 9:30am
Duration: 2 hours
On this day, I continued to work on the charge monitor, making a small amount of headway, but have not yet been able to resolve the significant number of errors I get when I try and run the code that I’m almost certain should work. This part is taking me a lot more time than I initially anticipated it should take, so I am going to continue to work on it over the weekend.
Entry 1: -----------------------------------------------------------------
Date: March 26thStart Time: 4:30pm
Duration: 4 hours
On this day, I was hoping to make significant progress on the code for the battery charge monitor. During our prototyping phase, I ensured that our team would receive important data from this part, prototyping it with the ESP32. I wrote a script for this, and the output looked as expected, so I was hoping to easily convert it to C for the STM32 that we are using for our project. However, I have been having a lot of trouble with setting up the translation, so on this day I spent roughly two hours working on it and getting virtually nowhere.
During man-lab, our team received the finished PCB that we ordered. The PCB has three of our ICs that we thought would have sensitive enough packaging such that we thought it would be important enough to have them soldered to the board by the manufacturer. These parts include the USB to UART bridge, the voltage regulator, and the battery recharging IC. During this time, we looked over our five boards to try and identify any manufacturing issues and probed all of the power planes in order to identify any shorts between any major components. Below shows the board that we received.
For our iterative test of our PCB, we were going to start with the power related components. For this, we started gathering a BOM for the supporting components for our power ICs and identified what we did and didn’t have.
Following this, I submitted an order for our components to procurement.
=============== Week 9: =================
Entry 3: -----------------------------------------------------------------
Date: March 12thStart Time: 9:30am
Duration: 2 hours
During this two-hour period, we met with the professor to review our PCB design, address any outstanding questions, and ensure that our approach met all necessary requirements. After discussing key aspects of the design, we received approval to move forward with purchasing the necessary components and manufacturing the board. For the remainder of the time, I assisted Mark in preparing the board for its final review by the course staff, making any last-minute adjustments and ensuring that everything was in order before submission. This review was crucial for catching any potential issues before finalizing the order.
Entry 2: -----------------------------------------------------------------
Date: March 11thStart Time: 9:30am
Duration: 3 hours
On this day, I spent some time trying to get the thermal pads on the voltage regulator part to look exactly as it does in the datasheet. It had been previously set before, but I was able to fix it such that it had the proper fills.
I also made sure that the part was correctly grounded, verifying that the connections were robust and that the ground plane provided adequate thermal relief. In addition to these adjustments, I added the authorship silkscreen, ensuring that our design includes proper labeling for documentation and reference. These refinements contribute to both the functionality and professionalism of our PCB layout. This will bring us to pretty much completely finished with our project, so that it can be reviewed and ordered in man lab tomorrow. In the evening, I spent about an hour formatting the powerpoint such that it would be ready to present the following day.
Entry 1: -----------------------------------------------------------------
Date: March 9thStart Time: 4:30pm
Duration: 3 hours
After the design review, it was decided that we should just go ahead and re-route pretty much the entire board, so I spent some time re-routing all of power related parts. This includes the original routing and part placement of our new voltage regulator.
On this day, I also spent some time filling out our to do list that Zoe made to track our progress for the rest of the semester. I filled in that I would take a significant role in the population of the board and the mechanical design, taking a role in tweaking the design file and printing it out.
=============== Week 8: =================
Entry 5: -----------------------------------------------------------------
Date: March 6thStart Time: 9:30am
Duration: 2 hours
On this day, I decided to change part that we will use as our voltage regulator after our design review from yesterday. Because of the complexity of our design, we have many QFN package parts, and because the voltage regulator is such a sensitive part, we decided to go a different route for the regulator footprint.
The new part I chose is the TPS63802, a high-efficiency buck-boost converter that can regulate our 5V input to the required 3.3V output. I found this part appropriate due to its wide input voltage range of 1.3V to 5.5V, adjustable output voltage range of 1.8V to 5.2V, and its ability to provide up to 2A output current, which meets our design requirements.
One major decision that went into the choice to use this part is that the PCB and schematic design was available on webench, additionally it would give us a BOM which would allow us to be certain about this part’s layout. Because of this, I threw it into Webench and got PCB layout and schematics.
After this, I wanted to start designing it in Kicad, so I downloaded this part’s footprint form Ultra Librarian and added it to our parts library since this package wasn’t available on Webench. After this I created the schematic based on the Webench suggestion.
Entry 4: -----------------------------------------------------------------
Date: March 5thStart Time: 9:30am
Duration: 2 hours
On this day I spent two hours reviewing the designs from other teams. The two designs presentations that I was assigned to attend were by group 12 and group 8. Group 12 was related to fish tanks and was really interesting because they had a really complex power system, so it was interesting to see how they balanced all of the different power rails. One major critique that I noticed was that they wanted to use USB to their micro but were just plugging in the USB to the GPIO instead of the dedicated USB port for their microcontroller. The next group that I reviewed was team 8 which was using GPS and LoRa to create a mesh network to find your friend’s beacons in public spaces. This design was particulary interesting as I have experience using GPS and LoRa professionally. I noticed that they were getting really good GPS fixes to the satellite, which I would assume required a lot of power. I had questions about their power source and suggested the inclusion in my comments.
Entry 3: -----------------------------------------------------------------
Date: March 4thStart Time: 9:30am
Duration: 2 hours
I started this day spending an hour preparing for our afternoon presentation. It was agreed upon that I would detail the mechanical design, project overview, and Mark and I would split the schematic and pcb design slides.
Following this, our team gathered for our design review presentation and we received feedback mostly for our PCB. The professor suggested that we move power and ground planes to the outer layer of our four-layer board so that we could have more important routing traces be on the outside for us to be able to probe. Additionally, they had some comments about via sizes and angles of traces. It was also brought to our attention that we had many ICs with pads on the bottom which would make it difficult to solder so we should make some considerations about how we want to go about that.
Entry 2: -----------------------------------------------------------------
Date: March 3rdStart Time: 9:30am
Duration: 3 hours
In the morning, I met with Mark to touch base on what deliverables we needed to have before our presentation tomorrow. Since he was working on the PCB at the time, I went into the lab to figure out how to do our footprint verification. I ended up adding an extension to my kicad in order to be able to export all of the layers to PDF. I went to WALC to print this out and since we hadn’t gotten our parts in the mail just yet, I figured the only thing to prove the footprint was to get some 0805 components to place them on the printed out version of our PCB.
In the afternoon, my team met up for a team meeting to make some decisions and prepare for our presentation.
In the evening, I spent about an hour formatting the powerpoint such that it would be ready to present the following day.
Entry 1: -----------------------------------------------------------------
Date: March 2ndStart Time: 4:30pm
Duration: 2 hours
On this day, I dedicated a couple of hours to refining the PCB layout, focusing specifically on routing all components associated with the battery management system. This included the battery itself, the buck/boost converter, the charge monitor, and the recharging circuitry. I meticulously routed these components to ensure efficient power distribution and signal integrity while optimizing their interfaces with the microcontroller.
In addition, I incorporated strategic via placement to reinforce connectivity to the ground plane and the 3.3V power plane, which we decided should occupy two of the four layers of our board. This involved carefully considering current return paths and minimizing potential noise issues. I also verified clearances and trace widths to ensure compliance with design constraints and manufacturing requirements. Throughout the process, I made iterative refinements to improve overall layout efficiency and thermal management.
=============== Week 7: =================
Entry 5: -----------------------------------------------------------------
Date: February 27thStart Time: 9:30am
Duration: 3 hours
I started this day trying to write the code to configure the I2C communication from the charge monitor to the microcontroller. However, I spent a great deal of time trying to set up my environment to run code on this specific microcontroller probably super inaccurately, so I am going to have someone who already has it set up help me. I am not anticipating writing the actual code to be too difficult, since I was already able to get it to work in micropython, so environment setup is probably the most arduous part of this.
Then, I started working on layout. I realized that initially I placed the wrong USB part, so I found a suitable USB-A part that would accommodate surface mounting. Then I placed the USB to UART supporting components to go with this.
Since I had already finished the placement of the three power components, so I started routing the traces from the IC pins amongst its supporting components. I did this using appropriate trace widths for the ICs with sensitive components.
Additionally, I started creating ground and power planes and attempting to do the differential pair routing for the USB line, but was having trouble so I will continue that another day.
Entry 4: -----------------------------------------------------------------
Date: February 26thStart Time: 9:30am
Duration: 3 hours
On this day, I spent some time looking at the datasheet and finishing the schematic, adding pull up resistors to the GPOUT, SDA, and SDL, lines. Then I pushed the parts to the PCB and started laying it out. I also started trying to do the trace width calculations. Then I saw that Mark had already laid some fairly thick lines that would satisfy the requirements. I'm also going planning to create power planes.
Then, in man-lab, Mark and I touched base on how we were going to go about trying to both do the layout. In our team's manager meeting, we showed the finished schematics, and demonstrated how far along we were in the PCB layout. Then, Mark showed me a Youtube video that showed how to lay out many of the parts, but I was going to focus on the USB to UART layout since we have to make considerations about the traces, I also wanted to focus on how to create the power planes. That is what I did for much of the man-lab period.
https://www.youtube.com/watch?v=aVUqaB0IMh4&t=3926s
Entry 3: -----------------------------------------------------------------
Date: February 25thStart Time: 9:30am
Duration: 2 hours
On this day I spent some time redoing and verifying the layout that I had started over the weekend. I placed all of the components of the voltage regulator component (ts63060), which isn’t available on Webench, so I had been following the written guidance and the images from the associated datasheet, being sure to follow the following directions
“If the layout is not carefully done, the regulator could show stability problems as well as EMI problems. Therefore, use wide and short traces for the main current path and for the power ground tracks. The input capacitor, output capacitor, and the inductor should be placed as close as possible to the device.”
Then I moved on to another component of the power design which is the MCP73871. This component has less layout guidance from the datasheet, so I searched the internet to see how other people who were working with this part laid out this component, specifically referencing the following link: https://www.instructables.com/How-to-Bring-USB-Rechargeable-LiPo-Power-to-Your-C/
Next, I moved on to the final component of the power design which is the charge monitor (bq27441-G1). With this, I realized that I need to make some edits to the schematic and then I began placing components on the board based on documentation that I found online, but later in the week decided to edit the layout.
From here, I am going to touch base with Mark tomorrow who is also planning on working on the PCB so we can coordinate how we want to do our routing such that it all works together.
Entry 1: -----------------------------------------------------------------
Date: February 23rdStart Time: 4:30pm
Duration: 1 hours
On this day, I forgot to save the work that I was doing, so it eventually got erased. The work that got erased was adding heat sinks to the voltage regulator, changed the inductor part to the correct component, and created an initial layout for the tps63060.
=============== Week 6: =================
Entry 5: -----------------------------------------------------------------
Date: February 20thStart Time: 9:30am
Duration: 2 hours
On this day, I did some research into the webench possibility of the our buck / boost converter. Although it is a TI part, that particular one is not available to be placed in webench, so I considered changing the part to another buck / boost converter that would have similar specs. I spent some time on the website looking into some of the parts with similar specs and to see how they were routed on the PCB, but I would have to download a part footprint for any other TI buck / boost part. Additionally, the part footprint was not able to be downloaded in a form that I could import to Kicad and all of them utilized routing on the bottom of the board which we hadn't considered yet. So on this day, I spent a long time considereing other options, but eventually decided to start routing the part that I had already chosen with the routing that is available on the sheet.
Entry 4: -----------------------------------------------------------------
Date: February 19thStart Time: 9:30am
Duration: 4 hours
On this day, I started by adding ESD diodes to the USB. I chose the NUP2202, which is a six pin part that my research recommended that I use to attach to the D+/D- lines of the USB port.
Then I worked on the website to update the functional description related to how the device is being powered, and approved it with my team.
Following this, I set out to try and write the code for the charge monitor, using the battery babysitter part that we acquired for development. As previously stated in my journal, I attached pins only to the I2C related outputs on this part. I was waiting on borrowing one of the dev boards for the STM32, and I realized I had the wrong cable, so I tried to translate the code I got to work on Micropython to C, still using the ESP32. This proved very unsuccessful, as it was quite difficult and I was never able to get it to work. So after an hour and a half of trying to run this code, I decided it would be obsolete to continue to work on it when I would have to spend even more time trying to translate this for the ESP32, so I would just wait until I have the correct part.
In Man-lab, I began with tagging up with Mark to give an update on where the schematic and PCB were at. He had been busy at the beginning of the week, so I gave him an update on the parts that I added and the preliminary layout of the USB and voltage management block and tried to make some decisions with him on that, so we could show the most up to date schematics to the professor in our meeting. Additionally, we decided we wanted to touch base on the footprints that we wanted to add for the components that were not standard in Kicad. This took a lot longer than we expected, me trying to add the SD card reader and with him trying to add his component. For a long time, we were trying to figure out how to create a custom part component and save and push it such that the other person could see it as a global part.
Following the meeting with the professor I am also planning on adding ESD diodes to the buttons to protect the internal circuitry from the user interactions with this component. I am also going to further look into the use of webench for our ti part per the professor’s recommendation.
Entry 3: -----------------------------------------------------------------
Date: February 17thStart Time: 9:30am
Duration: 1 hours
On this day, I decided I wanted to work on placing the parts for the USB to UART block. For this, I needed to choose footprints for the USB port, capacitors, and UART IC. Because the UART IC was not internal to the KiCad library, I spent some time figuring out how to download footprints off of the internet. For this, I made an account on Ultra librarian to download the footprint for the CP2102-GMR. Once I had all of the footprints, I pushed the parts to the board and began to lay it out.
Entry 1: -----------------------------------------------------------------
Date: February 17thStart Time: 4:30pm
Duration: 1 hours
Because this week, my job was to complete the mechanical report for our anticipated mechanical design of our project, on this day I focused on finishing up this documentation. The last part of this was to add prospective CAD drawings. A friend of the team who has more significant experience with CAD tools for 3D printing helped us create a preliminary model, so my contribution to this part was obtaining the file, taking appropriate measurements, and formatting the images that would be embedded into the mechanical documentation.
=============== Week 5: =================
Entry 5: -----------------------------------------------------------------
Date: February 15thStart Time: 9:30am
Duration: 1 hours
On this day, I was hoping to start working on the PCB layout of the tps36060, which is our buck-boost converter. To do this, I referenced the suggested layout from the part documentation and cross-referenced with the schematic that I have for this portion of our design, which is also based on the datasheet specification recommendation for 3.3V.
However, because I'm still familiarizing myself with the tool and waiting to get our schematics approved, I only added the heat-sink vias under the part, and will likely continue to edit over the weekend.
Entry 4: -----------------------------------------------------------------
Date: February 12thStart Time: 9:30am
Duration: 3 hours
On this day, I referenced idea drawings to present some options for what our device will look like so that we can make decisions as a group as to the aesthetics of our final product. In the meantime, I created a working block diagram for the PCB layout using draw.io before we start actually laying out the board next week and to add to our mechanical overview doc. After finishing the initial version, I presented it to my team for feedback.
Then, in man-lab, I led a discussion with the team regarding what we are all hoping the mechanical design of the device to look like. Here, we identified that we wanted to 3D print the shell of our device which will consist of two pieces, the main body which will house the display, battery, and PCB, and the second portion, which will serve as the back of the shell. We decided we wanted the back of the shell to be secured with screws, as well as utilizing screws to secure the PCB within the housing. Now for our initial crack at the mechanical design, all that is left for me as the member in charge of the completion of this document is to acquire a CAD drawing of the shell and from there, deciding the cost based on quantity of material needed.
Entry 3: -----------------------------------------------------------------
Date: February 5thStart Time: 11:30am
Duration: 1 hours
On this day, I spent time familiarizing myself with the PCB editor tool. Since our group is close to finished with our schematic diagrams for our design, during this hour, I was hoping to prepare myself to start editing the PCB next week. Because I was just researching the tool, little to no progress was actually made towards our design, but I have set myself up with a foundation for successful designing next week.
Entry 2: -----------------------------------------------------------------
Date: February 10thStart Time: 11:30am
Duration: 2 hours
On this day, I worked on the write-ups for the two devices for comparison in the mechanical analysis doc. The Kobo Sage E-Reader has much more complex functionality than what our device eventually will feature. They both will use USB for both recharging and data transfer of files from computer to device, and like the Kobo Sage E-Reader, our device will likely feature page turn buttons on the right side of the screen to flip and toggle the flashcard the user is viewing.
I also did some more research into the Paperang E1 flash card learner. I chose this device because it is also a flashcard study tool. It utilizes USB to recharge the li-po battery, but uses Bluetooth to transfer flashcard data from its app-based UI. I chose this because it had. Amore simple functionality than the Kobo-Sage which aligns more with what our product will be able to do in its final form. I liked the plastic shell the device was in, but our shell is going to be much larger because of the two-inch larger e-ink display.
Then I went into the lab to gather some of the measurement of the hardware that we already have, so I could calculate a baseline for the general dimensions of the device’s housing so we can acquire a working version of the CAD model of our design to feature in our mechanical report.
Entry 1: -----------------------------------------------------------------
Date: February 9thStart Time: 5:00pm
Duration: 1 hours
On this day I finished the current version of the LiPo Power Module schematic, looking through the datasheet to understand the pinout of the IC and choosing the appropriate supporting components.
Additionally, I began working on the mechanical report, which is my assigned individual report due at the conclusion of this week. For this, I started doing some research into the two other devices with similar mechanical functionality. From here, I identified the Kobo Sage E-Reader and the Paperang E1 flash card learner.
=============== Week 4: =================
Entry 3: -----------------------------------------------------------------
Date: February 5thStart Time: 11:30am
Duration: 3 hours
On this day, I focused on understanding the coulomb counter portion of the Battery Babysitter part that our team acquired for development. The specific part on the board is the bq27441-G1, so I started looking at the datasheet to see how I wanted to configure the outputs of the board to only use the coulomb counter portion of the dev board. For this, I wanted to map the power and I2C pins to my ESP32 dev board simply for testing and to make sure that this part gave us the information that we are looking for.
To support this, in man-lab, I soldered header pins to the coulomb counter portion of the board so I could take it home and do some testing on this portion.
Additionally, during man-lab, I tagged up with Mark to make sure we were on the same page about specific parts we were using and interfaces with the MCU to best support the block diagram he was creating for the electrical report due at the end of the week. Later, I wrote a script in Micropython to output the info below to the terminal via I2C to support the charge monitoring function of our design. This allowed me to have confidence in this part so tomorrow I can start adding it to our schematic design. Once this is completed, both Mark and I will have finished our portions of the schematic, so we will have a joint design review and will begin PCB design next week.
Entry 2: -----------------------------------------------------------------
Date: February 4thStart Time: 11:30am
Duration: 3 hours
On this day, I focused on completing the recharging circuitry portion of the schematic. Previously, I had identified a recharging IC that I thought would be suitable for this portion of the design, the MCP73871. Mark also helpfully sent me some useful documentation on the device that broke down some of the more useful information on the datasheet to aid in my design (https://www.instructables.com/How-to-Bring-USB-Rechargeable-LiPo-Power-to-Your-C/).
From here, I was able to complete a working version of this portion of the design, leaving three of the monitoring pins untethered while I discussed with the software focused team members whether they wanted to monitor these lines with software or visually with hardware like an LED.
Then, I went to the senior design lab to start acquiring prototyping parts for some of these components. I was able to get a 3.7 V 2000 mAh battery to satisfy our power needs. I also acquired a battery recharging dev board (Adafruit Powerboost 1000 Charger), and a step up/step-down voltage regulator.
Then, I wanted to move on to the charge monitoring of the battery component. Previously, I had requested a coulomb counter from the senior design staff, but upon starting to understand the semantics of how this component monitored the battery, I decided I wanted to reroute. In my mind, I was hoping to monitor the battery with a more standard data transfer protocol like I2C, and I had found some components on the internet that made this possible, so I acquired a component with this capability from the Senior Design course staff. The component I received was the Sparkfun battery babysitter, which I will start developing on starting the next day.
Entry 1: -----------------------------------------------------------------
Date: February 3rdStart Time: 1:00pm
Duration: 2 hours
On this day, I focused on creating the schematic for the voltage regulation block of the power management system. In order to do this, I chose the part that I wanted to use the TPS63060 which is a buck-boost converter, which I was planning on using to stabilize the variable input voltage from the battery and return a stable 3.3 V that we need for our microcontroller as well as the e-ink display. To support the function of this IC, I used the datasheet to acquire the equations that I needed to get the values of the resistors I needed to ensure the output voltage would be the desired 3.3.
From here, I was able to move along with finishing the schematic on Kicad for this part of the regulator portion of the design. Finishing this allowed us to have a working design to support the completion of both of the documents our team must complete this week. Next, I would use the same datasheet to start laying out the PCB design for this component.
=============== Week 3: =================
Entry 4: -----------------------------------------------------------------
Date: January 30thStart Time: 3:00 pm
Duration: 1 hours
On this day, I requested a coulomb counter from the senior design course staff and received a development component to start testing this part. In addition to that, I looked into datasheets and the i2c interface with this part and the microcontroller, so that I could potentially start testing with this.
This progress allowed me to complete most of the development parts that are necessary for the power management system for our design, and next, I will continue to compile components and conduct testing.
Entry 3: -----------------------------------------------------------------
Date: January 29thStart Time: 11:30am
Duration: 2 hours
During this period, I started to dive into the schematics for the Powerboost board, which also has voltage regulator on it which produces 5V, which can be regulated with the 3.3 V regulator. I also attended my man-lab during this time. Here, we received Feeback from course staff about how we should maintain the hat attached to the display and simply develop hardware to interface with the hat. We also received our display and hat that we ordered in the mail and I soldered pins to the board to aid the members focused on software with their development.
I also spoke with the team-members working on the SD card interface and began to make considerations for the SD card needing 5 V when the rest of our components only require 3.3. I also thought about adding a coulomb counter for battery power monitoring and potentially an RTC to do time-based reminders to remind users to study. This session helped me make significant progress towards my goals, and made it easier for me to do the necessary testing going forward.
Entry 2: -----------------------------------------------------------------
Date: January 28thStart Time: 11:30am
Duration: 3 hours
On this day, I continued to do research into the USB interface with the battery management system. I watched a YouTube video about how to build a li-ion and USB powered design with built-in charging ports, which identified the calculations necessary for supporting components, and how to layout this type of block on a PCB: https://www.youtube.com/watch?v=cDRjSY4ImSo
From here, I was able to create a block diagram of the different components necessary to complete this portion of our design. Additionally, it helped my identify part numbers that would be suitable for each of these components.
Then, I went to the senior design lab to start acquiring prototyping parts for some of these components. I was able to get a 3.7 V 2000 mAh battery to satisfy our power needs. I also acquired a battery recharging dev board (Adafruit Powerboost 1000 Charger), and a step up/step-down voltage regulator.
Additionally, I tested the step-up / step-down regulator with the battery I was given in order to ensure it would produce a stable 3.3 volts as I was hoping to obtain. Doing research and acquiring parts helped me advance towards my goals and the next steps here would be to start putting components together and prototyping.
Entry 1: -----------------------------------------------------------------
Date: January 27thStart Time: 1:00pm
Duration: 2 hours
- On this day, I conducted some research into the USBC power management system. I started to look into the open-source projects that utilize the display that we requested, however, many of these projects had hardware blocks that were too project-specific and potentially confusing in my research into the power management block of our system. Specifically, I looked at the EPDIY project layout and the Waveshare board hat layout that both utilized USBC both for charging and UART data transfer.
Although I did not make the progress that I was hoping to make, it allowed me to become more familiar with schematics that had the hardware blocks that are going to be necessary for our design and an opportunity to see how some of these parts are typically laid out on open source PCBs.
=============== Week 2: =================
Entry 5: -----------------------------------------------------------------
Date: January 23ndStart Time: 9:00 am
Duration: 1 hours
- During this period I made progress on certain components of assignment 2. I finished the electrical requirements, the design constraints, and made an update to one of our final hardware PSDRs. This contributed to our group assignments, and next steps would be to make group decisions and finish a completed version of this document.
Entry 4: -----------------------------------------------------------------
Date: January 22ndStart Time:4:30 pm
Duration: 2 hours
- During this lab section, I ordered our display. We also recieved some feeback on our selected PSDRs and made some selections on the hardware PSDRs. We added interfacing with the SD card as the on-board memory as one of our PSDRs after recieving feedback from course instructors. As a group, we also made progress on assignment 2. I worked with Zoe on the functional requirements block diagram that we would embed into our assignment, making some decisions on features like I/O we think are necessary for our design. I started workng on the hardware constraints section. The next steps for this would be to try and deconstruct the blocks from the dev board we are going to recieve and continue to work on the A2 document.
Entry 3: -----------------------------------------------------------------
Date: January 22ndStart Time: 10:50am
Duration: 1 hours
- On this day, the display we were going to order was chosen, the Waveshare 4.2 inch e-ink display. The part that we chose has a hat attached to it that we will utilize for development. From here, I located the datasheet for this part to understand the pinout of the display itself. Additionally, I located some open source project that had appropriate schematics pertaining to the hat to better understand the blocks necessary to drive this specific display. Here, I also started to try and understand the voltage generation block that provides the display with the 15 V needed to drive the display from the source 3.3 V needed by the micro. Here, major headway was made on narrowing down hardware requirements for our project. Next steps would be to purchase this part and start developing with it.
Entry 2: -----------------------------------------------------------------
Date: January 21thStart Time: 1:30pm
Duration: 1 hours
- During this time, I had a meeting with Mark as the other team member focused on hardware. In this meeting we looked at some open source projects taht had similar blocks. Additionally we made decisions on how we were going to break up the focus of the different hardware blocks, where Mark would focus on power management and I would focus on data transfer from the USB to the micro and from the micro to the display. I also did research on potential e-ink displays we could use and picked out three that I presented to the team to make a decision on prototyping materials. This meeting was conducted in person and both did individual research via search engine. This broke up the work between the two of us to allow us to hone in on specific functionalities we would combine to create the finished product. After this, I am going to continue to do research on the blocks that I chose and I will order the correct display for us to prototype on.
Entry 1: -----------------------------------------------------------------
Date: January 20thStart Time: 11:37am
Duration: 2 hours
- Broke down hardware blocks and did research into components that would best satisfy these purposes. Mostly spent time searching on google to look at IC numbers for components that support the function that will support the USB port. This includes the battery recharging hardware as well, compiling options for both. I worked on this mostly using search engines. The time spent here gave me a good jumping off point on these critical components of our design. In doing this, I spent a lot of time going in the wrong direction or hitting dead ends in my research, but looking at open source projects that had multiple of these functionalities provided me with some context for common ways these blocks are implemented. The next steps that I would take for this would be to narrow down components that I am interested in and create a parts list so I can begin to prototype next week.
=============== Week 1: =================
Entry 2: -----------------------------------------------------------------
Date: January 13thStart Time: 11:30am
Duration: 1.0 hours
- During this time, I did some preliminary research on the basic hardware blocks that we will need to incorporate into our design. I also did some research into the power managment system we will need to incorporate into our design in order to accomplish both the long battery life that is inherent to our project and rechargability. This research was done via browser and provided me with a basis for this component so that I could present my findings with my team at the appropriate time.
Entry 1: -----------------------------------------------------------------
Date: January 15thStart Time: 3:30pm
Duration: 2.00 hours
-During this lab section, our team began to work on our team website. Additionally, we met with course instructors to discuss the content of our project and took a tour of the 007 lab. This provided our team with an understanding of course resources available to us via the lab, and provided us with a good jumping off point for how we will begin to work.