Compare commits

...
14 Commits
Author SHA1 Message Date
Maxluli afad9e813c Update after testing 2026-08-16 02:51:29 +02:00
Maxluli 51d6ae0c19 Assembly and first results (and first mistakes) 2026-08-01 13:37:52 +02:00
Maxluli 81729ff39e Added known issues before assembly 2026-07-28 07:46:42 +02:00
Maxluli d62a31dbb6 Added Readme 2026-07-18 14:58:39 +02:00
Maxluli 0364ad516f Last edits before sending to production 2026-07-17 16:28:58 +02:00
Maxluli 82671e4017 Board ready for production 2026-07-15 15:56:00 +02:00
Maxluli e9a44cde63 added gitinore 2026-07-13 14:17:31 +02:00
Maxluli 8bb2b49238 Finished initial layout 2026-07-13 14:11:39 +02:00
Maxluli f43b203270 Wired all the ADCs 2026-07-13 10:45:22 +02:00
Maxluli 272346629b Started wiring the ADCs 2026-07-12 18:25:53 +02:00
Maxluli d3c295670b Advanced on the layout 2026-07-12 16:59:42 +02:00
Maxluli 29f1f73a01 Progress on the layout 2026-07-09 18:35:25 +02:00
Maxluli 7326734320 Multi channle shinanegans 2026-07-09 16:29:56 +02:00
Maxluli 4606285ee9 Multi channel layout set up for the 12 channels of audio acquisition 2026-07-08 18:10:54 +02:00
54 changed files with 507274 additions and 62977 deletions
Vendored
BIN
View File
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
Cacao-backups/
View File
+3654 -2311
View File
File diff suppressed because it is too large Load Diff
+19425 -15012
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+10 -10
View File
@@ -1,11 +1,11 @@
"Reference","Qty","Value","DNP","Exclude from BOM","Exclude from Board","Footprint","MPN" "Reference","Qty","Value","DNP","Exclude from BOM","Exclude from Board","Footprint","MPN"
"C1,C4,C6,C8,C123","5","4.7uF","-- mixed values --","-- mixed values --","-- mixed values --","Capacitor_SMD:C_0805_2012Metric","GRM21BR61H475KE51L" "C1,C4,C6,C8,C123","5","4.7uF","","","","Capacitor_SMD:C_0805_2012Metric","GRM21BR61H475KE51L"
"C2,C3","2","15pf","","","","Capacitor_SMD:C_0603_1608Metric","CC0603JRNPO9BN150" "C2,C3","2","15pf","","","","Capacitor_SMD:C_0603_1608Metric","CC0603JRNPO9BN150"
"C5,C7,C9,C10,C11,C12,C13,C14,C15,C16,C17,C91,C94,C96,C98,C100,C102,C105,C107,C109,C111,C114,C116,C118,C119,C122,C124,C125,C126,C127,C128,C129,C130,C139,C144,C148","36","0.1uF","","","","Capacitor_SMD:C_0603_1608Metric","KGM15BR71H104KT" "C5,C7,C9,C10,C11,C12,C13,C14,C15,C16,C17,C91,C94,C96,C98,C100,C102,C105,C107,C109,C111,C114,C116,C118,C119,C122,C124,C125,C126,C127,C128,C129,C130,C139,C144,C148","36","0.1uF","","","","Capacitor_SMD:C_0603_1608Metric","KGM15BR71H104KT"
"C18,C19,C20,C21,C42,C43,C44,C45,C66,C67,C68,C69","12","470pF/50V","","","","Capacitor_SMD:C_0603_1608Metric","CL10B471KB8NNNC" "C18,C19,C28,C29,C42,C43,C44,C45,C66,C67,C68,C69","12","470pF/50V","","","","Capacitor_SMD:C_0603_1608Metric","CL10B471KB8NNNC"
"C22,C24,C25,C27,C28,C30,C31,C33,C46,C48,C49,C51,C52,C54,C55,C57,C70,C72,C73,C75,C76,C78,C79,C81","24","33pF","","","","Capacitor_SMD:C_0603_1608Metric","C0603C330J1HACTU" "C20,C22,C24,C25,C30,C32,C33,C37,C46,C48,C49,C51,C52,C54,C55,C57,C70,C72,C73,C75,C76,C78,C79,C81","24","33pF","","","","Capacitor_SMD:C_0603_1608Metric","C0603C330J1HACTU"
"C23,C26,C29,C32,C47,C50,C53,C56,C71,C74,C77,C80,C121,C131","14","0.01uF","","","","Capacitor_SMD:C_0603_1608Metric","0603B103K101CT" "C21,C23,C31,C36,C47,C50,C53,C56,C71,C74,C77,C80,C121,C131","14","0.01uF","","","","Capacitor_SMD:C_0603_1608Metric","0603B103K101CT"
"C34,C35,C36,C37,C38,C39,C40,C41,C58,C59,C60,C61,C62,C63,C64,C65,C82,C83,C84,C85,C86,C87,C88,C89,C90,C95,C97,C99,C101,C106,C108,C110,C115,C117,C142,C143,C145,C147","38","1uF","","","","Capacitor_SMD:C_0805_2012Metric","CL21B105KBFNFNE" "C26,C27,C34,C35,C38,C39,C40,C41,C58,C59,C60,C61,C62,C63,C64,C65,C82,C83,C84,C85,C86,C87,C88,C89,C90,C95,C97,C99,C101,C106,C108,C110,C115,C117,C142,C143,C145,C147","38","1uF","","","","Capacitor_SMD:C_0805_2012Metric","CL21B105KBFNFNE"
"C92,C93,C103,C104,C112,C113,C120,C138,C146","9","10uF","","","","Capacitor_SMD:C_0805_2012Metric","CL21A106KOQNNNG" "C92,C93,C103,C104,C112,C113,C120,C138,C146","9","10uF","","","","Capacitor_SMD:C_0805_2012Metric","CL21A106KOQNNNG"
"C132,C140,C141","3","22uF","","","","Capacitor_SMD:C_0603_1608Metric","CL10A226MP8NUNE" "C132,C140,C141","3","22uF","","","","Capacitor_SMD:C_0603_1608Metric","CL10A226MP8NUNE"
"C133,C134","2","6.8nF","","","","Capacitor_SMD:C_0603_1608Metric","CL10B682JB8NNNC" "C133,C134","2","6.8nF","","","","Capacitor_SMD:C_0603_1608Metric","CL10B682JB8NNNC"
@@ -18,11 +18,10 @@
"IC1","1","SC1512-A4","","","","Samacsys:QFN40P1000X1000X90-81N-D","SC1512-A4" "IC1","1","SC1512-A4","","","","Samacsys:QFN40P1000X1000X90-81N-D","SC1512-A4"
"IC2,IC3,IC4","3","TLV320ADC5140IRTWR","","","","Samacsys:QFN50P400X400X80-25N-D","TLV320ADC5140IRTWR" "IC2,IC3,IC4","3","TLV320ADC5140IRTWR","","","","Samacsys:QFN50P400X400X80-25N-D","TLV320ADC5140IRTWR"
"IC5","1","AP63203WU-7","","","","Samacsys:AP63203WU7","AP63203WU-7" "IC5","1","AP63203WU-7","","","","Samacsys:AP63203WU7","AP63203WU-7"
"IC6","1","APS6404L-3SQR-SN","","","","Snapeda:SOIC127P600X175-8N","APS6404L-3SQR-SN" "IC6","1","8MB RAM","","","","Package_SO:SOIC-8_3.9x4.9mm_P1.27mm","APS6404L-3SQR-SN"
"IC7","1","LP5907MFX-3.3_NOPB","","","","Package_TO_SOT_SMD:SOT-23-5","LP5907MFX-3.3_NOPB"
"J1","1","SWD connector","","","","Samacsys:SM03BSRSSTBLFSN","SM03B-SRSS-TB(LF)(SN)" "J1","1","SWD connector","","","","Samacsys:SM03BSRSSTBLFSN","SM03B-SRSS-TB(LF)(SN)"
"J2","1","Conn_01x18_Pin","","Excluded from BOM","","Connector_PinHeader_2.54mm:PinHeader_1x18_P2.54mm_Vertical","" "J4","1","USB4216-03-A","","","","Samacsys:USB421603A","USB4216-03-A"
"J3","1","Conn_01x10_Pin","","Excluded from BOM","","Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical",""
"J4","1","USB-C","","","","Snapeda:TE_2340901-1","2340901-1"
"J5,J6,J7,J8,J9,J10,J11,J12,J13,J14,J15,J16","12","10118193-0001LF","","","","Snapeda:AMPHENOL_10118193-0001LF","10118193-0001LF" "J5,J6,J7,J8,J9,J10,J11,J12,J13,J14,J15,J16","12","10118193-0001LF","","","","Snapeda:AMPHENOL_10118193-0001LF","10118193-0001LF"
"J17","1","7499211122A","","","","Samacsys:7499410213","7499211122A" "J17","1","7499211122A","","","","Samacsys:7499410213","7499211122A"
"J18","1","MSD-1-A","","","","Samacsys:MSD1A","MSD-1-A" "J18","1","MSD-1-A","","","","Samacsys:MSD1A","MSD-1-A"
@@ -44,10 +43,11 @@
"R26,R27,R29","3","1.5K","","","","Resistor_SMD:R_0603_1608Metric","WR06X152 JTL" "R26,R27,R29","3","1.5K","","","","Resistor_SMD:R_0603_1608Metric","WR06X152 JTL"
"R28","1","3.3K","","","","Resistor_SMD:R_0603_1608Metric","RC0603FR-073K3L" "R28","1","3.3K","","","","Resistor_SMD:R_0603_1608Metric","RC0603FR-073K3L"
"R31,R32,R33,R34,R35","5","47K","","","","Resistor_SMD:R_0603_1608Metric","AC0603JR-0747KL" "R31,R32,R33,R34,R35","5","47K","","","","Resistor_SMD:R_0603_1608Metric","AC0603JR-0747KL"
"R37","1","0ohm","","","","Resistor_SMD:R_0603_1608Metric","RC0603FR-070RL"
"R38,R39,R40,R41","4","33R","","","","Resistor_SMD:R_0603_1608Metric","CR0603-FX-33R0ELF"
"S1","1","RST switch","","","","Snapeda:SW_TL3315NF160Q","TL3315NF160Q" "S1","1","RST switch","","","","Snapeda:SW_TL3315NF160Q","TL3315NF160Q"
"S2","1","Bootsel switch","","","","Snapeda:SW_TL3315NF160Q","TL3315NF160Q" "S2","1","Bootsel switch","","","","Snapeda:SW_TL3315NF160Q","TL3315NF160Q"
"U1","1","W5500","","","","Snapeda:QFP50P900X900X160-48N","W5500" "U1","1","W5500","","","","Snapeda:QFP50P900X900X160-48N","W5500"
"U2","1","TPS7A2033PDQNR","","","","Package_SON:Texas_X2SON-4_1x1mm_P0.65mm","TPS7A2033PDQNR"
"Y1","1","12MHz","","","","Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm","MP12641" "Y1","1","12MHz","","","","Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm","MP12641"
"Y2","1","ASTX-H12-22.5792MHZ-T","","","","Samacsys:ASTX-H12","ASTX-H12-22.5792MHZ-T" "Y2","1","ASTX-H12-22.5792MHZ-T","","","","Samacsys:ASTX-H12","ASTX-H12-22.5792MHZ-T"
"Y3","1","XRCGB25M000F3M01R0","","","","Samacsys:XRCGB","XRCGB25M000F3M01R0" "Y3","1","XRCGB25M000F3M01R0","","","","Samacsys:XRCGB","XRCGB25M000F3M01R0"
1 Reference Qty Value DNP Exclude from BOM Exclude from Board Footprint MPN
2 C1,C4,C6,C8,C123 5 4.7uF -- mixed values -- -- mixed values -- -- mixed values -- Capacitor_SMD:C_0805_2012Metric GRM21BR61H475KE51L
3 C2,C3 2 15pf Capacitor_SMD:C_0603_1608Metric CC0603JRNPO9BN150
4 C5,C7,C9,C10,C11,C12,C13,C14,C15,C16,C17,C91,C94,C96,C98,C100,C102,C105,C107,C109,C111,C114,C116,C118,C119,C122,C124,C125,C126,C127,C128,C129,C130,C139,C144,C148 36 0.1uF Capacitor_SMD:C_0603_1608Metric KGM15BR71H104KT
5 C18,C19,C20,C21,C42,C43,C44,C45,C66,C67,C68,C69 C18,C19,C28,C29,C42,C43,C44,C45,C66,C67,C68,C69 12 470pF/50V Capacitor_SMD:C_0603_1608Metric CL10B471KB8NNNC
6 C22,C24,C25,C27,C28,C30,C31,C33,C46,C48,C49,C51,C52,C54,C55,C57,C70,C72,C73,C75,C76,C78,C79,C81 C20,C22,C24,C25,C30,C32,C33,C37,C46,C48,C49,C51,C52,C54,C55,C57,C70,C72,C73,C75,C76,C78,C79,C81 24 33pF Capacitor_SMD:C_0603_1608Metric C0603C330J1HACTU
7 C23,C26,C29,C32,C47,C50,C53,C56,C71,C74,C77,C80,C121,C131 C21,C23,C31,C36,C47,C50,C53,C56,C71,C74,C77,C80,C121,C131 14 0.01uF Capacitor_SMD:C_0603_1608Metric 0603B103K101CT
8 C34,C35,C36,C37,C38,C39,C40,C41,C58,C59,C60,C61,C62,C63,C64,C65,C82,C83,C84,C85,C86,C87,C88,C89,C90,C95,C97,C99,C101,C106,C108,C110,C115,C117,C142,C143,C145,C147 C26,C27,C34,C35,C38,C39,C40,C41,C58,C59,C60,C61,C62,C63,C64,C65,C82,C83,C84,C85,C86,C87,C88,C89,C90,C95,C97,C99,C101,C106,C108,C110,C115,C117,C142,C143,C145,C147 38 1uF Capacitor_SMD:C_0805_2012Metric CL21B105KBFNFNE
9 C92,C93,C103,C104,C112,C113,C120,C138,C146 9 10uF Capacitor_SMD:C_0805_2012Metric CL21A106KOQNNNG
10 C132,C140,C141 3 22uF Capacitor_SMD:C_0603_1608Metric CL10A226MP8NUNE
11 C133,C134 2 6.8nF Capacitor_SMD:C_0603_1608Metric CL10B682JB8NNNC
18 IC1 1 SC1512-A4 Samacsys:QFN40P1000X1000X90-81N-D SC1512-A4
19 IC2,IC3,IC4 3 TLV320ADC5140IRTWR Samacsys:QFN50P400X400X80-25N-D TLV320ADC5140IRTWR
20 IC5 1 AP63203WU-7 Samacsys:AP63203WU7 AP63203WU-7
21 IC6 1 APS6404L-3SQR-SN 8MB RAM Snapeda:SOIC127P600X175-8N Package_SO:SOIC-8_3.9x4.9mm_P1.27mm APS6404L-3SQR-SN
22 IC7 1 LP5907MFX-3.3_NOPB Package_TO_SOT_SMD:SOT-23-5 LP5907MFX-3.3_NOPB
23 J1 1 SWD connector Samacsys:SM03BSRSSTBLFSN SM03B-SRSS-TB(LF)(SN)
24 J2 J4 1 Conn_01x18_Pin USB4216-03-A Excluded from BOM Connector_PinHeader_2.54mm:PinHeader_1x18_P2.54mm_Vertical Samacsys:USB421603A USB4216-03-A
J3 1 Conn_01x10_Pin Excluded from BOM Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical
J4 1 USB-C Snapeda:TE_2340901-1 2340901-1
25 J5,J6,J7,J8,J9,J10,J11,J12,J13,J14,J15,J16 12 10118193-0001LF Snapeda:AMPHENOL_10118193-0001LF 10118193-0001LF
26 J17 1 7499211122A Samacsys:7499410213 7499211122A
27 J18 1 MSD-1-A Samacsys:MSD1A MSD-1-A
43 R26,R27,R29 3 1.5K Resistor_SMD:R_0603_1608Metric WR06X152 JTL
44 R28 1 3.3K Resistor_SMD:R_0603_1608Metric RC0603FR-073K3L
45 R31,R32,R33,R34,R35 5 47K Resistor_SMD:R_0603_1608Metric AC0603JR-0747KL
46 R37 1 0ohm Resistor_SMD:R_0603_1608Metric RC0603FR-070RL
47 R38,R39,R40,R41 4 33R Resistor_SMD:R_0603_1608Metric CR0603-FX-33R0ELF
48 S1 1 RST switch Snapeda:SW_TL3315NF160Q TL3315NF160Q
49 S2 1 Bootsel switch Snapeda:SW_TL3315NF160Q TL3315NF160Q
50 U1 1 W5500 Snapeda:QFP50P900X900X160-48N W5500
U2 1 TPS7A2033PDQNR Package_SON:Texas_X2SON-4_1x1mm_P0.65mm TPS7A2033PDQNR
51 Y1 1 12MHz Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm MP12641
52 Y2 1 ASTX-H12-22.5792MHZ-T Samacsys:ASTX-H12 ASTX-H12-22.5792MHZ-T
53 Y3 1 XRCGB25M000F3M01R0 Samacsys:XRCGB XRCGB25M000F3M01R0
+72512 -37095
View File
File diff suppressed because it is too large Load Diff
+8 -3
View File
@@ -5,7 +5,7 @@
"auto_track_width": true, "auto_track_width": true,
"hidden_netclasses": [], "hidden_netclasses": [],
"hidden_nets": [], "hidden_nets": [],
"high_contrast_mode": 0, "high_contrast_mode": 1,
"net_color_mode": 1, "net_color_mode": 1,
"opacity": { "opacity": {
"images": 0.6, "images": 0.6,
@@ -15,6 +15,7 @@
"vias": 1.0, "vias": 1.0,
"zones": 0.15000000596046448 "zones": 0.15000000596046448
}, },
"prototype_zone_fills": false,
"selection_filter": { "selection_filter": {
"dimensions": true, "dimensions": true,
"footprints": true, "footprints": true,
@@ -26,7 +27,7 @@
"text": true, "text": true,
"tracks": true, "tracks": true,
"vias": true, "vias": true,
"zones": false "zones": true
}, },
"visible_items": [ "visible_items": [
"vias", "vias",
@@ -50,10 +51,11 @@
"conflict_shadows", "conflict_shadows",
"shapes" "shapes"
], ],
"visible_layers": "ffffffff_ffffffff_fffffff5_ffffffff", "visible_layers": "00000000_00000000_55557fdf_ffffffff",
"zone_display_mode": 0 "zone_display_mode": 0
}, },
"git": { "git": {
"integration_disabled": false,
"repo_type": "", "repo_type": "",
"repo_username": "", "repo_username": "",
"ssh_key": "" "ssh_key": ""
@@ -112,6 +114,7 @@
"filter_text": "", "filter_text": "",
"group_by_constraint": false, "group_by_constraint": false,
"group_by_netclass": false, "group_by_netclass": false,
"show_time_domain_details": false,
"show_unconnected_nets": false, "show_unconnected_nets": false,
"show_zero_pad_nets": false, "show_zero_pad_nets": false,
"sort_ascending": true, "sort_ascending": true,
@@ -122,6 +125,7 @@
"files": [] "files": []
}, },
"schematic": { "schematic": {
"hierarchy_collapsed": [],
"selection_filter": { "selection_filter": {
"graphics": true, "graphics": true,
"images": true, "images": true,
@@ -129,6 +133,7 @@
"lockedItems": false, "lockedItems": false,
"otherItems": true, "otherItems": true,
"pins": true, "pins": true,
"ruleAreas": true,
"symbols": true, "symbols": true,
"text": true, "text": true,
"wires": true "wires": true
+81 -14
View File
@@ -3,6 +3,8 @@
"3dviewports": [], "3dviewports": [],
"design_settings": { "design_settings": {
"defaults": { "defaults": {
"apply_defaults_to_fp_barcodes": false,
"apply_defaults_to_fp_dimensions": false,
"apply_defaults_to_fp_fields": false, "apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false, "apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false, "apply_defaults_to_fp_text": false,
@@ -48,7 +50,23 @@
"silk_text_thickness": 0.1, "silk_text_thickness": 0.1,
"silk_text_upright": false, "silk_text_upright": false,
"zones": { "zones": {
"min_clearance": 0.5 "border_display_style": 2,
"border_hatch_pitch": 0.5,
"corner_radius": 0.0,
"corner_smoothing": 0,
"fill_mode": 0,
"hatch_gap": 1.5,
"hatch_orientation": 0.0,
"hatch_smoothing_level": 0,
"hatch_smoothing_value": 0.1,
"hatch_thickness": 1.0,
"min_clearance": 0.2,
"min_island_area": 10.0,
"min_thickness": 0.25,
"pad_connection": 1,
"remove_islands": 0,
"thermal_relief_gap": 0.5,
"thermal_relief_spoke_width": 0.5
} }
}, },
"diff_pair_dimensions": [ "diff_pair_dimensions": [
@@ -77,6 +95,7 @@
"extra_footprint": "warning", "extra_footprint": "warning",
"footprint": "error", "footprint": "error",
"footprint_filters_mismatch": "ignore", "footprint_filters_mismatch": "ignore",
"footprint_symbol_field_mismatch": "warning",
"footprint_symbol_mismatch": "warning", "footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore", "footprint_type_mismatch": "ignore",
"hole_clearance": "error", "hole_clearance": "error",
@@ -94,15 +113,16 @@
"mirrored_text_on_front_layer": "warning", "mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore", "missing_courtyard": "ignore",
"missing_footprint": "warning", "missing_footprint": "warning",
"missing_tuning_profile": "warning",
"net_conflict": "warning", "net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning", "nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "ignore", "npth_inside_courtyard": "ignore",
"padstack": "warning", "padstack": "warning",
"pth_inside_courtyard": "ignore", "pth_inside_courtyard": "ignore",
"shorting_items": "error", "shorting_items": "error",
"silk_edge_clearance": "warning", "silk_edge_clearance": "ignore",
"silk_over_copper": "warning", "silk_over_copper": "ignore",
"silk_overlap": "warning", "silk_overlap": "ignore",
"skew_out_of_range": "error", "skew_out_of_range": "error",
"solder_mask_bridge": "error", "solder_mask_bridge": "error",
"starved_thermal": "error", "starved_thermal": "error",
@@ -112,10 +132,13 @@
"through_hole_pad_without_hole": "error", "through_hole_pad_without_hole": "error",
"too_many_vias": "error", "too_many_vias": "error",
"track_angle": "error", "track_angle": "error",
"track_dangling": "warning", "track_dangling": "error",
"track_not_centered_on_via": "ignore",
"track_on_post_machined_layer": "error",
"track_segment_length": "error", "track_segment_length": "error",
"track_width": "error", "track_width": "error",
"tracks_crossing": "error", "tracks_crossing": "error",
"tuning_profile_track_geometries": "ignore",
"unconnected_items": "error", "unconnected_items": "error",
"unresolved_variable": "error", "unresolved_variable": "error",
"via_dangling": "warning", "via_dangling": "warning",
@@ -188,8 +211,10 @@
], ],
"track_widths": [ "track_widths": [
0.0, 0.0,
0.15, 0.2,
0.2 0.3,
0.4,
0.5
], ],
"tuning_pattern_settings": { "tuning_pattern_settings": {
"diff_pair_defaults": { "diff_pair_defaults": {
@@ -223,24 +248,39 @@
"drill": 0.0 "drill": 0.0
}, },
{ {
"diameter": 0.45, "diameter": 0.6,
"drill": 0.3 "drill": 0.3
},
{
"diameter": 1.0,
"drill": 0.5
} }
], ],
"zones_allow_external_fillets": false "zones_allow_external_fillets": false
}, },
"ipc2581": { "ipc2581": {
"bom_rev": "",
"dist": "", "dist": "",
"distpn": "", "distpn": "",
"internal_id": "", "internal_id": "",
"mfg": "", "mfg": "",
"mpn": "" "mpn": "",
"sch_revision": "V1.0"
}, },
"layer_pairs": [], "layer_pairs": [],
"layer_presets": [], "layer_presets": [],
"viewports": [] "viewports": []
}, },
"boards": [], "boards": [],
"component_class_settings": {
"assignments": [],
"meta": {
"version": 0
},
"sheet_component_classes": {
"enabled": false
}
},
"cvpcb": { "cvpcb": {
"equivalence_files": [] "equivalence_files": []
}, },
@@ -430,11 +470,14 @@
"duplicate_sheet_names": "error", "duplicate_sheet_names": "error",
"endpoint_off_grid": "warning", "endpoint_off_grid": "warning",
"extra_units": "error", "extra_units": "error",
"field_name_whitespace": "warning",
"footprint_filter": "ignore", "footprint_filter": "ignore",
"footprint_link_issues": "warning", "footprint_link_issues": "warning",
"four_way_junction": "ignore", "four_way_junction": "ignore",
"global_label_dangling": "warning", "global_label_dangling": "warning",
"ground_pin_not_ground": "warning",
"hier_label_mismatch": "error", "hier_label_mismatch": "error",
"isolated_pin_label": "warning",
"label_dangling": "error", "label_dangling": "error",
"label_multiple_wires": "warning", "label_multiple_wires": "warning",
"lib_symbol_issues": "warning", "lib_symbol_issues": "warning",
@@ -457,6 +500,7 @@
"similar_power": "warning", "similar_power": "warning",
"simulation_model_issue": "ignore", "simulation_model_issue": "ignore",
"single_global_label": "ignore", "single_global_label": "ignore",
"stacked_pin_name": "warning",
"unannotated": "error", "unannotated": "error",
"unconnected_wire_endpoint": "warning", "unconnected_wire_endpoint": "warning",
"undefined_netclass": "error", "undefined_netclass": "error",
@@ -489,13 +533,14 @@
"priority": 2147483647, "priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)", "schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2, "track_width": 0.2,
"tuning_profile": "",
"via_diameter": 0.6, "via_diameter": 0.6,
"via_drill": 0.3, "via_drill": 0.3,
"wire_width": 6 "wire_width": 6
} }
], ],
"meta": { "meta": {
"version": 4 "version": 5
}, },
"net_colors": null, "net_colors": null,
"netclass_assignments": null, "netclass_assignments": null,
@@ -509,7 +554,7 @@
"plot": "", "plot": "",
"pos_files": "", "pos_files": "",
"specctra_dsn": "", "specctra_dsn": "",
"step": "", "step": "Cacao.step",
"svg": "", "svg": "",
"vrml": "" "vrml": ""
}, },
@@ -517,6 +562,10 @@
}, },
"schematic": { "schematic": {
"annotate_start_num": 0, "annotate_start_num": 0,
"annotation": {
"method": 0,
"sort_order": 0
},
"bom_export_filename": "${PROJECTNAME}.csv", "bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [], "bom_fmt_presets": [],
"bom_fmt_settings": { "bom_fmt_settings": {
@@ -792,6 +841,7 @@
"sort_asc": true, "sort_asc": true,
"sort_field": "Reference" "sort_field": "Reference"
}, },
"bus_aliases": {},
"connection_grid_size": 50.0, "connection_grid_size": 50.0,
"drawing": { "drawing": {
"dashed_lines_dash_length_ratio": 12.0, "dashed_lines_dash_length_ratio": 12.0,
@@ -805,6 +855,7 @@
"visible": false "visible": false
} }
], ],
"hop_over_size_choice": 0,
"intersheets_ref_own_page": false, "intersheets_ref_own_page": false,
"intersheets_ref_prefix": "", "intersheets_ref_prefix": "",
"intersheets_ref_short": false, "intersheets_ref_short": false,
@@ -828,6 +879,7 @@
"net_format_name": "", "net_format_name": "",
"page_layout_descr_file": "", "page_layout_descr_file": "",
"plot_directory": "", "plot_directory": "",
"reuse_designators": true,
"space_save_all_events": true, "space_save_all_events": true,
"spice_current_sheet_as_root": false, "spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"", "spice_external_command": "spice \"%I\"",
@@ -836,12 +888,21 @@
"spice_save_all_dissipations": false, "spice_save_all_dissipations": false,
"spice_save_all_voltages": false, "spice_save_all_voltages": false,
"subpart_first_id": 65, "subpart_first_id": 65,
"subpart_id_separator": 0 "subpart_id_separator": 0,
"top_level_sheets": [
{
"filename": "Cacao.kicad_sch",
"name": "Cacao",
"uuid": "fb1fbe84-f638-411c-9f0c-f98e7d82fde3"
}
],
"used_designators": "",
"variants": []
}, },
"sheets": [ "sheets": [
[ [
"fb1fbe84-f638-411c-9f0c-f98e7d82fde3", "fb1fbe84-f638-411c-9f0c-f98e7d82fde3",
"Root" "Cacao"
], ],
[ [
"43b21752-e3ac-49d9-883f-489dab58ffcd", "43b21752-e3ac-49d9-883f-489dab58ffcd",
@@ -864,5 +925,11 @@
"Memory" "Memory"
] ]
], ],
"text_variables": {} "text_variables": {},
"tuning_profiles": {
"meta": {
"version": 0
},
"tuning_profiles_impedance_geometric": []
}
} }
+3934 -5640
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+288129
View File
File diff suppressed because it is too large Load Diff
+3483 -1844
View File
File diff suppressed because it is too large Load Diff
+1413 -700
View File
File diff suppressed because it is too large Load Diff
+1100 -347
View File
File diff suppressed because it is too large Load Diff
+187
View File
@@ -0,0 +1,187 @@
# Cacao - Multi-Channel Signal Acquisition Board
Cacao is a compact 12-channel audio-frequency signal-acquisition board built around the RP2350. It explores how modern, accessible components can consolidate multi-channel acquisition, buffering, storage, and Ethernet communication onto a single 80 x 50 mm PCB.
![CACAO Board](figures/Assembled.jpeg)
![Cacao PCB - 3D render](figures/Recto.png)
![Cacao PCB - 3D render](figures/Verso.png)
The assembled board shown above had just come out of the reflow oven. Some visible solder bridges were cleaned up before the first bring-up.
## Overview
Cacao was developed independently as a proof of concept alongside an industrial R&D internship. The project acts as a technical calling card: a complete architecture, schematic, firmware stack, and dense PCB layout intended to demonstrate what can be achieved with a modern microcontroller and cost-effective audio-conversion hardware.
Twelve differential audio inputs are digitized by three TLV320ADC5140 ADCs synchronized to the same clock. The RP2350 acquires the resulting streams and can transmit them over a local network through a W5500 100BASE-TX Ethernet controller.
The current firmware has successfully demonstrated continuous simultaneous acquisition of all 12 channels at 44.1 kHz with 16-bit samples, streamed over Ethernet without requiring intermediate RAM buffering.
## Key Features
- RP2350 in the 80-pin package with internal flash
- 12 differential audio-input channels
- Three TLV320ADC5140 four-channel ADCs synchronized by a 2.5 ppm clock
- Simultaneous 12-channel acquisition at 44.1 kHz / 16 bits per sample
- W5500-based 100BASE-TX Ethernet output
- Continuous network streaming of all 12 channels
- 8 MB external RAM provisioned for acquisition buffering
- MicroSD storage interface for standalone data capture
- USB-C 5 V power input
- 3.3 V buck supply for the digital electronics
- Separate low-noise 3.3 V analog rail using an LP5907MFX-3.3/NOPB LDO
- Four-layer, 80 x 50 mm PCB with more than 200 components
- Components on both sides, with most passive components placed on the back
The Micro-USB connectors are used as compact keyed connectors for the differential analog channels and their 5 V amplifier supply. They are **not USB data ports**.
## Engineering Focus
The principal layout challenge was integrating 12 analog channels, three synchronized ADCs, local buffering, storage, Ethernet, and the required power architecture within an 80 x 50 mm footprint.
Particular attention was given to separating the low-noise analog supplies from the general digital rail, maintaining clean reference and return paths, and fitting a large number of passive components without increasing the board area.
The firmware also represents an important part of the project. The RP2350 has to receive multiple synchronized ADC data streams while simultaneously moving the acquired samples toward the Ethernet interface with minimal CPU and memory overhead.
Because of a V1 SPI pin-assignment issue, the W5500 currently runs through an RP2350 PIO implementation rather than the native SPI peripheral. Despite the reduced SPI bandwidth, the system can continuously acquire and transmit all 12 channels at 44.1 kHz / 16 bits over the local network.
This is not necessarily the absolute throughput limit of the architecture, but it is close to the useful range expected from the current PIO SPI implementation. A future revision will move the Ethernet interface to correctly assigned hardware SPI pins, providing additional bandwidth and reducing the amount of firmware required for the interface.
An alternative future configuration could also replace the W5500 and external RAM with a W6300 connected through QSPI, reducing the number of separate devices while retaining high-speed Ethernet communication.
## Assembly
The V1 PCBs were manufactured by Aisler. This was my first time using their service and the manufacturing quality was very good.
The PCBs arrived unassembled and I assembled three prototypes at school. The school has small manually controlled pick-and-place machines, which significantly speed up component placement compared with assembling the entire board using tweezers.
![CACAO Board](figures/Bare_PCB.jpeg)
![CACAO Board](figures/Compare.png)
The image above shows a bare Cacao PCB and a fully assembled board next to the existing acquisition hardware it was designed to compare against.
The other boards are blurred because they are property of the company where I worked. The comparison is nevertheless useful for showing the amount of functionality Cacao integrates onto a single board.
## Project Status
V1.0 has been manufactured, assembled, and brought up successfully.
The main architecture is operational:
- All power rails are working correctly
- The RP2350 can be programmed through both USB and SWD
- Ethernet communication through the W5500 is operational
- The W5500 is currently driven using PIO SPI because of the V1 GPIO assignment
- All three TLV320ADC5140 ADCs are operational and communicating correctly with the RP2350
- All 12 analog channels are being sampled
- All 12 channels have been acquired simultaneously at 44.1 kHz / 16 bits per sample
- The complete 12-channel stream has been transmitted continuously over the local Ethernet network
- The streaming test does not rely on the external RAM as an intermediate acquisition buffer
- A corrected Micro-USB input has been tested with the intended external preamplifier and produces the expected signal level
The continuous Ethernet test indicates that the RP2350, ADC acquisition path, PIO SPI implementation, W5500, and network firmware can sustain the current target acquisition rate without accumulating an acquisition backlog.
### Not tested on V1
Two interfaces have not yet been functionally tested:
- External RAM
- MicroSD storage
Part of the BOM could not be delivered before assembly, so the required components were not available for the first prototype batch.
The RAM interface also contains a V1 QSPI routing error, meaning the memory would require extensive rework even if the component were installed. This will therefore be corrected directly in the next PCB revision.
The SD card interface has a similar SPI pin-assignment issue to the W5500. Unlike the QSPI RAM issue, this can potentially be worked around using PIO SPI, as demonstrated successfully with the Ethernet interface. The SD card hardware itself was not available on the assembled V1 boards, however, so this path has not yet been validated.
### Still under evaluation
The remaining work on V1 is mostly characterization rather than basic bring-up:
- Determining the practical maximum Ethernet acquisition bandwidth using the current PIO SPI implementation
- Quantifying analog-channel noise and signal integrity
- Characterizing channel-to-channel consistency
- Performing longer-duration reliability testing
Initial analog results are promising, but a more controlled measurement setup will be used before publishing quantitative results.
## Known V1 Issues
V1 successfully validated the main system architecture, but bring-up also identified several routing and connector issues that will be corrected in the next revision.
### RP2350 Peripheral Pin Assignment
The main routing issue in V1 comes from the RP2350 peripheral pin-selection constraints.
During the original schematic and PCB design I relied too heavily on the flexibility of the RP2350 GPIO mux. Although many peripherals can be mapped to several GPIOs, SPI signals still need to follow the valid peripheral pin functions defined for each GPIO.
This affected the W5500, SD card, and external QSPI RAM interfaces.
The W5500 connection should be changed as follows:
```text
ETH_CS GPIO28 -> GPIO29
ETH_SCLK GPIO29 -> GPIO30
ETH_MISO GPIO30 -> GPIO28
```
On V1 this is handled in firmware using a PIO-based SPI implementation. This has been sufficient to continuously stream all 12 channels at 44.1 kHz / 16 bits, although at a lower SPI clock than would be possible with the native hardware peripheral.
The SD card interface has the same general problem and will also be rerouted in the next revision.
### External RAM QSPI Routing
The external RAM has a more significant routing problem.
Unlike standard SPI peripherals, the RP2350 QSPI interface cannot simply be mapped to arbitrary GPIO pins. The external memory needs to use the dedicated QSPI signals.
The V1 connections therefore need to be changed as follows:
```text
RAM_QSD3 GPIO16 -> QSPI_SD3
RAM_QSD2 GPIO17 -> QSPI_SD2
RAM_QSD1 GPIO18 -> QSPI_SD1
RAM_QSD0 GPIO19 -> QSPI_SD0
RAM_QSCLK GPIO20 -> QSPI_SCLK
```
Because five of the six main signals would require modification, the RAM interface was not considered worth extensively reworking on the V1 prototype.
This will be corrected directly in the next PCB revision.
Interestingly, the current continuous Ethernet tests have also demonstrated that the external RAM is not required to sustain the present 12-channel 44.1 kHz / 16-bit streaming workload. It remains useful for additional buffering, standalone acquisition modes, and future higher-bandwidth configurations.
### Micro-USB Preamp Pinout
The analog inputs use Micro-USB connectors purely as compact keyed connectors. They do not follow the USB electrical standard and are connected to a custom external preamplifier.
During the original design I assigned the connector pins according to the conventional Micro-USB power arrangement, with 5 V on VBUS and ground on the normal GND pin.
The existing preamplifier hardware uses a different custom pinout:
```text
uUSB Pin 1 VBUS -> GND
uUSB Pin 4 NC -> GND
uUSB Pin 5 GND -> 5V
```
As a result, the V1 board does not correctly power the intended preamplifier when it is connected directly.
This issue was diagnosed during analog bring-up. Because the microphone and preamplifier combination could still produce a very small signal even without the expected supply arrangement, the failure initially appeared as an unexpectedly low analog amplitude rather than a completely inactive channel.
One connector was removed and rewired using bodge wires to reproduce the preamplifier's actual pinout. With this modification, the complete analog path operated correctly and produced the expected signal level.
The remaining channels can still be observed acquiring signals with the unmodified connector arrangement, which allowed the complete 12-channel digital acquisition and Ethernet pipeline to be validated. However, the connector pinout will be corrected in the next PCB revision before proper analog characterization of all channels.
## Next Revision
The next PCB revision will primarily focus on changes identified during V1 bring-up rather than a redesign of the architecture:
- Correct W5500 hardware SPI routing
- Correct SD card SPI routing
- Move the external RAM to the dedicated RP2350 QSPI pins
- Correct the Micro-USB pinout for the existing preamplifier hardware
- Complete analog performance characterization
- Evaluate whether architectural changes such as the W6300 are worthwhile
The important result from V1 is that the core architecture has been validated: twelve synchronized analog channels can be acquired simultaneously by the RP2350 and continuously transmitted over Ethernet at 44.1 kHz / 16 bits per channel on a compact four-layer board.
File diff suppressed because it is too large Load Diff
+4717
View File
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

+1 -1
View File
@@ -1,4 +1,4 @@
27224527517359889 27224529244325889
Audio_Module Audio_Module
Reverb_BTDR-1H Reverb_BTDR-1H
Digital Reverberation Unit, http://www.belton.co.kr/inc/downfile.php?seq=17&file=pdf (footprint from http://www.uk-electronic.de/PDF/BTDR-1.pdf) Digital Reverberation Unit, http://www.belton.co.kr/inc/downfile.php?seq=17&file=pdf (footprint from http://www.uk-electronic.de/PDF/BTDR-1.pdf)
Binary file not shown.
Binary file not shown.