December 2
Gonna start work on the avionics bay . I think I'm stuck to using Altium and Solidworks now.
Gonna start work on the avionics bay . I think I'm stuck to using Altium and Solidworks now.
It's been two weeks since I started the 4" Avionics. I just ordered it for assembly with JLCPCB I used USP express saver shipping. Hopefully I don't have to pay any more fees when it arrives. It cost $80.75. I got 5 boards. They don't have USB-C connectors in stock so I'm getting them off digikey.
Well I named the dingboard the dingboard because I thought I was gonna make a bigger board later on and I was gonna name it the dongboard or some shit. There's no value in making a single board flight computer right now, so the MCU will be CAN enabled from the get go. It doesn't add much complexity. The MCU board will be ran at 3 volts so I will be able to use the V1 power board for it. Later on I'll need to use an antenna which will be ran at 5v with 3.3v logic. So while power v1 is shipping, I'll work on the MCU with CAN, while that is being shipped I'll upgrade the power to 3s with 3.3v 5v and unregulated 12v. Then I'll work on the antenna module while that is shipping then I'll work on the GPS while that is shipping then blah blah. The specifics will change but this is the idea.
So to use ECAD/MCAD you have to use Altium 365. It makes it's own .git file in the main Altium directory. So you could still have a .git in the directory above it which you could push to github as a primary thing. Then you could just push to the Altium 365 whenever you want to use MCAD. The ECAD/MCAD integration just doesn't seem worth the hassle though. Being able to move around components in MCAD does seem really cool though. I just wish they did it right. Engineering tools are never designed by good software engineers. The software engineers that make it never really use it. The best stuff is made by the people that use the thing. git is so good because the people that maintain it are the people that use it. I love that shit that's like "made by blank for blank." Usually it's shampoo or something, but when it's actually true the product is good.
When I pushed my project to Altium 365 it copied my project to a new location on my computer. So I've been making all these changes to a separate repo this whole time. So to continue using the old repo, I'd have to delete the old files and add the new files, reinitializing the repo basically. Because the Altium files are all binaries. I hate Altium.
At some point I switched the buck boost to a linear regulator/boost. Idk how that happened now I gotta switch it back.
Agenda:
This is not going to be a CAN enabled board. The gold fingers are for practice, and modularity. The only reason it's not the next board already is because I choose 1S for the battery for simplicity. Might have been better to just make the full board from the get go. but since I'll have to go to 3S I should just to the CAN stuff when I do that.
if time:
Here's some ideas for how Solidworks and Altium or any MCAD and ECAD would ideally work together.
Altium codesigner is for use with Altium 365 only. Solidworks doesn't have branching and merging. It's proprietary version control method is rubbish.
Ideally, you'd have a MCAD and a ECAD repo. Both of them use each other as submodules. Or you could just have the one repo with RBAC but I don't think github lets you do that because it would be annoying if you commit to a file you don't have perms for then try to push it it would say nope bruh you can't change that one file in all your files you changed. Actually that doesn't sound so bad
MCAD pulls to the ECAD submodule. Changes are made to the PCB, a pull request is made, the electrical engineer accepts them. Then the rest of the MCAD team pulls from the ECAD repo and has access to the new changes. There should be some features like board shape, and max component height that the MCAD engineer has control of that a pull request is required to make. That would be what the submodule
Maybe there would just be a third repo for things that both teams depend on. This would only be the board dimensions. Both the ECAD and MCAD softwares should be able to edit it, but there should be accept/deny system where an engineer from both teams need to approve the change. The ECAD team doesn't want to see the rest of the structure they only care about the PCB.
Sometimes you'd want the MCAD team designing an enclosure as a secondary to the PCB layout, sometimes there's board constraints sizes like in a rocket which makes the MCAD designers primary. Three sort of use cases: Primary MCAD, primary ECAD, and equal priority
There would need to be a system for breaking changes. There needs to be keep out regions, and expected layouts.
I would like for right now, to be able to push a board layout, a rough layout, to the board dimensions/connectors repo. This contains the gold fingers, USB and JST connectors. This is an initial push so it doesn't require both team's approval. Next I want to go into solidworks, move around the gold fingers, change the board diameter, lets say shrink it. Then I push to the dimensions/connectors repo. A pop up on Altium appears, it says "a change has been proposed". Then it says would you like to branch to check approvability? I finish my changes to the ECAD before I then branch the ECAD repo. This special branch pulls changes proposals from the dimensions/connectors repo. Then I look around to see if I can rework the PCB a bit to allow the changes. I rework the pcb a bit then accept the changes. I merge back the ECAD branch to main. The new main has a different git hash has associated with the dimensions/connectors submodule.
Anyways there's some spit balling about an ideal version control ECAD/MCAD workflow. I don't think this can be done with kicad or some open source cad software. The two softwares would need to agree on a system for the dimensions/connectors files. And it's probably best the two softwares are kept separate.
So you can use workarounds to avoid using Altium 365, but you loose too much convenience for it to be worth it. You'd have to keep exporting to a STEP in altium then in solid works you'd have to export to a DXF then in Altium import that to be the board shape.
.lia files are fully broken in Altium. You literally just can't import them anymore.
There's this nice PCIe template I want to use, but circuit maker is effed. Why are they even trying to keep circuit maker alive? It's fully broken because it wants you to sign in with a name and password but you can only use google to sign up in the browser and there's no option to change your password anywhere.
There used to be a template libary?. Now all the "design content" links redirect to octopart which doesn't seem to have templates like the design content. https://designcontent.live.altium.com/#Search/pcie
The license manager has to be one of the most annoying things known to man. Every now and then you start up Altium and you have to click "release" then roam on three licenses because it thinks you're signed in somewhere else.
Altium, Solidworks and Onshape have different methods of rotation.
Onshape is clearly the best, pan zoom and rotate are all done without a modifier. It's just constrained rotate which uses shift. I don't think solidworks even has that though.
Altium is the worst is uses track ball rotation which inherently requires more clicks.
Matt Keeter // 3D Rotation Design
Everying time I paste a JLCPCB part number into the BOM the entire software freezes for a good 20 seconds.
JLCPCB "PCB Manufacturing & Assembly Capabilities" is kinda confusing.
So for a two layer PCB,
it says "2-layer: 0.15mm hole size / 0.25mm via diameter." That would mean the pad width or "annular ring" can be 0.05mm right?
but wait:
Now it says: "2-layer: 1 oz: Recommended 0.25 mm or above; absolute minimum 0.18 mm."
I guess a via doesn't count as a PTH (Plated Through Hole)?
By default in Altium you set your minimum annular ring: and this applies to vias and PTH. So... I guess Altium probably shouldn't do this by default?
Added a battery "fuel guage" it gives you an accurate reading of the battery level over I2C
I started the PCB
Current progress:
The hardest part was definitely the component selection. I read through so many data sheets. Maybe I can get the rest of the board done tomorrow?! Then I can go relax with some 6502 stuff for a bit.
Tomorrow: - MCU schematic - PCB layout - Verify design for PCBA