Skip to content

Commit

Permalink
PCB for ARM Cortex-M3 MCU
Browse files Browse the repository at this point in the history
  • Loading branch information
exarchou committed Apr 7, 2023
1 parent c0e9594 commit 0656b70
Show file tree
Hide file tree
Showing 100 changed files with 35,669 additions and 3 deletions.
67 changes: 64 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,67 @@
# PCB Design for ARM Cortex-M3

This project involves the schematic and PCB design of an Arduino like PCB for ARM Cortex-M3 MCU.

A 9V Battery connector and a Voltage Regulator were used from the side of the Power Supply.

For the MCU, several circuits were designed, such as Bypass Capacitors for the Analog and Digital Power, Crystal Oscillators, Reset Button, Serial Wire Debug Interface, Boot Options and the routing of 30 GPIO pins.



### Schematic MCU

<img src="/Smart_MCU/Images/Schematic_MCU.png" >



### Schematic Power Supply

<img src="/Smart_MCU/Images/Schematic_PS.png" >





### PCB before Polygons

<img src="/Smart_MCU/Images/PCB_2D_before_poly.png">





<img src="/Smart_MCU/Images/PCB_3D_before_poly.png">



<img src="/Smart_MCU/Images/PCB_3D_before_poly_back.png">



### PCB after Polygons

<img src="/Smart_MCU/Images/PCB_2D_after_poly.png">



<img src="/Smart_MCU/Images/PCB_3D_after_poly.png">



<img src="/Smart_MCU/Images/PCB_3D_after_poly_back.png">



### Bill of Materials

<img src="/Smart_MCU/Images/bill_of_mat.png">



---



# Altium 5V Regulator PCB design

This project involves the schematic and PCB design of a 5V Voltage Regulator using commercial components and the add-on Altium Library Loader.
Expand Down Expand Up @@ -102,6 +166,3 @@ The PCB design will consist of a two-layer configuration where all the component



### PCB 3D

<img src="USB_to_UART_Altium/Images/pcb3d.png">
Binary file added Smart_MCU/AltiumProject/MCU.SchDoc
Binary file not shown.
Binary file added Smart_MCU/AltiumProject/PowerSupply.SchDoc
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Change Component Designator: Old Designator=U? New Designator=U2
Change Component Designator: Old Designator=U? New Designator=U2
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Change Component Designator: Old Designator=U? New Designator=U2
Change Component Designator: Old Designator=U? New Designator=U2
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Change Component Designator: Old Designator=C? New Designator=C4
Change Component Designator: Old Designator=C? New Designator=C5
Change Component Designator: Old Designator=C? New Designator=C6
Change Component Designator: Old Designator=C? New Designator=C7
Change Component Designator: Old Designator=C? New Designator=C8
Change Component Designator: Old Designator=C? New Designator=C9
Change Component Designator: Old Designator=C? New Designator=C10
Change Component Designator: Old Designator=C? New Designator=C11
Change Component Designator: Old Designator=C? New Designator=C12
Change Component Designator: Old Designator=C? New Designator=C13
Change Component Designator: Old Designator=C? New Designator=C14
Change Component Designator: Old Designator=C? New Designator=C15
Change Component Designator: Old Designator=P? New Designator=P2
Change Component Designator: Old Designator=P? New Designator=P3
Change Component Designator: Old Designator=R? New Designator=R1
Change Component Designator: Old Designator=R? New Designator=R2
Change Component Designator: Old Designator=S? New Designator=S1
Change Component Designator: Old Designator=U? New Designator=U3
Change Component Designator: Old Designator=Y? New Designator=Y1
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Change Component Designator: Old Designator=C? New Designator=C12
Change Component Designator: Old Designator=C? New Designator=C13
Change Component Designator: Old Designator=C? New Designator=C14
Change Component Designator: Old Designator=C? New Designator=C15
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Change Component Designator: Old Designator=C? New Designator=C16
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Change Component Designator: Old Designator=C? New Designator=C12
Change Component Designator: Old Designator=C? New Designator=C13
Change Component Designator: Old Designator=C? New Designator=C14
Change Component Designator: Old Designator=C? New Designator=C15
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
Change Component Designator: Old Designator=P? New Designator=P4
Change Component Designator: Old Designator=P? New Designator=P5
Change Component Designator: Old Designator=R? New Designator=R3
Change Component Designator: Old Designator=R? New Designator=R4
Change Component Designator: Old Designator=R? New Designator=R5
Change Component Designator: Old Designator=R? New Designator=R6
Change Component Designator: Old Designator=R? New Designator=R7
Change Component Designator: Old Designator=R? New Designator=R8
Change Component Designator: Old Designator=R? New Designator=R9
Change Component Designator: Old Designator=R? New Designator=R10
Change Component Designator: Old Designator=R? New Designator=R11
Change Component Designator: Old Designator=R? New Designator=R12
Change Component Designator: Old Designator=R? New Designator=R13
Change Component Designator: Old Designator=R? New Designator=R14
Change Component Designator: Old Designator=R? New Designator=R15
Change Component Designator: Old Designator=R? New Designator=R16
Change Component Designator: Old Designator=R? New Designator=R17
Change Component Designator: Old Designator=R? New Designator=R18
Change Component Designator: Old Designator=R? New Designator=R19
Change Component Designator: Old Designator=R? New Designator=R20
Change Component Designator: Old Designator=R? New Designator=R21
Change Component Designator: Old Designator=R? New Designator=R22
Change Component Designator: Old Designator=R? New Designator=R23
Change Component Designator: Old Designator=R? New Designator=R24
Change Component Designator: Old Designator=R? New Designator=R25
Change Component Designator: Old Designator=R? New Designator=R26
Change Component Designator: Old Designator=R? New Designator=R27
Change Component Designator: Old Designator=R? New Designator=R28
Change Component Designator: Old Designator=R? New Designator=R29
Change Component Designator: Old Designator=R? New Designator=R30
Change Component Designator: Old Designator=R? New Designator=R31
Change Component Designator: Old Designator=R? New Designator=R32
Change Component Designator: Old Designator=R? New Designator=R33
Change Component Designator: Old Designator=R? New Designator=R34
Change Component Designator: Old Designator=R? New Designator=R35
Change Component Designator: Old Designator=R? New Designator=R36
Change Component Designator: Old Designator=R? New Designator=R37
Change Component Designator: Old Designator=R? New Designator=R38
Change Component Designator: Old Designator=R? New Designator=R39
Change Component Designator: Old Designator=R? New Designator=R40
Change Component Designator: Old Designator=R? New Designator=R41
Change Component Designator: Old Designator=R? New Designator=R42
Change Component Designator: Old Designator=R? New Designator=R43
Change Component Designator: Old Designator=R? New Designator=R44
Change Component Designator: Old Designator=R? New Designator=R45
Change Component Designator: Old Designator=R? New Designator=R46
Change Component Designator: Old Designator=R? New Designator=R47
Change Component Designator: Old Designator=R? New Designator=R48
Change Component Designator: Old Designator=R? New Designator=R49
Change Component Designator: Old Designator=R? New Designator=R50
Change Component Designator: Old Designator=R? New Designator=R51
Change Component Designator: Old Designator=R? New Designator=R52
Change Component Designator: Old Designator=R? New Designator=R53
Change Component Designator: Old Designator=R? New Designator=R54
Change Component Designator: Old Designator=R? New Designator=R55
Change Component Designator: Old Designator=R? New Designator=R56
Change Component Designator: Old Designator=R? New Designator=R57
Change Component Designator: Old Designator=R? New Designator=R58
Change Component Designator: Old Designator=R? New Designator=R59
Change Component Designator: Old Designator=R? New Designator=R60
Change Component Designator: Old Designator=R? New Designator=R61
Change Component Designator: Old Designator=R? New Designator=R62
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change Component Designator: Old Designator=C? New Designator=C1
Change Component Designator: Old Designator=C? New Designator=C2
Change Component Designator: Old Designator=C? New Designator=C3
Change Component Designator: Old Designator=P? New Designator=P1
Change Component Designator: Old Designator=U? New Designator=U1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Change Component Designator: Old Designator=D? New Designator=D1
Change Component Designator: Old Designator=R? New Designator=R2
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
Added Component: Designator=C1(C1206)
Add component (AddParameter): Name = "LatestRevisionDate"; Value = "29-May-2009"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "LatestRevisionNote"; Value = "IPC-7351 Footprint Added."; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageDescription"; Value = "Chip Capacitor"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageReference"; Value = "C1206"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Published"; Value = "8-Jun-2000"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Publisher"; Value = "Altium Limited"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Value"; Value = "100nF"; VariantName = "[No Variations]"
Added Component: Designator=C2(RAD-0.3)
Add component (AddParameter): Name = "LatestRevisionDate"; Value = "17-Jul-2002"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "LatestRevisionNote"; Value = "Re-released for DXP Platform."; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageDescription"; Value = "Radial Cap, Thru-Hole; 2 Leads; 0.3 in Pin Spacing"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageReference"; Value = "RAD-0.3"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Published"; Value = "8-Jun-2000"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Publisher"; Value = "Altium Limited"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Value"; Value = "10uF"; VariantName = "[No Variations]"
Added Component: Designator=C3(RAD-0.3)
Add component (AddParameter): Name = "LatestRevisionDate"; Value = "17-Jul-2002"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "LatestRevisionNote"; Value = "Re-released for DXP Platform."; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageDescription"; Value = "Radial Cap, Thru-Hole; 2 Leads; 0.3 in Pin Spacing"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageReference"; Value = "RAD-0.3"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Published"; Value = "8-Jun-2000"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Publisher"; Value = "Altium Limited"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Value"; Value = "100uF"; VariantName = "[No Variations]"
Added Component: Designator=P1(HDR1X2H)
Add component (AddParameter): Name = "LatestRevisionDate"; Value = "17-Jul-2002"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "LatestRevisionNote"; Value = "Re-released for DXP Platform."; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Publisher"; Value = "Altium Limited"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Voltage"; Value = "9V"; VariantName = "[No Variations]"
Added Component: Designator=U1(4-Pin SOT)
Add component (AddParameter): Name = "ComponentLink1Description"; Value = "datasheet"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "ComponentLink1URL"; Value = "https://www.ti.com/lit/ds/symlink/lm1117.pdf?ts=1680684089578"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Output Voltage"; Value = "3.3V"; VariantName = "[No Variations]"
Added Pin To Net: NetName=+3.3V Pin=C3-2
Added Pin To Net: NetName=+3.3V Pin=U1-2
Added Pin To Net: NetName=+3.3V Pin=U1-2
Added Net: Name=+3.3V
Added Pin To Net: NetName=+9V Pin=C1-2
Added Pin To Net: NetName=+9V Pin=C2-2
Added Pin To Net: NetName=+9V Pin=P1-2
Added Pin To Net: NetName=+9V Pin=U1-0
Added Net: Name=+9V
Added Pin To Net: NetName=GND Pin=C1-1
Added Pin To Net: NetName=GND Pin=C2-1
Added Pin To Net: NetName=GND Pin=C3-1
Added Pin To Net: NetName=GND Pin=P1-1
Added Pin To Net: NetName=GND Pin=U1-1
Added Net: Name=GND
Added Class: Name=main
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Added Component: Designator=C1(C1206)
Add component (AddParameter): Name = "LatestRevisionDate"; Value = "29-May-2009"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "LatestRevisionNote"; Value = "IPC-7351 Footprint Added."; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageDescription"; Value = "Chip Capacitor"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageReference"; Value = "C1206"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Published"; Value = "8-Jun-2000"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Publisher"; Value = "Altium Limited"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Value"; Value = "100nF"; VariantName = "[No Variations]"
Added Component: Designator=C2(RAD-0.3)
Add component (AddParameter): Name = "LatestRevisionDate"; Value = "17-Jul-2002"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "LatestRevisionNote"; Value = "Re-released for DXP Platform."; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageDescription"; Value = "Radial Cap, Thru-Hole; 2 Leads; 0.3 in Pin Spacing"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageReference"; Value = "RAD-0.3"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Published"; Value = "8-Jun-2000"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Publisher"; Value = "Altium Limited"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Value"; Value = "10uF"; VariantName = "[No Variations]"
Added Component: Designator=C3(RAD-0.3)
Add component (AddParameter): Name = "LatestRevisionDate"; Value = "17-Jul-2002"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "LatestRevisionNote"; Value = "Re-released for DXP Platform."; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageDescription"; Value = "Radial Cap, Thru-Hole; 2 Leads; 0.3 in Pin Spacing"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "PackageReference"; Value = "RAD-0.3"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Published"; Value = "8-Jun-2000"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Publisher"; Value = "Altium Limited"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Value"; Value = "100uF"; VariantName = "[No Variations]"
Added Component: Designator=P1(HDR1X2H)
Add component (AddParameter): Name = "LatestRevisionDate"; Value = "17-Jul-2002"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "LatestRevisionNote"; Value = "Re-released for DXP Platform."; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Publisher"; Value = "Altium Limited"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Voltage"; Value = "9V"; VariantName = "[No Variations]"
Added Component: Designator=U1(4-Pin SOT)
Add component (AddParameter): Name = "ComponentLink1Description"; Value = "datasheet"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "ComponentLink1URL"; Value = "https://www.ti.com/lit/ds/symlink/lm1117.pdf?ts=1680684089578"; VariantName = "[No Variations]"
Add component (AddParameter): Name = "Output Voltage"; Value = "3.3V"; VariantName = "[No Variations]"
Added Pin To Net: NetName=+3.3V Pin=C3-2
Added Pin To Net: NetName=+3.3V Pin=U1-2
Added Pin To Net: NetName=+3.3V Pin=U1-2
Added Net: Name=+3.3V
Added Pin To Net: NetName=+9V Pin=C1-2
Added Pin To Net: NetName=+9V Pin=C2-2
Added Pin To Net: NetName=+9V Pin=P1-2
Added Pin To Net: NetName=+9V Pin=U1-0
Added Net: Name=+9V
Added Pin To Net: NetName=GND Pin=C1-1
Added Pin To Net: NetName=GND Pin=C2-1
Added Pin To Net: NetName=GND Pin=C3-1
Added Pin To Net: NetName=GND Pin=P1-1
Added Pin To Net: NetName=GND Pin=U1-1
Added Net: Name=GND
Added Member To Class: ClassName=main Member=Component C1 Cap Semi
Added Member To Class: ClassName=main Member=Component C2 Tantalum Cap
Added Member To Class: ClassName=main Member=Component C3 Tantalum Cap
Added Member To Class: ClassName=main Member=Component P1 Battery Connection 9V
Added Member To Class: ClassName=main Member=Component U1 LDO Regulator
Loading

0 comments on commit 0656b70

Please sign in to comment.