diff --git a/.gitignore b/.gitignore
index 6b692e36..a388e428 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,5 @@ _site
*.out
*.toc
.DS_Store
+
+*.code-workspace
\ No newline at end of file
diff --git a/electrical/pcb/README.md b/electrical/pcb/README.md
index aeb5292c..fe9a6cc3 100644
--- a/electrical/pcb/README.md
+++ b/electrical/pcb/README.md
@@ -1,63 +1,29 @@
-# PCB Assembly, v2.0.3
+# Control Board Assembly, v2.0.3
-TODO: update these instructions for v2.0.2 or v2.0.3
-TODO: renumber images and sections as necessary
-TODO: make a note that some of the images are from my v2.0.1 assembly, but the instructions are for v2.0.3
+The overall Control Board consists of a Motor Board with a Brain Board mounted on top. These are the instructions to assemble these two separate pcbs and mount them together as the unified control board.
This document goes through the process of assembling and testing the custom
Printed Circuit Boards for the project.
-
-
-
-
+Note that the images in these instructions are taken from an assembly of the v2.0.1 board. There are minimal differences between v2.0.1 and v2.0.3 - such that it wasn't worth doing another photoshoot for v2.0.3. Make sure to follow the written instructions when in doubt.
-## 3. Motor Board Assembly
+## 1. Part References
+
+Check out the [BOM documents](control_board/BOM/v2.0.3)
+
+All parts referenced in these instructions use the schematic "reference designator" from the silk screen on the pcbs. E.g. "C1", "J2", and "R28". You should look up the details of these parts within the [v2.0.3 BOM the board ref parts spreadsheet](control_board/BOM/v2.0.3/bom_v2.0.3_board_ref_parts.csv) or the [v2.0.3 BOM other parts spreadsheet](control_board/BOM/v2.0.3/bom_v2.0.3_other_parts.csv). This will tell you the unique ID of the part that we use for ordering from Digikey + elsewhere, and will also link to pictures of the part on the relevant website.
+
+Generally these instructions have enough images to clearly show and identify the parts, but whenever in doubt the best thing to do is to look up the reference in the BOM spreadsheet.
+
+## 2. Schematic and Layout Documentation
+TODO: add versions for v2.0.3
-
+There's documentation of both the schematics (how all the electrical parts logically connect to one another) and the layout (how the parts are physically placed on the boards) in the [control_board/documentation](control_board/documentation) directory
-
-
+## 3. Motor Board Assembly
| |
|:-:|
@@ -293,6 +259,7 @@ You **may** use larger headers to fill all the holes in the U2 footprint, but it
You will need to attach male headers to the PCA9685 daughter board, as shown in figure 3.23. Also, 5v power is provided to the PCA9685 through the two holes at the top of the U2 header. To connect these, I soldered 2 small wire leads on the PCA9685 daughter board, and then soldered them on to the motor board once I installed the PCA9685.
TODO: update instructions with alternative to janky wire leads for PCA9685
+
TODO: figure 3.28 is not very good
| |
@@ -372,7 +339,8 @@ Make sure to orient the connector in the proper direction, as indicated in the i
First, wire the 6pos terminal block headers to the roboclaw boards, as indicated in figure 3.36.
TODO: update the below and make sure it's correct
-FOR v2.0.3, you should wire the pins in the J16,J17,J18 headers directly to the pins on the corresponding side of the roboclaw - it is a direct 1-to-1 mapping all the way down, with no wires crossed.
+
+For v2.0.3, you should wire the pins in the J16,J17,J18 headers directly to the pins on the corresponding side of the roboclaw - it is a direct 1-to-1 mapping all the way down, with no wires crossed.
Do this for all three roboclaws.
@@ -408,7 +376,7 @@ Make sure to align the slightly "chipped"/beveled corner of the LED array with t
|:-:|
| Figure 3.40: LED array U5 installed |
-### 3.20 Install drive motor headers J8,J9,J10,J11,J13,J14
+### 3.21 Install drive motor headers J8,J9,J10,J11,J13,J14
| |
|:-:|
@@ -516,7 +484,7 @@ And now you're done with the assembly! Finally, we'll move on to testing and con
|:-:|
| Figure 4.8: Completed control board |
-## 6. Testing the PCB and wiring for the drive motos
+## 6. Testing the PCB and wiring for the drive motors
Before we insert the wiring and PCBs into the mechanical assemblies, we'll test and configure the drive motors, wiring, and PCB. This allows us to fix these critical parts if something doesn't look right and allows us to move to running the software as soon as the rover is assembled.
@@ -566,11 +534,11 @@ In the `General Settings` tab:
Next, we'll check the correct direction and calibrate velocity before we repeat the process for the other roboclaws and motors.
-#### Prepare PWM signal
+#### 6.3 Prepare PWM signal
Click on the PWM tab. We will now send a PWM signal to the motor and test that connections are all made correctly to the motor and encoder. Start by selecting the `Enable Space Bar Stop All` button in the bottom left which allows you to set velocity to zero when you hit the space bar.
-#### Vary PWM signal
+#### 6.4 Vary PWM signal
Slowly move the slider bar for the corresponding motor output channel. Verify that the right motor is spinning and that the encoder value is also changing.
@@ -579,7 +547,6 @@ Slowly move the slider bar for the corresponding motor output channel. Verify th
- If all your connections are correct, you may have to test your solder contact between the components on the board itself.
> **Note**: When troubleshooting electrical connections, always remove power to the PCB to prevent shorting and injury.
-
Switch direction of the slide bar and verify that it spins the other direction and the encoder value does the opposite of previous as well.
Once you've verified this, we'll focus on the direction. We want the motor to spin as in the diagram below when we send a positive PWM:
@@ -589,5 +556,4 @@ Once you've verified this, we'll focus on the direction. We want the motor to sp
For both motors check that the direction matches the diagram. If it doesn't, for that motor in the `General Settings` tab, select `M1 Reverse`. Check again to verify it matches. Now verify that the encoder value increases when you send a positive PWM for each motor. If it doesn't, select the `invert` checkbox in `General Settings` and verify again.
> **Important**: Make sure to save these settings to each Roboclaw's non-volatile memory by clicking on the `Device` menu > `Write Settings`.
-
-Repeat starting from Section [6.1](6.1-RoboClaw-Testing-and-Verification) for the other two roboclaws.
+Repeat starting from Section [6.1](6.1-RoboClaw-Testing-and-Verification) for the other two roboclaws.
\ No newline at end of file
diff --git a/electrical/pcb/control_board/BOM/v2.0.3/bom_v2.0.3_board_ref_parts.csv b/electrical/pcb/control_board/BOM/v2.0.3/bom_v2.0.3_board_ref_parts.csv
new file mode 100644
index 00000000..de028a43
--- /dev/null
+++ b/electrical/pcb/control_board/BOM/v2.0.3/bom_v2.0.3_board_ref_parts.csv
@@ -0,0 +1,52 @@
+UID,Reference,Name,Quantity,Number to Order,Value,Digi-Key Part,URL,Availability,Notes,Footprint,Datasheet
+A1,C2 C4 C9 C10 C13 C14 C15 C16 C17 C18 C20 C21 C33 C34,,14,20,10nf,399-9865-1-ND,https://www.digikey.com/en/products/detail/kemet/C317C103K5R5TA7301/3726019,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,~
+A2,C19 C25 C27 C28,,4,10,100uF,399-18272-1-ND,https://www.digikey.com/en/products/detail/kemet/ESK107M050AG3EA/9448269,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,~
+A3,C1 C3 C5 C6 C32,,5,10,100nf,399-14065-1-ND,https://www.digikey.com/en/products/detail/kemet/C322C104K5R5TA7317/6562476,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,~
+A4,C7,,1,3,10uf,399-ESK106M050AC3DACT-ND,https://www.digikey.com/en/products/detail/kemet/ESK106M050AC3DA/13176616,,,Capacitor_THT:CP_Radial_D8.0mm_P3.80mm,
+A5,D1,motor power return diode,1,2,,497-2738-5-ND,https://www.digikey.com/en/products/detail/stmicroelectronics/STPS10L25D/603763?s=N4IgTCBcDaICwE4DsBaMSDMAOFBWFAcgCIgC6AvkA,,,JPL Robotics:497-2738-5-ND,~
+A6,D8 D9,led diode,2,10,1N4148,1655-1N4148CT-ND,https://www.digikey.com/en/products/detail/smc-diode-solutions/1N4148/6022448,,,Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal,https://assets.nexperia.com/documents/data-sheet/1N4148_1N4448.pdf
+A7,F1,fuse holder,1,1,Fuse Holder,732-11376-ND,https://www.digikey.com/en/products/detail/würth-elektronik/696108003002/7244560?s=N4IgTCBcDaIGwE44EYAMAOVqDMWIF0BfIA,,,JPL Robotics:696108003002_5x20_fuseholder,~
+A8,J1 J5,male power header,2,"1 pack (J1,J5,J3,J4)",XT30-M,n/a,https://www.amazon.com/gp/product/B0875MBLNH/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1,,"needs mate, see other page",JPL Robotics:AMASS_XT30U-M_1x02_P5.0mm_Vertical,
+A9,J16 J17 J18,phoenix contact header,3,3,WM25701-ND,WM25701-ND,https://www.digikey.com/en/products/detail/molex/0395016006/2735254,,"needs mate, see other page
+
+alternative suppliers:
+- https://www.arrow.com/en/products/5452096/phoenix-contact
+- https://www.digikey.com/en/products/detail/phoenix-contact/5452096/5186808?s=N4IgTCBcDa4OxwLQEZkBYAMbEDkAiIAugL5A",JPL Robotics:277-11404-ND,
+A10,J7 J12 J15 J19,pwm header,3,4,TSW-104-07-F-T,TSW-104-07-F-T,https://www.digikey.com/en/products/detail/samtec-inc/TSW-104-07-F-T/6691937,,,JPL Robotics:SSW-104-01-F-T,
+A11,J20 J30,test pin header,2,4,PEC08SAAN,S1012E-08-ND,https://www.digikey.com/en/products/detail/sullins-connector-solutions/PEC08SAAN/859161?s=N4IgTCBcDaIAoFEDCAGAHAZQIJYHIgF0BfIA,,,Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical,
+A12,J21,interconnect header,1,1,PPTC102LFBN-RC,PPTC102LFBN-RC,https://www.digikey.com/en/products/detail/sullins-connector-solutions/PPTC102LFBN-RC/810216?s=N4IgTCBcDaIApwCoGECMAGMAZAYgIQDkBaAJWRAF0BfIA,,,JPL Robotics:PPTC102LFBN-RC,
+A13,J22 J23,rpi header,2,2,S9175-ND_rpi_breakout,S9175-ND,https://www.digikey.com/en/products/detail/sullins-connector-solutions/SBH11-PBPC-D20-ST-BK/1990068?s=N4IgTCBcDaIMoE4CMB2ArAWgHIBEQF0BfIA,,,JPL Robotics:S9175-ND,
+A14,J24,arduino header,1,2,6posheader,455-1708-ND,https://www.digikey.com/en/products/detail/jst-sales-america-inc/B6B-PH-K-S-LF-SN/926615?s=N4IgTCBcDaICwFYEFoCMB2ADADmQOQBEQBdAXyA,,,JPL Robotics:455-1708-ND,
+A15,J25,rpi i2c header,1,0,SSW-104-01-F-T,SSW-104-01-F-T-ND,https://www.digikey.com/en/products/detail/samtec-inc/SSW-104-01-F-T/7873826?s=N4IgTCBcDaIMpwOoFoCMAGALM9rkDFkAVEAXQF8g,,Added +1 of TSW-104-07-F-T. Needs cleanup in kicad files,JPL Robotics:SSW-104-01-F-T,
+A16,J26,"board interconnect header, brain board side",1,1,kk ,WM6548-ND,https://www.digikey.com/en/products/detail/molex/0702462001/760170?s=N4IgTCBcDaIOoFkBsBWALADgLQDkAiIAugL5A,,,JPL Robotics:WM6548-ND,
+A17,J27 J28 J29,brain board other breakout header,3,5,PPTC021LFBN-RC,S7000-ND,https://www.digikey.com/en/products/detail/sullins-connector-solutions/PPTC021LFBN-RC/810142?s=N4IgTCBcDaIApwCoGEAMYCMAZAYgIQDkBaAJWRAF0BfIA,,,JPL Robotics:PPTC021LFBN-RC,
+A18,J3 J4,female power header,2,"1 pack (J1,J5,J3,J4)",XT30-F,n/a,https://www.amazon.com/gp/product/B0875MBLNH/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1,,"needs mate, see other page",JPL Robotics:AMASS_XT30U-F_1x02_P5.0mm_Vertical,
+A19,J2 J6,power breakout terminal block,2,2,ED2580-ND,ED2580-ND,https://www.digikey.com/en/products/detail/on-shore-technology-inc/OSTTA024163/614529?s=N4IgTCBcDaIKIBEwFYAcAGAtAOQSAugL5A,,,JPL Robotics:ED2580-ND,
+A20,J8 J9 J10 J11 J13 J14,drive motor header,6,6,Molex_172675-0613,172675-0613,https://www.digikey.com/en/products/detail/molex/1726750613/5116933?s=N4IgTCBcDaIIwHYwDYEFYC0AGZcDMIAugL5A,,"needs mate, see other page",JPL Robotics:Molex_172675-0613,
+A21,Q1 Q2 Q3 Q4 Q5 Q6,led bjt transistor,6,10,2N3906,2N3906TAFSCT-ND,https://www.digikey.com/en/products/detail/onsemi/2N3906TA/975255,,,Package_TO_SOT_THT:TO-92_Inline,https://www.onsemi.com/pub/Collateral/2N3906-D.PDF
+A22,R10,,1,10,100,CF14JT100RCT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF14JT100R/1741261?s=N4IgjCBcoExaBjKAzAhgGwM4FMA0IB7KAbXADYBWAFgGYQBdfABwBcoQBlFgJwEsA7AOYgAvvjrQQSSGix5CJEDAoAGOoxCt2XPkNH4wAdirwpKDDnxFIpGjEp2GzNpE48BwseACcADm%2Bm0rKWCjYgKgxeMCq%2BFIHmclaKYCoqAAQA8gAWALaYTpouIACq-LwsGcgAstiomACu3Nj6IAC0cJLSPPXy1qRx9F6tEJ0JIX0ghjS%2BkfitJqMyFr2KNN5%2BkSIiQA,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,~
+A23,R15 R16 R17 R36 R37 R38,,6,10,10k,CF14JT10K0CT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF14JT10K0/1741265,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,~
+A24,R2 R3 R4 R5 R11 R12 R13 R14 R31 R32 R33 R34 R35,,13,25,4.7k,CF14JT4K70CT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF14JT4K70/1741428?s=N4IgjCBcoExaBjKAzAhgGwM4FMA0IB7KAbXADYBWAFgGYQBdfABwBcoQBlFgJwEsA7AOYgAvvjrQQSSGix5CJEDAoAGOoxCt2XPkNH4wATgAch%2BFJQYc%2BIpFIqGYpSuMVz02dYV2QVAHQA7AAEANYA8gAWALaYDMxskCAAqvy8LGHIALLYqJgArtzY%2BiAAtBCSHlbytqQBNMaO%2BCVU7pZyNoo0hiaNpW4VbV41So4iIkA,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,~
+A25,R21 R30,,2,10,0,CD14ZT0R00CT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CD14ZT0R00/1741230,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,
+A26,R18 R19 R20 R22 R23 R24,,6,10,68,CF14JT68R0CT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF14JT68R0/1741487,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,
+A27,R25 R26 R27 R28 R29,,5,10,82,CF14JT82R0CT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF14JT82R0/1741513,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,
+A28,R1 R6 R7,,3,10,1k,CF14JT1K00CT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF14JT1K00/1741314,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,~
+A29,R8,,1,10,680,CF14JT680RCT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF14JT680R/1741489?s=N4IgjCBcoExaBjKAzAhgGwM4FMA0IB7KAbXADYBWAFgGYQBdfABwBcoQBlFgJwEsA7AOYgAvvjrQQSSGix5CJEDAoAGOoxCt2XPkNH4wZeFJQYc%2BIpFI0wAdjABOFQ2ZtInHgOFilKgBwUxtKy5gpWIGR%2BKgAEALYA8gAWsZgg%2BJExSSkumm4gAKr8vCzxyACy2KiYAK7c2PogALQQksFm8paktjR%2BDD6NVEGmchaKNA4OvfT9ga3DoZ1KfSIiQA,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,
+A30,R9,,1,10,220,CF14JT220RCT-ND,https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF14JT220R/1741346,,,Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal,
+A31,RC1 RC2 RC3,roboclaw,3,3,RoboClaw,n/a,https://www.basicmicro.com/Roboclaw-2x7A-Motor-Controller_p_55.html,Available,appears to be sold out everywhere but basicmicro,JPL Robotics:roboclaw_mount,
+A32,SW1,estop switches,1,1,CT206124-ND,CT206124-ND,https://www.digikey.com/en/products/detail/cts-electrocomponents/206-124/20816?s=N4IgTCBcDaIMIBUwAYBsBGMAWAtAOQBEQBdAXyA,Available,,JPL Robotics:CTS-206-124,
+A33,U1,ina260 power measurement unit,1,1,INA260,1528-2955-ND,https://www.digikey.com/en/products/detail/adafruit-industries-llc/4226/10130492,Not available. Use bypass resistor or build breakout board yourself.,"Appears to be sold out everywhere right now.
+
+Can bypass on the motor board using 0 ohm resistor (R30)
+
+Alternative is to buy the TI chip itself and assemble the adafruit breakout board separately yourself. EagleCAD files here",JPL Robotics:INA260,
+A34,U2,pca9685 corner motor driver,1,1,PCA9685,n/a,https://www.mouser.com/ProductDetail/Adafruit/815?qs=GURawfaeGuCGKbWyy9179Q%3D%3D,Available,"Alternative sellers:
+- rs-online
+- https://www.digikey.com/en/products/detail/adafruit-industries-llc/815/4990757 ",JPL Robotics:PCA9685_servo_controller,
+A35,U3,12v regulator,1,1,D24V22F12,n/a,https://www.pololu.com/product/2855,Available,,JPL Robotics:D24V22Fx_regulator,
+A36,U4,5v regulator,1,1,D24V150F5,2183-2881-ND,https://www.pololu.com/product/2881,Limited availability. Look for other suppliers if you can't find.,"Alternative sellers:
+- https://www.digikey.com/en/products/detail/pololu-corporation/2881/10451196
+- https://opencircuit.shop/product/5v-15a-step-down-voltage-regulator-d24v150f5
+- https://www.solarbotics.com/product/51017/ ",JPL Robotics:D24V150Fx,
+A37,U5 U6,LED array,2,2,DC10CGKWA,DC7G3HWA,https://www.digikey.com/en/products/detail/kingbright/DC10CGKWA/4098422?lang=en&s=N4IgTCBcDaICIGECMAGBBxA0gdQIIgF0BfIA&site=US,Available,Used DC7G3HWA originally for v2.0.1 . That's obsolete now.,JPL Robotics:DC7G3HWA_led_array,
+A38,U7,3.3v regulator,1,2,MIC2937A-3.3WT,576-2235-ND,https://www.digikey.com/en/products/detail/microchip-technology/MIC2937A-3-3WT/1029168,Available,,Package_TO_SOT_THT:TO-220-3_Vertical,
\ No newline at end of file
diff --git a/electrical/pcb/control_board/BOM/v2.0.3/bom_v2.0.3_other_parts.csv b/electrical/pcb/control_board/BOM/v2.0.3/bom_v2.0.3_other_parts.csv
new file mode 100644
index 00000000..1adb0abf
--- /dev/null
+++ b/electrical/pcb/control_board/BOM/v2.0.3/bom_v2.0.3_other_parts.csv
@@ -0,0 +1,17 @@
+UID,Name,Quantity,Number to Order,Value,Digi-Key Part,URL,Availability,Notes
+B1,Fuse,1,2,Medium Blow Fuse,F3631-ND,https://www.digikey.com/en/products/detail/littelfuse-inc/0233010-MXP/2024797,,
+B2,roboclaw terminal block connector,3,3,WM13033-ND,WM13033-ND,https://www.digikey.com/en/products/detail/molex/0395005006/2735121,,"Alternates:
+- https://www.arrow.com/en/products/5434586/phoenix-contact?q=5434586
+- https://www.digikey.com/en/products/detail/phoenix-contact/5434586/4389762?s=N4IgTCBcDa4OxwLQEZlgMwBZEDkAiIAugL5A "
+B3,power connectors,4,"1 pack (same as J1,J5,J3,J4)",xt30 connectors,,https://www.amazon.com/gp/product/B0875MBLNH/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1,,
+B4,drive motor connectors,6,1 pack,Molex 6 pin connector with cables prepopulated,WM16239-ND,https://www.amazon.com/Amangny-Extension-Power-Express-Adapter/dp/B09NBRQ9CC/ref=d_pd_di_sccai_cn_sccl_1_2/132-2870541-3760859?pd_rd_w=i3aLM&content-id=amzn1.sym.e13de93e-5518-4644-8e6b-4ee5f2e0b062&pf_rd_p=e13de93e-5518-4644-8e6b-4ee5f2e0b062&pf_rd_r=Q8SBJZE0EGHXM3JQYA35&pd_rd_wg=zYt5h&pd_rd_r=3c7ef091-e8a3-4ba3-908b-bf7ee00aae2f&pd_rd_i=B09NBRQ9CC&psc=1,,just cut the wires and use the 6 pin connector side
+B5,rpi ribbon cable,1,2,,,https://www.adafruit.com/product/1988,,
+B6,solder seal wire connectors kit,1,1,,,https://www.amazon.com/Connectors-Connector-Waterproof-Insulated-Electrical/dp/B0BP812YSK/ref=sr_1_1_sspa?crid=IR0ZMDB6RTQ9&keywords=wire+solder+splice&qid=1679025380&sprefix=wire+solder+splice%2Caps%2C120&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyVlY5Sk5aMEJXMEJOJmVuY3J5cHRlZElkPUEwOTg2MzcwM1FIWElPQlU0SEw0NSZlbmNyeXB0ZWRBZElkPUEwODYyMzE0MUxDRU5SWFo4SkVIOSZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=,,
+B7,rpi 4B,1,1,,,https://www.raspberrypi.com/products/raspberry-pi-4-model-b/,,
+B8,assorted header kit,1,1,,,https://www.amazon.com/Glarks-1191Pcs-Housing-Connector-Compatible/dp/B07TB8QXMC/ref=sr_1_2?crid=1DA4PF0GMP8FO&keywords=Glarks+header+kit&qid=1679269444&sprefix=glarks+header+kit%2Caps%2C155&sr=8-2,,"For 5V&12v regs, roboclaws, ina260"
+B9,external switch,1,1,,708-3060-ND,https://www.digikey.com/en/products/detail/bulgin/C3920BAAAA/9598416,,Old version: https://www.digikey.com/product-detail/en/bulgin/C3900BA/1091-1026-ND/2747857
+B10,DC Multimeter,,,,,https://www.amazon.com/gp/product/B017FSED9I/,,
+B11,pca9685 and ina260 power pins header,1,1,5mm pitch terminal block header,ED1682-24-ND,https://www.digikey.com/en/products/detail/on-shore-technology-inc./EDSTL130%2F24/133461?utm_adgroup=Terminal%20Blocks%20-%20Headers%2C%20Plugs%20and%20Sockets&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Product_Connectors%2C%20Interconnects_NEW&utm_term=&utm_content=Terminal%20Blocks%20-%20Headers%2C%20Plugs%20and%20Sockets&gclid=CjwKCAjw5dqgBhBNEiwA7PryaDqziVb_gg6-eZDJirwOd0KriQbT5WwNHeIwejqHC7o9JZ8nbu_RyRoCldcQAvD_BwE,,Will need to break this in pieces to use for pca9685 and ina260
+B12,board standoffs kit - metric,1,1,,,https://www.amazon.com/HELIFOUNER-Spacers-Standoffs-Assortment-Tweezers/dp/B0B25BKNKK/ref=sr_1_8?crid=368EQQU16L7YW&keywords=m2.5+spacer+standoff+kit&qid=1679272746&sprefix=m2.5+spacer+standoff+kit%2Caps%2C159&sr=8-8,,
+B13,20 AWG wire,,,,,,,
+B14,16 AWG wire,,,,,,,
\ No newline at end of file
diff --git a/electrical/pcb/control_board/BOM/v2.0.3/digikey_bom_4-20-2023.csv b/electrical/pcb/control_board/BOM/v2.0.3/digikey_bom_4-20-2023.csv
new file mode 100644
index 00000000..5cb70292
--- /dev/null
+++ b/electrical/pcb/control_board/BOM/v2.0.3/digikey_bom_4-20-2023.csv
@@ -0,0 +1,35 @@
+"Index","Quantity","Part Number","Manufacturer Part Number","Description","Customer Reference","Available","Backorder","Unit Price","Extended Price USD"
+"1","20","399-9865-1-ND","C317C103K5R5TA7301","CAP CER 10000PF 50V X7R RADIAL","A1","20","0","0.16400","3.28"
+"2","10","399-18272-1-ND","ESK107M050AG3EA","CAP ALUM 100UF 20% 50V RADIAL","A2","10","0","0.24800","2.48"
+"3","10","399-14065-1-ND","C322C104K5R5TA7317","CAP CER 0.1UF 50V X7R RADIAL","A3","10","0","0.21100","2.11"
+"4","10","399-ESK106M050AC3DACT-ND","ESK106M050AC3DA","CAP ALUM 10UF 20% 50V RADIAL","A4","10","0","0.16200","1.62"
+"5","2","497-2738-5-ND","STPS10L25D","DIODE SCHOTTKY 25V 10A TO220AC","A5","2","0","1.93000","3.86"
+"6","10","1655-1N4148CT-ND","1N4148","DIODE GEN PURP 75V 300MA DO35","A6","10","0","0.10800","1.08"
+"7","1","732-11376-ND","696108003002","FUSEHOLDER BLOCKS - PCB - CLIP C","A7","1","0","0.68000","0.68"
+"8","4","TSW-104-07-F-T-ND","TSW-104-07-F-T","CONN HEADER VERT 12POS 2.54MM","A10","4","0","1.50000","6.00"
+"9","4","S1012E-08-ND","PEC08SAAN","CONN HEADER VERT 8POS 2.54MM","A11","4","0","0.47000","1.88"
+"10","1","S7078-ND","PPTC102LFBN-RC","CONN HDR 20POS 0.1 TIN PCB","A12","1","0","1.30000","1.30"
+"11","2","S9175-ND","SBH11-PBPC-D20-ST-BK","CONN HEADER VERT 40POS 2.54MM","A13","2","0","0.73000","1.46"
+"12","2","455-1708-ND","B6B-PH-K-S(LF)(SN)","CONN HEADER VERT 6POS 2MM","A14","2","0","0.36000","0.72"
+"13","1","WM6548-ND","0702462001","CONN HEADER VERT 20POS 2.54MM","A16","1","0","2.52000","2.52"
+"14","5","S7000-ND","PPTC021LFBN-RC","CONN HDR 2POS 0.1 TIN PCB","A17","5","0","0.32000","1.60"
+"15","2","ED2580-ND","OSTTA024163","TERM BLK 2P SIDE ENT 5.08MM PCB","A19","2","0","0.73000","1.46"
+"16","6","1726750613-ND","1726750613","CONN HEADER VERT 6POS 4.2MM","A20","6","0","2.27000","13.62"
+"17","10","2N3906TAFSCT-ND","2N3906TA","TRANS PNP 40V 0.2A TO92-3","A21","10","0","0.28500","2.85"
+"18","10","CF14JT100RCT-ND","CF14JT100R","RES 100 OHM 5% 1/4W AXIAL","A22","10","0","0.05600","0.56"
+"19","10","CF14JT10K0CT-ND","CF14JT10K0","RES 10K OHM 5% 1/4W AXIAL","A23","10","0","0.05600","0.56"
+"20","25","CF14JT4K70CT-ND","CF14JT4K70","RES 4.7K OHM 5% 1/4W AXIAL","A24","25","0","0.04040","1.01"
+"21","10","CD14ZT0R00CT-ND","CD14ZT0R00","RES 0 OHM JUMPER 1/4W AXIAL","A25","10","0","0.07900","0.79"
+"22","10","CF18JT68R0CT-ND","CF18JT68R0","RES 68 OHM 5% 1/8W AXIAL","A26","10","0","0.04500","0.45"
+"23","10","CF14JT82R0CT-ND","CF14JT82R0","RES 82 OHM 5% 1/4W AXIAL","A27","10","0","0.05600","0.56"
+"24","10","CF14JT1K00CT-ND","CF14JT1K00","RES 1K OHM 5% 1/4W AXIAL","A28","10","0","0.05600","0.56"
+"25","10","CF14JT680RCT-ND","CF14JT680R","RES 680 OHM 5% 1/4W AXIAL","A29","10","0","0.05600","0.56"
+"26","10","CF14JT220RCT-ND","CF14JT220R","RES 220 OHM 5% 1/4W AXIAL","A30","10","0","0.05600","0.56"
+"27","1","CT206124-ND","206-124","SWITCH SLIDE DIP SPDT 50MA 24V","A32","1","0","1.25000","1.25"
+"28","2","754-2186-ND","DC10CGKWA","LED BAR GRAPH 10SEG 570NM GRN","A37","2","0","3.26000","6.52"
+"29","2","576-2235-ND","MIC2937A-3.3WT","IC REG LINEAR 3.3V 750MA TO220-3","A38","2","0","3.02000","6.04"
+"30","2","F3631-ND","0233010.MXP","FUSE GLASS 10A 125VAC 5X20MM","B1","2","0","1.21000","2.42"
+"31","1","708-3060-ND","C3920BAAAA","SWITCH TOGGLE ON-OFF-ON","B9","1","0","3.28000","3.28"
+"32","1","ED1682-24-ND","EDSTL130/24","TERM BLOCK HDR 24POS VERT 5MM","B11","1","0","3.33000","3.33"
+"33","3","WM25701-ND","0395016006","TERM BLOCK HDR 6POS VERT 3.5MM","A9","3","0","2.02000","6.06"
+"34","3","WM13033-ND","0395005006","TERM BLOCK PLUG 6POS STR 3.5MM","B2","3","0","2.59000","7.77"
\ No newline at end of file
diff --git a/electrical/pcb/control_board/BOM/v2.0.3/digikey_upload_bom.png b/electrical/pcb/control_board/BOM/v2.0.3/digikey_upload_bom.png
new file mode 100644
index 00000000..fa2f4562
Binary files /dev/null and b/electrical/pcb/control_board/BOM/v2.0.3/digikey_upload_bom.png differ
diff --git a/electrical/pcb/control_board/BOM/v2.0.3/readme.md b/electrical/pcb/control_board/BOM/v2.0.3/readme.md
new file mode 100644
index 00000000..1af15037
--- /dev/null
+++ b/electrical/pcb/control_board/BOM/v2.0.3/readme.md
@@ -0,0 +1,7 @@
+"bom_v2.0.3_board_ref_parts.csv" are the parts that can be directly obtained from the BOM output in kicad
+
+"bom_v2.0.3_other_parts.csv" are ones that are part of more complex footprints, or peripheral parts
+
+"digikey_bom_4-20-2023.csv" is the BOM to order from digikey. Must be kept in sync with the other files.
+
+Use the "upload a file" option in digikey to upload the bom csv - see the image in this dir [digikey_upload_bom.png](./digikey_upload_bom.png)
\ No newline at end of file