Compare commits

..

18 Commits

Author SHA1 Message Date
e2dae71295 SW #43: Added SD/MMC interface to CubeMX 2025-09-21 22:31:33 -07:00
e23f2af04c ECAD #40: Re-add MicroSD card schematic 2025-09-21 19:46:02 -07:00
22bc55105c ECAD: 4-bit MicroSD schematic with pullups 2025-09-20 23:14:23 -07:00
8ddd22f832 SW #36: CubeMX debug led 2025-09-15 23:10:45 -07:00
07bd1658dc ECAD #32: Debug LED connected to PB12 2025-09-15 22:29:48 -07:00
dc5a3a794b ECAD#24: Added titles to remaining schematic pages 2025-09-15 22:05:02 -07:00
02aa71bd12 ECAD #23: Battery charging, status, and output regulation 2025-09-10 22:38:49 -07:00
bc724862ec Merge branch 'main' into ECAD-#22-debug-interface 2025-09-09 22:44:08 -04:00
a8df5f9a46 SW #24: Added SW debug and VCP interface to CubeMX config 2025-09-08 23:49:46 -07:00
ccd5cff310 ECAD #22: Added STDC14 connector with SW debug and VCP 2025-09-07 22:11:13 -07:00
b57de572bc #20-ECAD: renamed schematic sheets and inverted sheet pins 2025-09-06 22:33:00 -07:00
7a3b357c2d ECAD: created USB-C schematic 2025-09-06 22:11:49 -07:00
b1cd200d54 SW: updated CubeMX pins for MS5607 2025-09-06 21:10:07 -07:00
dce586a14a ECAD: barometric pressure sensor schematic 2025-09-06 18:22:36 -07:00
91e78c8352 ECAD: rectangular 18x40mm board outline 2025-09-04 22:58:01 -07:00
2ef965f2a1 Added 18mm diameter circular edge cut 2025-09-04 20:47:44 -07:00
d356c9c0b2 SW: Updated CubeMX pinout for 1092-1234-ND 2025-09-04 20:25:34 -07:00
ff24b2cab7 ECAD: Added schematic drawing for flash chip 2025-09-04 20:19:30 -07:00
39 changed files with 11717 additions and 468 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +1,95 @@
(kicad_pcb (version 20241229) (generator "pcbnew") (generator_version "9.0") (kicad_pcb
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(general
(thickness 1.6)
(legacy_teardrops no)
)
(paper "USLetter")
(layers
(0 "F.Cu" signal)
(2 "B.Cu" signal)
(9 "F.Adhes" user "F.Adhesive")
(11 "B.Adhes" user "B.Adhesive")
(13 "F.Paste" user)
(15 "B.Paste" user)
(5 "F.SilkS" user "F.Silkscreen")
(7 "B.SilkS" user "B.Silkscreen")
(1 "F.Mask" user)
(3 "B.Mask" user)
(17 "Dwgs.User" user "User.Drawings")
(19 "Cmts.User" user "User.Comments")
(21 "Eco1.User" user "User.Eco1")
(23 "Eco2.User" user "User.Eco2")
(25 "Edge.Cuts" user)
(27 "Margin" user)
(31 "F.CrtYd" user "F.Courtyard")
(29 "B.CrtYd" user "B.Courtyard")
(35 "F.Fab" user)
(33 "B.Fab" user)
(39 "User.1" user)
(41 "User.2" user)
(43 "User.3" user)
(45 "User.4" user)
)
(setup
(pad_to_mask_clearance 0)
(allow_soldermask_bridges_in_footprints no)
(tenting front back)
(aux_axis_origin 134.019 116.433)
(grid_origin 143.019 98.933)
(pcbplotparams
(layerselection 0x00000000_00000000_55555555_5755f5ff)
(plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000)
(disableapertmacros no)
(usegerberextensions no)
(usegerberattributes yes)
(usegerberadvancedattributes yes)
(creategerberjobfile yes)
(dashed_line_dash_ratio 12.000000)
(dashed_line_gap_ratio 3.000000)
(svgprecision 4)
(plotframeref no)
(mode 1)
(useauxorigin no)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(pdf_front_fp_property_popups yes)
(pdf_back_fp_property_popups yes)
(pdf_metadata yes)
(pdf_single_document no)
(dxfpolygonmode yes)
(dxfimperialunits yes)
(dxfusepcbnewfont yes)
(psnegative no)
(psa4output no)
(plot_black_and_white yes)
(sketchpadsonfab no)
(plotpadnumbers no)
(hidednponfab no)
(sketchdnponfab yes)
(crossoutdnponfab yes)
(subtractmaskfromsilk no)
(outputformat 1)
(mirror no)
(drillshape 1)
(scaleselection 1)
(outputdirectory "")
)
)
(net 0 "")
(gr_rect
(start 134.019 81.433)
(end 152.019 116.433)
(stroke
(width 0.05)
(type solid)
)
(fill no)
(layer "Edge.Cuts")
(uuid "fe18096d-9b0e-4e24-bab4-def8ea066e94")
)
(embedded_fonts no)
) )

View File

@@ -1,6 +1,6 @@
{ {
"board": { "board": {
"active_layer": 0, "active_layer": 25,
"active_layer_preset": "", "active_layer_preset": "",
"auto_track_width": true, "auto_track_width": true,
"hidden_netclasses": [], "hidden_netclasses": [],
@@ -62,9 +62,42 @@
"version": 5 "version": 5
}, },
"net_inspector_panel": { "net_inspector_panel": {
"col_hidden": [], "col_hidden": [
"col_order": [], false,
"col_widths": [], false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"custom_group_rules": [], "custom_group_rules": [],
"expanded_rows": [], "expanded_rows": [],
"filter_by_net_name": true, "filter_by_net_name": true,
@@ -75,7 +108,7 @@
"show_unconnected_nets": false, "show_unconnected_nets": false,
"show_zero_pad_nets": false, "show_zero_pad_nets": false,
"sort_ascending": true, "sort_ascending": true,
"sorting_column": -1 "sorting_column": 0
}, },
"open_jobsets": [], "open_jobsets": [],
"project": { "project": {

View File

@@ -2,12 +2,213 @@
"board": { "board": {
"3dviewports": [], "3dviewports": [],
"design_settings": { "design_settings": {
"defaults": {}, "defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": true,
"text_position": 0,
"units_format": 0
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [], "diff_pair_dimensions": [],
"drc_exclusions": [], "drc_exclusions": [],
"rules": {}, "meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_on_edge_cuts": "error",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_groove_width": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [], "track_widths": [],
"via_dimensions": [] "tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
}, },
"ipc2581": { "ipc2581": {
"dist": "", "dist": "",
@@ -418,8 +619,20 @@
"MCU" "MCU"
], ],
[ [
"136ef680-bc35-4392-97fd-ce1945133a1d", "3b69b8b5-74b9-4ef8-b089-9f6703a47935",
"MicroSD" "Pressure Sensor"
],
[
"1545cd58-ec56-43ca-991f-528eab9b04ea",
"USB"
],
[
"be3c13b5-9ed7-48d7-9628-fcde8ceb3f83",
"Battery"
],
[
"e94fe28b-7032-4620-a8c2-7db10727010e",
"MicroSD Card"
] ]
], ],
"text_variables": {} "text_variables": {}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -7,27 +7,34 @@ GPIO.groupedBy=
KeepUserPlacement=false KeepUserPlacement=false
Mcu.CPN=STM32L4Q5CGT6 Mcu.CPN=STM32L4Q5CGT6
Mcu.Family=STM32L4 Mcu.Family=STM32L4
Mcu.IP0=FATFS Mcu.IP0=NVIC
Mcu.IP1=NVIC Mcu.IP1=RCC
Mcu.IP2=RCC Mcu.IP2=SDMMC2
Mcu.IP3=SDMMC2 Mcu.IP3=SPI1
Mcu.IP4=SPI1 Mcu.IP4=SYS
Mcu.IP5=SYS Mcu.IP5=USART1
Mcu.IP6=USB_OTG_FS Mcu.IP6=USB_OTG_FS
Mcu.IPNb=7 Mcu.IPNb=7
Mcu.Name=STM32L4Q5CGTx Mcu.Name=STM32L4Q5CGTx
Mcu.Package=LQFP48 Mcu.Package=LQFP48
Mcu.Pin0=PA1 Mcu.Pin0=PA1
Mcu.Pin1=PA5 Mcu.Pin1=PA5
Mcu.Pin10=PA11
Mcu.Pin11=PA12
Mcu.Pin12=PA13 (JTMS/SWDIO)
Mcu.Pin13=PA14 (JTCK/SWCLK)
Mcu.Pin14=PB3 (JTDO/TRACESWO)
Mcu.Pin15=PB4 (NJTRST)
Mcu.Pin16=VP_SYS_VS_Systick
Mcu.Pin2=PA6 Mcu.Pin2=PA6
Mcu.Pin3=PA7 Mcu.Pin3=PA7
Mcu.Pin4=PB12 Mcu.Pin4=PB0
Mcu.Pin5=PB14 Mcu.Pin5=PB12
Mcu.Pin6=PA11 Mcu.Pin6=PB14
Mcu.Pin7=PA12 Mcu.Pin7=PB15
Mcu.Pin8=VP_FATFS_VS_SDIO Mcu.Pin8=PA9
Mcu.Pin9=VP_SYS_VS_Systick Mcu.Pin9=PA10
Mcu.PinsNb=10 Mcu.PinsNb=17
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32L4Q5CGTx Mcu.UserName=STM32L4Q5CGTx
@@ -44,22 +51,48 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
PA1.Mode=SD_1_bit PA1.Mode=SD_4_bits_Wide_bus
PA1.Signal=SDMMC2_CMD PA1.Signal=SDMMC2_CMD
PA10.Mode=Asynchronous
PA10.Signal=USART1_RX
PA11.Mode=Device_Only PA11.Mode=Device_Only
PA11.Signal=USB_OTG_FS_DM PA11.Signal=USB_OTG_FS_DM
PA12.Mode=Device_Only PA12.Mode=Device_Only
PA12.Signal=USB_OTG_FS_DP PA12.Signal=USB_OTG_FS_DP
PA13\ (JTMS/SWDIO).Locked=true
PA13\ (JTMS/SWDIO).Mode=Serial_Wire
PA13\ (JTMS/SWDIO).Signal=SYS_JTMS-SWDIO
PA14\ (JTCK/SWCLK).Locked=true
PA14\ (JTCK/SWCLK).Mode=Serial_Wire
PA14\ (JTCK/SWCLK).Signal=SYS_JTCK-SWCLK
PA5.GPIOParameters=GPIO_Label
PA5.GPIO_Label=PRES_SCK
PA5.Mode=Full_Duplex_Master PA5.Mode=Full_Duplex_Master
PA5.Signal=SPI1_SCK PA5.Signal=SPI1_SCK
PA6.GPIOParameters=GPIO_Label
PA6.GPIO_Label=PRES_MISO
PA6.Mode=Full_Duplex_Master PA6.Mode=Full_Duplex_Master
PA6.Signal=SPI1_MISO PA6.Signal=SPI1_MISO
PA7.GPIOParameters=GPIO_Label
PA7.GPIO_Label=PRES_MOSI
PA7.Mode=Full_Duplex_Master PA7.Mode=Full_Duplex_Master
PA7.Signal=SPI1_MOSI PA7.Signal=SPI1_MOSI
PB12.Mode=SD_1_bit PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
PB0.GPIOParameters=GPIO_Label
PB0.GPIO_Label=PRES_CS
PB0.Locked=true
PB0.Signal=GPIO_Output
PB12.Mode=SD_4_bits_Wide_bus
PB12.Signal=SDMMC2_CK PB12.Signal=SDMMC2_CK
PB14.Mode=SD_1_bit PB14.Mode=SD_4_bits_Wide_bus
PB14.Signal=SDMMC2_D0 PB14.Signal=SDMMC2_D0
PB15.Mode=SD_4_bits_Wide_bus
PB15.Signal=SDMMC2_D1
PB3\ (JTDO/TRACESWO).Mode=SD_4_bits_Wide_bus
PB3\ (JTDO/TRACESWO).Signal=SDMMC2_D2
PB4\ (NJTRST).Mode=SD_4_bits_Wide_bus
PB4\ (NJTRST).Signal=SDMMC2_D3
PinOutPanel.RotationAngle=0 PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false ProjectManager.BackupPrevious=false
@@ -92,7 +125,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath= ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_SDMMC2_SD_Init-SDMMC2-false-HAL-true,4-MX_SPI1_Init-SPI1-false-HAL-true,5-MX_FATFS_Init-FATFS-false-HAL-false,6-MX_USB_OTG_FS_PCD_Init-USB_OTG_FS-false-HAL-true ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_SPI1_Init-SPI1-false-HAL-true,4-MX_USB_OTG_FS_PCD_Init-USB_OTG_FS-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_SDMMC2_SD_Init-SDMMC2-false-HAL-true
RCC.ADCFreq_Value=48000000 RCC.ADCFreq_Value=48000000
RCC.AHBFreq_Value=120000000 RCC.AHBFreq_Value=120000000
RCC.APB1Freq_Value=120000000 RCC.APB1Freq_Value=120000000
@@ -158,10 +191,10 @@ SPI1.Direction=SPI_DIRECTION_2LINES
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate
SPI1.Mode=SPI_MODE_MASTER SPI1.Mode=SPI_MODE_MASTER
SPI1.VirtualType=VM_MASTER SPI1.VirtualType=VM_MASTER
USART1.IPParameters=VirtualMode-Asynchronous
USART1.VirtualMode-Asynchronous=VM_ASYNC
USB_OTG_FS.IPParameters=VirtualMode USB_OTG_FS.IPParameters=VirtualMode
USB_OTG_FS.VirtualMode=Device_Only USB_OTG_FS.VirtualMode=Device_Only
VP_FATFS_VS_SDIO.Mode=SDIO
VP_FATFS_VS_SDIO.Signal=FATFS_VS_SDIO
VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick VP_SYS_VS_Systick.Signal=SYS_VS_Systick
board=custom board=custom