From 87804c7a89da0847e117cc249a9a7666abe04163 Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Sun, 4 May 2025 10:14:51 -0400
Subject: [PATCH] wip

---
 .../t1624/XU/hello.t1624-XU.0603.interior.png | Bin 32194 -> 10240 bytes
 .../t1624/XU/hello.t1624-XU.0603.kicad_pro    |   2 +-
 .../t1624/XU/hello.t1624-XU.0603.traces.png   | Bin 39152 -> 12685 bytes
 .../production/hello.t1624-XU.0603-B_Cu.gbl   |  15 ++
 .../production/hello.t1624-XU.0603-B_Mask.gbs |  15 ++
 .../hello.t1624-XU.0603-B_Paste.gbp           |  15 ++
 .../hello.t1624-XU.0603-B_Silkscreen.gbo      |  17 ++
 .../hello.t1624-XU.0603-Edge_Cuts.gm1         |  23 +++
 .../production/hello.t1624-XU.0603-F_Cu.gtl   | 154 +++++++++++++++++
 .../production/hello.t1624-XU.0603-F_Mask.gts |  52 ++++++
 .../hello.t1624-XU.0603-F_Paste.gtp           |  52 ++++++
 .../hello.t1624-XU.0603-F_Silkscreen.gto      | 137 +++++++++++++++
 .../hello.t1624-XU.0603-NPTH-drl_map.gbr      | 162 ++++++++++++++++++
 .../production/hello.t1624-XU.0603-NPTH.drl   |  12 ++
 .../hello.t1624-XU.0603-PTH-drl_map.gbr       | 162 ++++++++++++++++++
 .../XU/production/hello.t1624-XU.0603-PTH.drl |  12 ++
 .../step/RP2040/hello.steptime1.RP2040.py     |   2 +-
 17 files changed, 830 insertions(+), 2 deletions(-)
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Cu.gbl
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Mask.gbs
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Paste.gbp
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Silkscreen.gbo
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-Edge_Cuts.gm1
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Cu.gtl
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Mask.gts
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Paste.gtp
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Silkscreen.gto
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-NPTH-drl_map.gbr
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-NPTH.drl
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-PTH-drl_map.gbr
 create mode 100644 embedded_programming/t1624/XU/production/hello.t1624-XU.0603-PTH.drl

diff --git a/embedded_programming/t1624/XU/hello.t1624-XU.0603.interior.png b/embedded_programming/t1624/XU/hello.t1624-XU.0603.interior.png
index 8b919483b3a568ce12e15ec1433730ab063c3b45..a55f6d3ccbdf9c16ac54712a904f99c67b9c08e5 100644
GIT binary patch
literal 10240
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
V%d0o>viuH^jh?Q4F6*2UngFu@W3K=J

literal 32194
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

diff --git a/embedded_programming/t1624/XU/hello.t1624-XU.0603.kicad_pro b/embedded_programming/t1624/XU/hello.t1624-XU.0603.kicad_pro
index 9fc43804..db71a353 100644
--- a/embedded_programming/t1624/XU/hello.t1624-XU.0603.kicad_pro
+++ b/embedded_programming/t1624/XU/hello.t1624-XU.0603.kicad_pro
@@ -133,7 +133,7 @@
         "min_track_width": 0.0,
         "min_via_annular_width": 0.1,
         "min_via_diameter": 0.5,
-        "solder_mask_to_copper_clearance": 0.0,
+        "solder_mask_to_copper_clearance": 0.005,
         "use_height_for_length_calcs": true
       },
       "teardrop_options": [
diff --git a/embedded_programming/t1624/XU/hello.t1624-XU.0603.traces.png b/embedded_programming/t1624/XU/hello.t1624-XU.0603.traces.png
index c3c4c0236ee793ca5165fa7eee58948d47d4fdd4..7709499c8d3722a0d2077acbbd15e030b20bcb2c 100644
GIT binary patch
literal 12685
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
SzyIHWyy@xc=d#Wzp$Pytc_>%_

literal 39152
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
KT-G@yGywqd`mS;S

diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Cu.gbl b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Cu.gbl
new file mode 100644
index 00000000..c6b86b01
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Cu.gbl
@@ -0,0 +1,15 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Copper,L2,Bot*
+G04 #@! TF.FilePolarity,Positive*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+G04 APERTURE END LIST*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Mask.gbs b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Mask.gbs
new file mode 100644
index 00000000..e782c67b
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Mask.gbs
@@ -0,0 +1,15 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Soldermask,Bot*
+G04 #@! TF.FilePolarity,Negative*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+G04 APERTURE END LIST*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Paste.gbp b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Paste.gbp
new file mode 100644
index 00000000..6436def7
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Paste.gbp
@@ -0,0 +1,15 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Paste,Bot*
+G04 #@! TF.FilePolarity,Positive*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+G04 APERTURE END LIST*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Silkscreen.gbo b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Silkscreen.gbo
new file mode 100644
index 00000000..e23d5922
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-B_Silkscreen.gbo
@@ -0,0 +1,17 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Legend,Bot*
+G04 #@! TF.FilePolarity,Positive*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+G04 APERTURE END LIST*
+%LPC*%
+%LPD*%
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-Edge_Cuts.gm1 b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-Edge_Cuts.gm1
new file mode 100644
index 00000000..669e00c6
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-Edge_Cuts.gm1
@@ -0,0 +1,23 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Profile,NP*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+G04 #@! TA.AperFunction,Profile*
+%ADD10C,0.050000*%
+G04 #@! TD*
+G04 APERTURE END LIST*
+D10*
+X90500000Y-83500000D02*
+X100000000Y-83500000D01*
+X100000000Y-100000000D01*
+X90500000Y-100000000D01*
+X90500000Y-83500000D01*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Cu.gtl b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Cu.gtl
new file mode 100644
index 00000000..e4fb5a20
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Cu.gtl
@@ -0,0 +1,154 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Copper,L1,Top*
+G04 #@! TF.FilePolarity,Positive*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+G04 #@! TA.AperFunction,SMDPad,CuDef*
+%ADD10R,1.700000X2.500000*%
+G04 #@! TD*
+G04 #@! TA.AperFunction,SMDPad,CuDef*
+%ADD11R,0.914400X0.889000*%
+G04 #@! TD*
+G04 #@! TA.AperFunction,SMDPad,CuDef*
+%ADD12R,1.000000X1.000000*%
+G04 #@! TD*
+G04 #@! TA.AperFunction,SMDPad,CuDef*
+%ADD13R,1.475000X0.450000*%
+G04 #@! TD*
+G04 #@! TA.AperFunction,Conductor*
+%ADD14C,0.200000*%
+G04 #@! TD*
+G04 APERTURE END LIST*
+D10*
+G04 #@! TO.P,J1,1,Pin_1*
+G04 #@! TO.N,UPDI*
+X98050000Y-93700000D03*
+G04 #@! TO.P,J1,2,Pin_2*
+G04 #@! TO.N,GND*
+X95510000Y-93700000D03*
+G04 #@! TO.P,J1,3,Pin_3*
+G04 #@! TO.N,V*
+X92970000Y-93700000D03*
+G04 #@! TD*
+D11*
+G04 #@! TO.P,LED1,1*
+G04 #@! TO.N,Net-(LED1-Pad1)*
+X94249300Y-84500000D03*
+G04 #@! TO.P,LED1,2*
+G04 #@! TO.N,Net-(IC1-PA4)*
+X92750700Y-84500000D03*
+G04 #@! TD*
+D12*
+G04 #@! TO.P,R1,1,1*
+G04 #@! TO.N,GND*
+X98200000Y-84500000D03*
+G04 #@! TO.P,R1,2,2*
+G04 #@! TO.N,Net-(LED1-Pad1)*
+X96800000Y-84500000D03*
+G04 #@! TD*
+D13*
+G04 #@! TO.P,IC1,1,VDD*
+G04 #@! TO.N,V*
+X92562000Y-86550000D03*
+G04 #@! TO.P,IC1,2,PA4*
+G04 #@! TO.N,Net-(IC1-PA4)*
+X92562000Y-87200000D03*
+G04 #@! TO.P,IC1,3,PA5*
+G04 #@! TO.N,unconnected-(IC1-PA5-Pad3)*
+X92562000Y-87850000D03*
+G04 #@! TO.P,IC1,4,PA6*
+G04 #@! TO.N,unconnected-(IC1-PA6-Pad4)*
+X92562000Y-88500000D03*
+G04 #@! TO.P,IC1,5,PA7*
+G04 #@! TO.N,unconnected-(IC1-PA7-Pad5)*
+X92562000Y-89150000D03*
+G04 #@! TO.P,IC1,6,(TOSC1)_PB3*
+G04 #@! TO.N,unconnected-(IC1-(TOSC1)_PB3-Pad6)*
+X92562000Y-89800000D03*
+G04 #@! TO.P,IC1,7,(TOSC2)_PB2*
+G04 #@! TO.N,unconnected-(IC1-(TOSC2)_PB2-Pad7)*
+X92562000Y-90450000D03*
+G04 #@! TO.P,IC1,8,PB1*
+G04 #@! TO.N,unconnected-(IC1-PB1-Pad8)*
+X98438000Y-90450000D03*
+G04 #@! TO.P,IC1,9,PB0*
+G04 #@! TO.N,unconnected-(IC1-PB0-Pad9)*
+X98438000Y-89800000D03*
+G04 #@! TO.P,IC1,10,PA0_(UPDI/~{RESET)}*
+G04 #@! TO.N,UPDI*
+X98438000Y-89150000D03*
+G04 #@! TO.P,IC1,11,PA1*
+G04 #@! TO.N,unconnected-(IC1-PA1-Pad11)*
+X98438000Y-88500000D03*
+G04 #@! TO.P,IC1,12,PA2*
+G04 #@! TO.N,unconnected-(IC1-PA2-Pad12)*
+X98438000Y-87850000D03*
+G04 #@! TO.P,IC1,13,PA3_(EXTCLK)*
+G04 #@! TO.N,unconnected-(IC1-PA3_(EXTCLK)-Pad13)*
+X98438000Y-87200000D03*
+G04 #@! TO.P,IC1,14,GND*
+G04 #@! TO.N,GND*
+X98438000Y-86550000D03*
+G04 #@! TD*
+D14*
+G04 #@! TO.N,GND*
+X95510000Y-93700000D02*
+X95510000Y-88540500D01*
+X98200000Y-84500000D02*
+X98200000Y-86312000D01*
+X98200000Y-86312000D02*
+X98438000Y-86550000D01*
+X97500500Y-86550000D02*
+X98438000Y-86550000D01*
+X95510000Y-88540500D02*
+X97500500Y-86550000D01*
+G04 #@! TO.N,V*
+X92970000Y-93700000D02*
+X91700000Y-93700000D01*
+X91000000Y-93000000D02*
+X91000000Y-87174500D01*
+X91000000Y-87174500D02*
+X91624500Y-86550000D01*
+X91624500Y-86550000D02*
+X92562000Y-86550000D01*
+X91700000Y-93700000D02*
+X91000000Y-93000000D01*
+G04 #@! TO.N,UPDI*
+X96850000Y-89150000D02*
+X98438000Y-89150000D01*
+X96500000Y-89500000D02*
+X96850000Y-89150000D01*
+X96500000Y-90500000D02*
+X96500000Y-89500000D01*
+X98050000Y-93700000D02*
+X98050000Y-92050000D01*
+X98050000Y-92050000D02*
+X96500000Y-90500000D01*
+G04 #@! TO.N,Net-(LED1-Pad1)*
+X96800000Y-84500000D02*
+X94249300Y-84500000D01*
+G04 #@! TO.N,Net-(IC1-PA4)*
+X92750700Y-85250700D02*
+X92750700Y-84500000D01*
+X94500000Y-87000000D02*
+X94500000Y-86000000D01*
+X94500000Y-86000000D02*
+X94000000Y-85500000D01*
+X94000000Y-85500000D02*
+X93000000Y-85500000D01*
+X94300000Y-87200000D02*
+X94500000Y-87000000D01*
+X93000000Y-85500000D02*
+X92750700Y-85250700D01*
+X92562000Y-87200000D02*
+X94300000Y-87200000D01*
+G04 #@! TD*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Mask.gts b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Mask.gts
new file mode 100644
index 00000000..2d6ee03a
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Mask.gts
@@ -0,0 +1,52 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Soldermask,Top*
+G04 #@! TF.FilePolarity,Negative*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%ADD10R,1.700000X2.500000*%
+%ADD11R,0.914400X0.889000*%
+%ADD12R,1.000000X1.000000*%
+%ADD13R,1.475000X0.450000*%
+G04 APERTURE END LIST*
+D10*
+G04 #@! TO.C,J1*
+X98050000Y-93700000D03*
+X95510000Y-93700000D03*
+X92970000Y-93700000D03*
+G04 #@! TD*
+D11*
+G04 #@! TO.C,LED1*
+X94249300Y-84500000D03*
+X92750700Y-84500000D03*
+G04 #@! TD*
+D12*
+G04 #@! TO.C,R1*
+X98200000Y-84500000D03*
+X96800000Y-84500000D03*
+G04 #@! TD*
+D13*
+G04 #@! TO.C,IC1*
+X92562000Y-86550000D03*
+X92562000Y-87200000D03*
+X92562000Y-87850000D03*
+X92562000Y-88500000D03*
+X92562000Y-89150000D03*
+X92562000Y-89800000D03*
+X92562000Y-90450000D03*
+X98438000Y-90450000D03*
+X98438000Y-89800000D03*
+X98438000Y-89150000D03*
+X98438000Y-88500000D03*
+X98438000Y-87850000D03*
+X98438000Y-87200000D03*
+X98438000Y-86550000D03*
+G04 #@! TD*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Paste.gtp b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Paste.gtp
new file mode 100644
index 00000000..7f9a412c
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Paste.gtp
@@ -0,0 +1,52 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Paste,Top*
+G04 #@! TF.FilePolarity,Positive*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%ADD10R,1.700000X2.500000*%
+%ADD11R,0.914400X0.889000*%
+%ADD12R,1.000000X1.000000*%
+%ADD13R,1.475000X0.450000*%
+G04 APERTURE END LIST*
+D10*
+G04 #@! TO.C,J1*
+X98050000Y-93700000D03*
+X95510000Y-93700000D03*
+X92970000Y-93700000D03*
+G04 #@! TD*
+D11*
+G04 #@! TO.C,LED1*
+X94249300Y-84500000D03*
+X92750700Y-84500000D03*
+G04 #@! TD*
+D12*
+G04 #@! TO.C,R1*
+X98200000Y-84500000D03*
+X96800000Y-84500000D03*
+G04 #@! TD*
+D13*
+G04 #@! TO.C,IC1*
+X92562000Y-86550000D03*
+X92562000Y-87200000D03*
+X92562000Y-87850000D03*
+X92562000Y-88500000D03*
+X92562000Y-89150000D03*
+X92562000Y-89800000D03*
+X92562000Y-90450000D03*
+X98438000Y-90450000D03*
+X98438000Y-89800000D03*
+X98438000Y-89150000D03*
+X98438000Y-88500000D03*
+X98438000Y-87850000D03*
+X98438000Y-87200000D03*
+X98438000Y-86550000D03*
+G04 #@! TD*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Silkscreen.gto b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Silkscreen.gto
new file mode 100644
index 00000000..9b063c36
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-F_Silkscreen.gto
@@ -0,0 +1,137 @@
+G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*
+G04 #@! TF.CreationDate,2025-05-04T10:10:28-04:00*
+G04 #@! TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*
+G04 #@! TF.SameCoordinates,Original*
+G04 #@! TF.FileFunction,Legend,Top*
+G04 #@! TF.FilePolarity,Positive*
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%ADD10C,0.254000*%
+%ADD11C,0.120000*%
+%ADD12C,0.200000*%
+%ADD13R,1.700000X2.500000*%
+%ADD14R,0.914400X0.889000*%
+%ADD15R,1.000000X1.000000*%
+%ADD16R,1.475000X0.450000*%
+G04 APERTURE END LIST*
+D10*
+X94260237Y-89074318D02*
+X94260237Y-87804318D01*
+X95590714Y-88953365D02*
+X95530238Y-89013842D01*
+X95530238Y-89013842D02*
+X95348809Y-89074318D01*
+X95348809Y-89074318D02*
+X95227857Y-89074318D01*
+X95227857Y-89074318D02*
+X95046428Y-89013842D01*
+X95046428Y-89013842D02*
+X94925476Y-88892889D01*
+X94925476Y-88892889D02*
+X94864999Y-88771937D01*
+X94864999Y-88771937D02*
+X94804523Y-88530032D01*
+X94804523Y-88530032D02*
+X94804523Y-88348603D01*
+X94804523Y-88348603D02*
+X94864999Y-88106699D01*
+X94864999Y-88106699D02*
+X94925476Y-87985746D01*
+X94925476Y-87985746D02*
+X95046428Y-87864794D01*
+X95046428Y-87864794D02*
+X95227857Y-87804318D01*
+X95227857Y-87804318D02*
+X95348809Y-87804318D01*
+X95348809Y-87804318D02*
+X95530238Y-87864794D01*
+X95530238Y-87864794D02*
+X95590714Y-87925270D01*
+X96800238Y-89074318D02*
+X96074523Y-89074318D01*
+X96437380Y-89074318D02*
+X96437380Y-87804318D01*
+X96437380Y-87804318D02*
+X96316428Y-87985746D01*
+X96316428Y-87985746D02*
+X96195476Y-88106699D01*
+X96195476Y-88106699D02*
+X96074523Y-88167175D01*
+D11*
+G04 #@! TO.C,J1*
+X91700000Y-97510000D02*
+X99320000Y-97510000D01*
+X91700000Y-100050000D02*
+X91700000Y-97510000D01*
+X92716000Y-97510000D02*
+X92716000Y-95200000D01*
+X93224000Y-97510000D02*
+X93224000Y-95200000D01*
+X95256000Y-97510000D02*
+X95256000Y-95200000D01*
+X95764000Y-97510000D02*
+X95764000Y-95200000D01*
+X97796000Y-97510000D02*
+X97796000Y-95200000D01*
+X98304000Y-97510000D02*
+X98304000Y-95200000D01*
+X99320000Y-92430000D02*
+X99320000Y-93700000D01*
+X99320000Y-97510000D02*
+X99320000Y-100050000D01*
+X99320000Y-100050000D02*
+X91700000Y-100050000D01*
+D12*
+G04 #@! TO.C,IC1*
+X91825000Y-85975000D02*
+X93300000Y-85975000D01*
+X93650000Y-86000000D02*
+X97350000Y-86000000D01*
+X93650000Y-91000000D02*
+X93650000Y-86000000D01*
+X97350000Y-86000000D02*
+X97350000Y-91000000D01*
+X97350000Y-91000000D02*
+X93650000Y-91000000D01*
+G04 #@! TD*
+%LPC*%
+D13*
+G04 #@! TO.C,J1*
+X98050000Y-93700000D03*
+X95510000Y-93700000D03*
+X92970000Y-93700000D03*
+G04 #@! TD*
+D14*
+G04 #@! TO.C,LED1*
+X94249300Y-84500000D03*
+X92750700Y-84500000D03*
+G04 #@! TD*
+D15*
+G04 #@! TO.C,R1*
+X98200000Y-84500000D03*
+X96800000Y-84500000D03*
+G04 #@! TD*
+D16*
+G04 #@! TO.C,IC1*
+X92562000Y-86550000D03*
+X92562000Y-87200000D03*
+X92562000Y-87850000D03*
+X92562000Y-88500000D03*
+X92562000Y-89150000D03*
+X92562000Y-89800000D03*
+X92562000Y-90450000D03*
+X98438000Y-90450000D03*
+X98438000Y-89800000D03*
+X98438000Y-89150000D03*
+X98438000Y-88500000D03*
+X98438000Y-87850000D03*
+X98438000Y-87200000D03*
+X98438000Y-86550000D03*
+G04 #@! TD*
+%LPD*%
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-NPTH-drl_map.gbr b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-NPTH-drl_map.gbr
new file mode 100644
index 00000000..de79568f
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-NPTH-drl_map.gbr
@@ -0,0 +1,162 @@
+%TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*%
+%TF.CreationDate,2025-05-04T10:10:28-04:00*%
+%TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*%
+%TF.SameCoordinates,Original*%
+%TF.FileFunction,Drillmap*%
+%TF.FilePolarity,Positive*%
+%FSLAX45Y45*%
+G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%ADD10C,0.050000*%
+%ADD11C,0.200000*%
+G04 APERTURE END LIST*
+D10*
+X9050000Y-8350000D02*
+X10000000Y-8350000D01*
+X10000000Y-10000000D01*
+X9050000Y-10000000D01*
+X9050000Y-8350000D01*
+D11*
+X9308277Y-10313984D02*
+X9308277Y-10113984D01*
+X9308277Y-10113984D02*
+X9355896Y-10113984D01*
+X9355896Y-10113984D02*
+X9384467Y-10123508D01*
+X9384467Y-10123508D02*
+X9403515Y-10142555D01*
+X9403515Y-10142555D02*
+X9413039Y-10161603D01*
+X9413039Y-10161603D02*
+X9422563Y-10199698D01*
+X9422563Y-10199698D02*
+X9422563Y-10228270D01*
+X9422563Y-10228270D02*
+X9413039Y-10266365D01*
+X9413039Y-10266365D02*
+X9403515Y-10285412D01*
+X9403515Y-10285412D02*
+X9384467Y-10304460D01*
+X9384467Y-10304460D02*
+X9355896Y-10313984D01*
+X9355896Y-10313984D02*
+X9308277Y-10313984D01*
+X9508277Y-10313984D02*
+X9508277Y-10180650D01*
+X9508277Y-10218746D02*
+X9517801Y-10199698D01*
+X9517801Y-10199698D02*
+X9527324Y-10190174D01*
+X9527324Y-10190174D02*
+X9546372Y-10180650D01*
+X9546372Y-10180650D02*
+X9565420Y-10180650D01*
+X9632086Y-10313984D02*
+X9632086Y-10180650D01*
+X9632086Y-10113984D02*
+X9622563Y-10123508D01*
+X9622563Y-10123508D02*
+X9632086Y-10133031D01*
+X9632086Y-10133031D02*
+X9641610Y-10123508D01*
+X9641610Y-10123508D02*
+X9632086Y-10113984D01*
+X9632086Y-10113984D02*
+X9632086Y-10133031D01*
+X9755896Y-10313984D02*
+X9736848Y-10304460D01*
+X9736848Y-10304460D02*
+X9727324Y-10285412D01*
+X9727324Y-10285412D02*
+X9727324Y-10113984D01*
+X9860658Y-10313984D02*
+X9841610Y-10304460D01*
+X9841610Y-10304460D02*
+X9832086Y-10285412D01*
+X9832086Y-10285412D02*
+X9832086Y-10113984D01*
+X10089229Y-10313984D02*
+X10089229Y-10113984D01*
+X10089229Y-10113984D02*
+X10155896Y-10256841D01*
+X10155896Y-10256841D02*
+X10222563Y-10113984D01*
+X10222563Y-10113984D02*
+X10222563Y-10313984D01*
+X10403515Y-10313984D02*
+X10403515Y-10209222D01*
+X10403515Y-10209222D02*
+X10393991Y-10190174D01*
+X10393991Y-10190174D02*
+X10374944Y-10180650D01*
+X10374944Y-10180650D02*
+X10336848Y-10180650D01*
+X10336848Y-10180650D02*
+X10317801Y-10190174D01*
+X10403515Y-10304460D02*
+X10384467Y-10313984D01*
+X10384467Y-10313984D02*
+X10336848Y-10313984D01*
+X10336848Y-10313984D02*
+X10317801Y-10304460D01*
+X10317801Y-10304460D02*
+X10308277Y-10285412D01*
+X10308277Y-10285412D02*
+X10308277Y-10266365D01*
+X10308277Y-10266365D02*
+X10317801Y-10247317D01*
+X10317801Y-10247317D02*
+X10336848Y-10237793D01*
+X10336848Y-10237793D02*
+X10384467Y-10237793D01*
+X10384467Y-10237793D02*
+X10403515Y-10228270D01*
+X10498753Y-10180650D02*
+X10498753Y-10380650D01*
+X10498753Y-10190174D02*
+X10517801Y-10180650D01*
+X10517801Y-10180650D02*
+X10555896Y-10180650D01*
+X10555896Y-10180650D02*
+X10574944Y-10190174D01*
+X10574944Y-10190174D02*
+X10584467Y-10199698D01*
+X10584467Y-10199698D02*
+X10593991Y-10218746D01*
+X10593991Y-10218746D02*
+X10593991Y-10275889D01*
+X10593991Y-10275889D02*
+X10584467Y-10294936D01*
+X10584467Y-10294936D02*
+X10574944Y-10304460D01*
+X10574944Y-10304460D02*
+X10555896Y-10313984D01*
+X10555896Y-10313984D02*
+X10517801Y-10313984D01*
+X10517801Y-10313984D02*
+X10498753Y-10304460D01*
+X10679705Y-10294936D02*
+X10689229Y-10304460D01*
+X10689229Y-10304460D02*
+X10679705Y-10313984D01*
+X10679705Y-10313984D02*
+X10670182Y-10304460D01*
+X10670182Y-10304460D02*
+X10679705Y-10294936D01*
+X10679705Y-10294936D02*
+X10679705Y-10313984D01*
+X10679705Y-10190174D02*
+X10689229Y-10199698D01*
+X10689229Y-10199698D02*
+X10679705Y-10209222D01*
+X10679705Y-10209222D02*
+X10670182Y-10199698D01*
+X10670182Y-10199698D02*
+X10679705Y-10190174D01*
+X10679705Y-10190174D02*
+X10679705Y-10209222D01*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-NPTH.drl b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-NPTH.drl
new file mode 100644
index 00000000..bd4dcac7
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-NPTH.drl
@@ -0,0 +1,12 @@
+M48
+; DRILL file {KiCad 9.0.1} date 2025-05-04T10:10:28-0400
+; FORMAT={-:-/ absolute / metric / decimal}
+; #@! TF.CreationDate,2025-05-04T10:10:28-04:00
+; #@! TF.GenerationSoftware,Kicad,Pcbnew,9.0.1
+; #@! TF.FileFunction,NonPlated,1,2,NPTH
+FMAT,2
+METRIC
+%
+G90
+G05
+M30
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-PTH-drl_map.gbr b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-PTH-drl_map.gbr
new file mode 100644
index 00000000..de79568f
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-PTH-drl_map.gbr
@@ -0,0 +1,162 @@
+%TF.GenerationSoftware,KiCad,Pcbnew,9.0.1*%
+%TF.CreationDate,2025-05-04T10:10:28-04:00*%
+%TF.ProjectId,hello.t1624-XU.0603,68656c6c-6f2e-4743-9136-32342d58552e,rev?*%
+%TF.SameCoordinates,Original*%
+%TF.FileFunction,Drillmap*%
+%TF.FilePolarity,Positive*%
+%FSLAX45Y45*%
+G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 9.0.1) date 2025-05-04 10:10:28*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%ADD10C,0.050000*%
+%ADD11C,0.200000*%
+G04 APERTURE END LIST*
+D10*
+X9050000Y-8350000D02*
+X10000000Y-8350000D01*
+X10000000Y-10000000D01*
+X9050000Y-10000000D01*
+X9050000Y-8350000D01*
+D11*
+X9308277Y-10313984D02*
+X9308277Y-10113984D01*
+X9308277Y-10113984D02*
+X9355896Y-10113984D01*
+X9355896Y-10113984D02*
+X9384467Y-10123508D01*
+X9384467Y-10123508D02*
+X9403515Y-10142555D01*
+X9403515Y-10142555D02*
+X9413039Y-10161603D01*
+X9413039Y-10161603D02*
+X9422563Y-10199698D01*
+X9422563Y-10199698D02*
+X9422563Y-10228270D01*
+X9422563Y-10228270D02*
+X9413039Y-10266365D01*
+X9413039Y-10266365D02*
+X9403515Y-10285412D01*
+X9403515Y-10285412D02*
+X9384467Y-10304460D01*
+X9384467Y-10304460D02*
+X9355896Y-10313984D01*
+X9355896Y-10313984D02*
+X9308277Y-10313984D01*
+X9508277Y-10313984D02*
+X9508277Y-10180650D01*
+X9508277Y-10218746D02*
+X9517801Y-10199698D01*
+X9517801Y-10199698D02*
+X9527324Y-10190174D01*
+X9527324Y-10190174D02*
+X9546372Y-10180650D01*
+X9546372Y-10180650D02*
+X9565420Y-10180650D01*
+X9632086Y-10313984D02*
+X9632086Y-10180650D01*
+X9632086Y-10113984D02*
+X9622563Y-10123508D01*
+X9622563Y-10123508D02*
+X9632086Y-10133031D01*
+X9632086Y-10133031D02*
+X9641610Y-10123508D01*
+X9641610Y-10123508D02*
+X9632086Y-10113984D01*
+X9632086Y-10113984D02*
+X9632086Y-10133031D01*
+X9755896Y-10313984D02*
+X9736848Y-10304460D01*
+X9736848Y-10304460D02*
+X9727324Y-10285412D01*
+X9727324Y-10285412D02*
+X9727324Y-10113984D01*
+X9860658Y-10313984D02*
+X9841610Y-10304460D01*
+X9841610Y-10304460D02*
+X9832086Y-10285412D01*
+X9832086Y-10285412D02*
+X9832086Y-10113984D01*
+X10089229Y-10313984D02*
+X10089229Y-10113984D01*
+X10089229Y-10113984D02*
+X10155896Y-10256841D01*
+X10155896Y-10256841D02*
+X10222563Y-10113984D01*
+X10222563Y-10113984D02*
+X10222563Y-10313984D01*
+X10403515Y-10313984D02*
+X10403515Y-10209222D01*
+X10403515Y-10209222D02*
+X10393991Y-10190174D01*
+X10393991Y-10190174D02*
+X10374944Y-10180650D01*
+X10374944Y-10180650D02*
+X10336848Y-10180650D01*
+X10336848Y-10180650D02*
+X10317801Y-10190174D01*
+X10403515Y-10304460D02*
+X10384467Y-10313984D01*
+X10384467Y-10313984D02*
+X10336848Y-10313984D01*
+X10336848Y-10313984D02*
+X10317801Y-10304460D01*
+X10317801Y-10304460D02*
+X10308277Y-10285412D01*
+X10308277Y-10285412D02*
+X10308277Y-10266365D01*
+X10308277Y-10266365D02*
+X10317801Y-10247317D01*
+X10317801Y-10247317D02*
+X10336848Y-10237793D01*
+X10336848Y-10237793D02*
+X10384467Y-10237793D01*
+X10384467Y-10237793D02*
+X10403515Y-10228270D01*
+X10498753Y-10180650D02*
+X10498753Y-10380650D01*
+X10498753Y-10190174D02*
+X10517801Y-10180650D01*
+X10517801Y-10180650D02*
+X10555896Y-10180650D01*
+X10555896Y-10180650D02*
+X10574944Y-10190174D01*
+X10574944Y-10190174D02*
+X10584467Y-10199698D01*
+X10584467Y-10199698D02*
+X10593991Y-10218746D01*
+X10593991Y-10218746D02*
+X10593991Y-10275889D01*
+X10593991Y-10275889D02*
+X10584467Y-10294936D01*
+X10584467Y-10294936D02*
+X10574944Y-10304460D01*
+X10574944Y-10304460D02*
+X10555896Y-10313984D01*
+X10555896Y-10313984D02*
+X10517801Y-10313984D01*
+X10517801Y-10313984D02*
+X10498753Y-10304460D01*
+X10679705Y-10294936D02*
+X10689229Y-10304460D01*
+X10689229Y-10304460D02*
+X10679705Y-10313984D01*
+X10679705Y-10313984D02*
+X10670182Y-10304460D01*
+X10670182Y-10304460D02*
+X10679705Y-10294936D01*
+X10679705Y-10294936D02*
+X10679705Y-10313984D01*
+X10679705Y-10190174D02*
+X10689229Y-10199698D01*
+X10689229Y-10199698D02*
+X10679705Y-10209222D01*
+X10679705Y-10209222D02*
+X10670182Y-10199698D01*
+X10670182Y-10199698D02*
+X10679705Y-10190174D01*
+X10679705Y-10190174D02*
+X10679705Y-10209222D01*
+M02*
diff --git a/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-PTH.drl b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-PTH.drl
new file mode 100644
index 00000000..ff906196
--- /dev/null
+++ b/embedded_programming/t1624/XU/production/hello.t1624-XU.0603-PTH.drl
@@ -0,0 +1,12 @@
+M48
+; DRILL file {KiCad 9.0.1} date 2025-05-04T10:10:28-0400
+; FORMAT={-:-/ absolute / metric / decimal}
+; #@! TF.CreationDate,2025-05-04T10:10:28-04:00
+; #@! TF.GenerationSoftware,Kicad,Pcbnew,9.0.1
+; #@! TF.FileFunction,Plated,1,2,PTH
+FMAT,2
+METRIC
+%
+G90
+G05
+M30
diff --git a/input_devices/step/RP2040/hello.steptime1.RP2040.py b/input_devices/step/RP2040/hello.steptime1.RP2040.py
index b0b3e5b7..494735ad 100644
--- a/input_devices/step/RP2040/hello.steptime1.RP2040.py
+++ b/input_devices/step/RP2040/hello.steptime1.RP2040.py
@@ -110,5 +110,5 @@ while True:
     step4.put(settle)
     result4 = 4294967296-step4.get()
     if (result4 < min4): min4 = result4
-    print(f"7500,{result0-min0},{result1-min1},{result2-min2},\
+    print(f"2500,{result0-min0},{result1-min1},{result2-min2},\
        {result3-min3},{result4-min4}") # 7500 for scale
-- 
GitLab