29 September 2023

UPDATE: Life ;^)

Feels odd to realize that it's been 9 months since the last update, and oh boy what an interesting 9 months it's been... But through all this chaos we have managed to make some fun memories with the little one, memories that somehow feel that bit more special then before ðŸ¥²

One thing we quickly realised is that we have way less time on our hands (surprise surprise), as our "free" time is now either catching up on chores/admin or trying to recharge our mental batteries. But as always we have found ways to adapt to the new situation (or so we claim), whether it be by improving project workflow/tracking or outsourcing tasks where/when possible.

So in this update I want to first talk about the former, improving project workflow, specifically how I now plan to use Altium Designer when working on PCBAs. Then to finish things off, I will show some snapshots of projects I have miraculously found the time to work on :O


Altium Designer Workflow & Templates

Looking back, my PCBA design workflow was not that efficient, which I guess was not a huge deal at the time... But now that free time is that bit harder to come by, I have tried to optimize a number of aspects. For example:

Old workflow

Revised workflow

Altium component creation & management

A SCH symbol & PCB footprint would be linked up in a relevant schematic library (SchLib), of which there were 12 (res, cap, IC…).

SCH symbols would typically be reused, but would be copied from one component to another. So updating a SCH symbol used by many components was very tedious as I had to update each one manually.

PCB footprints would always be created from scratch, as I could not easily check if a footprint already existed until I generated it (usually via IPC Compliant Footprint Wizard).

All components are now managed by a single database library (DbLib), which I edit via Microsoft Access. This makes it very easy to link up a single SCH symbol and/or PCB footprint to many components, so creating a new component is now much quicker. 

Since everything is linked up by a database, if I want to update a SCH symbol or a PCB footprint that's used by many parts all I have to do is make a single edit.

Lastly, PCB footprints (and their name) are created based on manufacturers recommendation (vs going direct to IPC Compliant Footprint Wizard). Making it easier to see if an existing footprint is present in the database.

Altium project creation

When creating a new Altium PRJ, I would first try to find a previous project that somewhat resembled what I was hoping to achieve. Then I would manually copy and modify all the project files (SCH, PCB, BOM…) & individual parameters… Inevitably missing something crucial along the way.

I now have an Altium PRJ template which automatically adds all relevant files (SCH, PCB, BOM…) when a project is created. Plus, all linked files now reference the project parameters, making it very easy to update project revisions & release datapacks.

Altium project release (datapack generation)

Once a project was finalised, I would manually go over all line items in the ActiveBOM and allocate a manufacturing part number to those that did not have one (like jelly bean resistors & capacitors that used a generic component).

With the ActiveBOM configured I would then create the project datapack (PCB FAB & ASSY files) by manually generating each output container in the OutJob. With 7 containers this meant 7 individual clicks, not including setting up the container names.

Now that all components are managed by a database library (DbLib), it's much easier to lock in the key details (MPN plus two alternative) during component creation. So, no more fiddling with ActiveBOM where MPN info would be lost between projects.

Lastly, datapack generation is now handled by the Project Releaser, which configures the output containers (PCB FAB, PCB ASSY, PRJ validation & snapshot…) based on project parameters. Letting me generate a datapack with the click of a single button :D

With all that said, the next step is to use the revised workflow & templates for my Prusa XL side filament sensor mod. But since Prusa have not yet shared the design files (like with the MK3S), I will have to get the printer first before I can make any major progress.


Project Snapshots

As promised, here are some snapshots of projects I have found the time to work on:

1. AR2 Barrel is nearly complete, just putting on the finishing touches (LED diffusers, shell fingers, spring holder...)


2. Waifu decided to hold her first DnD campaign and asked me to design and 3D print some props


3. Fortifying the work area because someone has learned how to crawl ; - ;