Changes

m
Linked new page in steps 3 and 4
Line 15: Line 15:  
* How can I prototype different parts of my circuit on a breadboard with breakout boards to verify it works as intended?
 
* How can I prototype different parts of my circuit on a breadboard with breakout boards to verify it works as intended?
 
* What code will run on this board, and how can software development done in parallel to PCB layout?
 
* What code will run on this board, and how can software development done in parallel to PCB layout?
Because SSI is a large team with many projects and members, You should also consider the [https://en.wikipedia.org/wiki/Extensibility| Extensibility] of your design:
+
Because SSI is a large team with many projects and members, You should also consider the [https://en.wikipedia.org/wiki/Extensibility Extensibility] of your design:
 
* How can your design leverage existing PCB schematics to speed up the design process?
 
* How can your design leverage existing PCB schematics to speed up the design process?
 
* How can you use the flight heritage of existing circuits to reduce the chance of your system not working?
 
* How can you use the flight heritage of existing circuits to reduce the chance of your system not working?
Line 25: Line 25:     
=== Valbal EE 9 ===
 
=== Valbal EE 9 ===
[https://docs.google.com/document/d/1ZqCeDwD2tvel5EY0Tf7ifroEml3FEVMDf8KcTDa47p0/edit| ValBal EE 9.1 Changelist]
+
[https://docs.google.com/document/d/1ZqCeDwD2tvel5EY0Tf7ifroEml3FEVMDf8KcTDa47p0/edit ValBal EE 9.1 Changelist]
   −
[https://docs.google.com/document/d/1qUs500_CiNvGZa_pNxVXRHfVZONEzjOnMHjTuYiBOjw/edit| ValBal EE 9.1+ plans]
+
[https://docs.google.com/document/d/1qUs500_CiNvGZa_pNxVXRHfVZONEzjOnMHjTuYiBOjw/edit ValBal EE 9.1+ plans]
   −
[https://docs.google.com/document/d/1bBLZtZPUD5KbMAy4ByeYykShZlYhj96Qz9vydWjgE5A/edit| ValBal Payload Interface Specification]
+
[https://docs.google.com/document/d/1bBLZtZPUD5KbMAy4ByeYykShZlYhj96Qz9vydWjgE5A/edit ValBal Payload Interface Specification]
    
=== SpaceSalmon Stack ===
 
=== SpaceSalmon Stack ===
[https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit| Fishy Business]
+
[https://docs.google.com/presentation/d/10tnuvgWhj59NeUBxJNxlRW7EjcLI8pYms1Hf9A7qRLU/edit Fishy Business]
   −
[https://docs.google.com/spreadsheets/d/1-VdcZ4H2OCiGasRVfo6jHaaTqtyZaqoEV8z7C4GdDbo/edit| Board to Board Connections]
+
[https://docs.google.com/spreadsheets/d/1-VdcZ4H2OCiGasRVfo6jHaaTqtyZaqoEV8z7C4GdDbo/edit Board to Board Connections]
   −
[https://docs.google.com/document/d/11-6qBFXdFuhDwf6qMIAIUr1ztXR1aTiMrxCtl4si8iQ/edit| Hardware Overview]
+
[https://docs.google.com/document/d/11-6qBFXdFuhDwf6qMIAIUr1ztXR1aTiMrxCtl4si8iQ/edit Hardware Overview]
    
=== Thunderguppy ===
 
=== Thunderguppy ===
[https://docs.google.com/document/d/1FlarsfEBXSJtyWvuBv_gb6-OZofqeSfMBd3gmK6JoQs/edit| ThunderGuppy Battery Issue]
+
[https://docs.google.com/document/d/1FlarsfEBXSJtyWvuBv_gb6-OZofqeSfMBd3gmK6JoQs/edit ThunderGuppy Battery Issue]
   −
[https://docs.google.com/document/d/1hhX1bpbs2kfcCbvq6EctOQAsNXkiz7CeYOaI4Ki6hTQ/edit| ThunderGuppy Initial Design]
+
[https://docs.google.com/document/d/1hhX1bpbs2kfcCbvq6EctOQAsNXkiz7CeYOaI4Ki6hTQ/edit ThunderGuppy Initial Design]
   −
[https://docs.google.com/spreadsheets/d/1MUmFg8R-3JiZXi5GyeJWyJ3OQy3XObGrAN3LtbTdxLI/edit| ThunderGuppy Spec]
+
[https://docs.google.com/spreadsheets/d/1MUmFg8R-3JiZXi5GyeJWyJ3OQy3XObGrAN3LtbTdxLI/edit ThunderGuppy Spec]
    
=== Buddy V3 ===
 
=== Buddy V3 ===
[https://docs.google.com/document/d/13fy2KAYhqTLVAPye0ETRxe1ajy-SXyLccdFxlEEXSSw/edit |Buddy v3 Design]
+
[https://docs.google.com/document/d/13fy2KAYhqTLVAPye0ETRxe1ajy-SXyLccdFxlEEXSSw/edit Buddy v3 Design]
   −
== Step 1: Schematics ==
+
== Step 1: Pick the Parts ==
 +
This is the most arduous process of all. All components must have suitable ratings and must all communicate/interact with each other.
   −
== Step 2: Footprints ==
+
Some websites useful for finding parts and specifications of parts:
   −
== Step 3: Layout Parts ==
+
# [https://www.mouser.com/ Mouser Electronics]
 +
# [https://www.digikey.com DigiKey]
   −
== Step 4: Layout Traces ==
+
Manufacturer sites for even tighter specifications and datasheets:
   −
== Step 5: Layout Memes ==
+
# [https://www.analog.com/en/index.html Analog Electronics]
 +
# [https://www.ti.com/ Texas Instruments]
 +
# [https://www.st.com/content/st com/en.html ST Microelectronics]
   −
== Step 6: DFM ==
+
When picking parts, also make sure to look for evaluation boards, which are breakout boards for microcontrollers to test that their components work. [[/www.digikey.com/en/products/detail/stmicroelectronics/STM32F411E-DISCO/5131480|Example]]
   −
== Step 7: Prototype ==
+
== Step 2: Napkin Sketch ==
 +
 
 +
== Step 3: Schematics ==
 +
See [[Altium Schematics and Footprints Guidelines]]
 +
 
 +
Schematic Design is the process of specifying the symbolic representation of your circuit in a format that both the computer and a human can understand.
 +
* You should make your schematic clean enough that another human can read it. If no one else can read it, they won't be able to catch your mistakes
 +
* You should make heavy use of existing schematics for past SSI projects, especially those you understand and have flight heritage
 +
** If the schematic you are looking for is not available in Altium, they need to be imported or created. You can find the schematics of most components on product pages of the websites listed in Step 1.
 +
* You should use a strict hierarchical schematic sheet tree, with sheets nested within other sheets to reduce complexity
 +
 
 +
== Step 4: Footprints ==
 +
See [[Making Parts for PCB Libraries]]
 +
 
 +
See [[Altium Schematics and Footprints Guidelines]]
 +
* If possible, design your circuit to use parts that have heritage, and have footprints in the library
 +
* Take the time to track down 3D models for components, it will help prevent dumb ME issues later on
 +
 
 +
== Step 5: Layout Parts ==
 +
Before you start laying out traces, try to get a rough layout of all your parts done. Traces can always be re-routed to other layers, but physical components can't be easily moved once placed. Keep in mind your mechanical design constraints. Make sure your switches and connectors are accessible at the edge of the board, etc.
 +
 
 +
== Step 6: Layout Traces ==
 +
Laying out traces is not something that happens linearly, nor quickly. Computers can beat humans in Chess, and in Go, but no computer has ever reliably been better at PCB routing than a good human. It's best to tackle large or complex layout projects during uninterrupted time, when you can really really get into a Zen state. Big projects tend to get routed during breaks. You may have to revisit Step 3 above when you find the the way you were envisioning the traces being routed doesn't work out. This is fine. PCB design doesn't fall into the strategy of "rapid prototyping" yet, and so you're better off taking your time, getting everything neatly aligned.
 +
 
 +
== Step 7: Layout Memes ==
 +
Take deep breath as you feel yourself emerge from the tunnel of layout. Perhaps you still have things to touch up, but the end is in sight. Take some time to think about what you want on your board, ''other'' than the electronics. There are a few things you need to have:
 +
* Board Name
 +
* Engineers Names ("T. Vrakas" is the usual format)
 +
* Year
 +
* Sponsor Logos (ask in #altium if you don't know)
 +
* Labels on all connectors, switches and LEDs
 +
And also many things you may want to add. Namely: Memes! Keep it PG, because we have to send the boards to BAC, and we don't want them giving us weird looks.
 +
(TODO: attach pictures of past memes)
 +
 
 +
== Step 8: DFM ==
 +
 
 +
== Step 9: Prototype ==
17

edits