Mars’s Status Report for November 22

What did you personally accomplish this week on the project?

This week I focused on finalizing our PCB manufacturing details and began working on both documentation and software debugging for the data recovery system. I keep meeting with the vendor for board assembly.  I completed DFM analysis (image below)

 

 

I coordinated with our PCB vendor to finalize manufacturing details for the power cycling board.
We discussed component placement optimization, particularly for the high-current switching circuits that control USB power delivery. We reviewed via-in-pad routing for thermal management on the power MOSFETs and determined which components need to be hand-soldered versus machine-placed during assembly. Specifically, the USB connectors and any through-hole power components will require hand soldering to ensure mechanical stability during repeated plug/unplug cycles. Got confirmation on the assembly timeline and documented which parts we’re providing versus what they’ll source.

 

The boards are made! And are starting component placement and assembly (40% done) Which is pretty impressive for a revision 2 of PBC’s.

I also began working on project documentation too, organizing our design decisions and technical specifications into a coherent format. This will be essential for our final report and helps clarify our system architecture. We want to make our documentation stand out this time around.

Additionally, I started debugging a software issue we discovered with recovering data from PDF files. The recovery algorithm wasn’t properly reconstructing the PDF file structure, particularly with handling cross-reference tables and object streams. I’ve been tracing through the file format specifications to identify where our parsing logic breaks down.

Is your progress on schedule or behind?

Behind our original schedule due to PCB delays. However, the PCB vendor discussion was a critical milestone to ensure we get functional boards on the first revision. Having the assembly details locked down now prevents delays later when boards arrive. Using this time to work on software debugging and documentation helps us stay productive while waiting for hardware.

What deliverables do you hope to complete in the next week?

  • Write test code to virtually validate revision 1 of our PCBs
  • Continue debugging the PDF recovery issue and implement a fix
  • Work on creating a visual demonstration for part of our final demo
  • Expand project documentation with technical implementation details

New Tools and Learning Strategies

This week I needed to learn several new areas to accomplish my tasks:

PDF File Format Specification: To debug the PDF recovery issue, I had to dive deep into the PDF specification (ISO 32000). I started by reading Adobe’s PDF reference documentation, which is dense but authoritative. When I hit confusing sections, I supplemented this with blog posts and Stack Overflow discussions from developers who’ve parsed PDF files before. Seeing practical examples of how others handled cross-reference tables helped me understand what our code was doing wrong.

PCB Thermal Management: Understanding via-in-pad routing and thermal considerations for power MOSFETs was new territory for me. I watched several PCB design tutorials on YouTube focusing on high-current applications and read application notes from power MOSFET manufacturers. The combination of visual explanations in videos and detailed specifications in app notes gave me the confidence to make informed decisions during the vendor discussion.

Technical Documentation Best Practices: To write effective project documentation, I looked at examples from previous 18-500 projects and reviewed documentation standards for engineering projects. I also consulted with teammates about what information would be most valuable to include.

The most effective learning strategy was combining authoritative sources (official specifications, datasheets) with practical examples (forums, previous projects, tutorials). The specifications tell you what’s correct, but the examples show you how to actually implement it and what mistakes to avoid.

Leave a Reply

Your email address will not be published. Required fields are marked *