This week I dipped back into data analysis for a while, and made some exciting progress with the hardware.
I began the week by writing some documentation for the boards I had designed. I figured it would probably be good to have a record of how the board’s work and some of the design rationale that went into them. This is important work but it was pretty boring to do. I also finished up the layer three designs and sent it off to be printed.
I then went to work reviewing some Ben’s analysis code. For the past few weeks we fell into just working on our own parts of the project and not really looking at what the other one was doing. This is a good way to make mistakes and not notice them. So to hopefully prevent any problems I went through all of Ben’s code and looked for errors or just things I did not understand, and asked him about it. This was most helpful for the MATLAB code but I did it for the Arduino code as well even though I didn’t understand a lot of it.
Looking at Ben’s code I noticed we hadn’t done anything with the pressure sensor data yet, so I made a quick function that would convert from pressure in mBar to depth in meters. This is a pretty straightforward problem with a simple formula. The only tricky part is that you have to remember that the ocean is an open system and because of that you have to account for both air pressure and water pressure. The code appears operationally but I will need to check it against real data later.
Finally on Thursday afternoon the boards came in! I had the parts to assemble the layer two boards already so I just jumped in and started laying everything out. I put the board in the oven and when it came out one of the capacitors had flipped up to be perpendicular to the board. I tried to use the soldering iron to melt its solder and lay it back down, and when that didn’t work I tried to solder a through hole capacitor into the proper place. When that didn’t work I figured I didn’t really need a decoupling capacitor anyway and I would just go for it. I started by testing the battery charging mechanism. This worked but the charging indicator LED did not. This is annoying but not a big deal, more likely then not I just put the LED on backwards. I then tried to test the RTC and it did not work.
I started trying to troubleshoot the RTC and first discovered that I installed the coin cell battery holder for the RTC incorrectly. It was a simple mistake that I can avoid in the future. After I fixed this the RTC still did not work so I connected up to the logic analyzer and I did not see promising signs. It seemed that the chip was receiving data and either not responding at all or sending out weird noise like signals. My theory right now is while I was using the soldering iron on the capacitor I overheated the chip and burnt it out. Oh well, try again the next day and be more careful.
The next day I tried to assemble another layer two board. This time I did not make the battery holder mistake again and the capacitor stayed put, but I made a different mistake. I did not line up the uSB adaptor properly, so it did not make good connections. This means that we can not use this board to charge the LiPo battery. I tried to realign the uUSB using hot air reflow but that did not work. Luckily the power from the battery works, just not the charging. Additionally the RTC worked perfectly. This means that I have one board that can charge the battery but can’t take time data and one board that can take time data but can’t charge the battery. Hopefully on the third try I can get all the parts working at once.
Next week I will be at the VIMS Eastern Shore Lab (ESL) so I won’t work on assembling the printed boards but I will be up to a lot of other fun stuff I’ll tell you about next week.