diff --git a/2020-06_ucbus-stepper-melted/eagle.epf b/2020-06_ucbus-stepper-melted/eagle.epf
index e33215bcce39b64a1c660ab623e6b7cf712c6206..fa1582d96f7aa45a0112ba94306f2efd319254a1 100644
--- a/2020-06_ucbus-stepper-melted/eagle.epf
+++ b/2020-06_ucbus-stepper-melted/eagle.epf
@@ -6,20 +6,295 @@ Desktop="Desktop"
 
 [Globals]
 AutoSaveProject=1
-UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/SparkFun-Eagle-Libraries/SparkFun-Connectors.lbr"
+UsedLibraryUrn="urn:adsk.eagle:library:79"
+UsedLibraryUrn="urn:adsk.eagle:library:88"
+UsedLibraryUrn="urn:adsk.eagle:library:201"
+UsedLibraryUrn="urn:adsk.eagle:library:202"
+UsedLibraryUrn="urn:adsk.eagle:library:203"
+UsedLibraryUrn="urn:adsk.eagle:library:204"
+UsedLibraryUrn="urn:adsk.eagle:library:206"
+UsedLibraryUrn="urn:adsk.eagle:library:208"
+UsedLibraryUrn="urn:adsk.eagle:library:210"
+UsedLibraryUrn="urn:adsk.eagle:library:211"
+UsedLibraryUrn="urn:adsk.eagle:library:212"
+UsedLibraryUrn="urn:adsk.eagle:library:213"
+UsedLibraryUrn="urn:adsk.eagle:library:89"
+UsedLibraryUrn="urn:adsk.eagle:library:214"
+UsedLibraryUrn="urn:adsk.eagle:library:215"
+UsedLibraryUrn="urn:adsk.eagle:library:218"
+UsedLibraryUrn="urn:adsk.eagle:library:220"
+UsedLibraryUrn="urn:adsk.eagle:library:221"
+UsedLibraryUrn="urn:adsk.eagle:library:222"
+UsedLibraryUrn="urn:adsk.eagle:library:224"
+UsedLibraryUrn="urn:adsk.eagle:library:226"
+UsedLibraryUrn="urn:adsk.eagle:library:229"
+UsedLibraryUrn="urn:adsk.eagle:library:230"
+UsedLibraryUrn="urn:adsk.eagle:library:90"
+UsedLibraryUrn="urn:adsk.eagle:library:231"
+UsedLibraryUrn="urn:adsk.eagle:library:233"
+UsedLibraryUrn="urn:adsk.eagle:library:234"
+UsedLibraryUrn="urn:adsk.eagle:library:235"
+UsedLibraryUrn="urn:adsk.eagle:library:236"
+UsedLibraryUrn="urn:adsk.eagle:library:237"
+UsedLibraryUrn="urn:adsk.eagle:library:238"
+UsedLibraryUrn="urn:adsk.eagle:library:239"
+UsedLibraryUrn="urn:adsk.eagle:library:240"
+UsedLibraryUrn="urn:adsk.eagle:library:241"
+UsedLibraryUrn="urn:adsk.eagle:library:93"
+UsedLibraryUrn="urn:adsk.eagle:library:242"
+UsedLibraryUrn="urn:adsk.eagle:library:243"
+UsedLibraryUrn="urn:adsk.eagle:library:244"
+UsedLibraryUrn="urn:adsk.eagle:library:245"
+UsedLibraryUrn="urn:adsk.eagle:library:248"
+UsedLibraryUrn="urn:adsk.eagle:library:250"
+UsedLibraryUrn="urn:adsk.eagle:library:251"
+UsedLibraryUrn="urn:adsk.eagle:library:252"
+UsedLibraryUrn="urn:adsk.eagle:library:255"
+UsedLibraryUrn="urn:adsk.eagle:library:256"
+UsedLibraryUrn="urn:adsk.eagle:library:94"
+UsedLibraryUrn="urn:adsk.eagle:library:258"
+UsedLibraryUrn="urn:adsk.eagle:library:259"
+UsedLibraryUrn="urn:adsk.eagle:library:260"
+UsedLibraryUrn="urn:adsk.eagle:library:261"
+UsedLibraryUrn="urn:adsk.eagle:library:262"
+UsedLibraryUrn="urn:adsk.eagle:library:263"
+UsedLibraryUrn="urn:adsk.eagle:library:264"
+UsedLibraryUrn="urn:adsk.eagle:library:265"
+UsedLibraryUrn="urn:adsk.eagle:library:266"
+UsedLibraryUrn="urn:adsk.eagle:library:267"
+UsedLibraryUrn="urn:adsk.eagle:library:96"
+UsedLibraryUrn="urn:adsk.eagle:library:269"
+UsedLibraryUrn="urn:adsk.eagle:library:270"
+UsedLibraryUrn="urn:adsk.eagle:library:272"
+UsedLibraryUrn="urn:adsk.eagle:library:273"
+UsedLibraryUrn="urn:adsk.eagle:library:274"
+UsedLibraryUrn="urn:adsk.eagle:library:275"
+UsedLibraryUrn="urn:adsk.eagle:library:276"
+UsedLibraryUrn="urn:adsk.eagle:library:278"
+UsedLibraryUrn="urn:adsk.eagle:library:279"
+UsedLibraryUrn="urn:adsk.eagle:library:281"
+UsedLibraryUrn="urn:adsk.eagle:library:97"
+UsedLibraryUrn="urn:adsk.eagle:library:283"
+UsedLibraryUrn="urn:adsk.eagle:library:284"
+UsedLibraryUrn="urn:adsk.eagle:library:285"
+UsedLibraryUrn="urn:adsk.eagle:library:287"
+UsedLibraryUrn="urn:adsk.eagle:library:288"
+UsedLibraryUrn="urn:adsk.eagle:library:289"
+UsedLibraryUrn="urn:adsk.eagle:library:290"
+UsedLibraryUrn="urn:adsk.eagle:library:291"
+UsedLibraryUrn="urn:adsk.eagle:library:293"
+UsedLibraryUrn="urn:adsk.eagle:library:294"
+UsedLibraryUrn="urn:adsk.eagle:library:98"
+UsedLibraryUrn="urn:adsk.eagle:library:296"
+UsedLibraryUrn="urn:adsk.eagle:library:297"
+UsedLibraryUrn="urn:adsk.eagle:library:298"
+UsedLibraryUrn="urn:adsk.eagle:library:300"
+UsedLibraryUrn="urn:adsk.eagle:library:302"
+UsedLibraryUrn="urn:adsk.eagle:library:303"
+UsedLibraryUrn="urn:adsk.eagle:library:304"
+UsedLibraryUrn="urn:adsk.eagle:library:307"
+UsedLibraryUrn="urn:adsk.eagle:library:312"
+UsedLibraryUrn="urn:adsk.eagle:library:313"
+UsedLibraryUrn="urn:adsk.eagle:library:99"
+UsedLibraryUrn="urn:adsk.eagle:library:314"
+UsedLibraryUrn="urn:adsk.eagle:library:315"
+UsedLibraryUrn="urn:adsk.eagle:library:317"
+UsedLibraryUrn="urn:adsk.eagle:library:318"
+UsedLibraryUrn="urn:adsk.eagle:library:319"
+UsedLibraryUrn="urn:adsk.eagle:library:320"
+UsedLibraryUrn="urn:adsk.eagle:library:322"
+UsedLibraryUrn="urn:adsk.eagle:library:323"
+UsedLibraryUrn="urn:adsk.eagle:library:324"
+UsedLibraryUrn="urn:adsk.eagle:library:325"
+UsedLibraryUrn="urn:adsk.eagle:library:102"
+UsedLibraryUrn="urn:adsk.eagle:library:327"
+UsedLibraryUrn="urn:adsk.eagle:library:328"
+UsedLibraryUrn="urn:adsk.eagle:library:331"
+UsedLibraryUrn="urn:adsk.eagle:library:332"
+UsedLibraryUrn="urn:adsk.eagle:library:334"
+UsedLibraryUrn="urn:adsk.eagle:library:335"
+UsedLibraryUrn="urn:adsk.eagle:library:336"
+UsedLibraryUrn="urn:adsk.eagle:library:337"
+UsedLibraryUrn="urn:adsk.eagle:library:338"
+UsedLibraryUrn="urn:adsk.eagle:library:339"
+UsedLibraryUrn="urn:adsk.eagle:library:80"
+UsedLibraryUrn="urn:adsk.eagle:library:105"
+UsedLibraryUrn="urn:adsk.eagle:library:341"
+UsedLibraryUrn="urn:adsk.eagle:library:342"
+UsedLibraryUrn="urn:adsk.eagle:library:343"
+UsedLibraryUrn="urn:adsk.eagle:library:344"
+UsedLibraryUrn="urn:adsk.eagle:library:346"
+UsedLibraryUrn="urn:adsk.eagle:library:347"
+UsedLibraryUrn="urn:adsk.eagle:library:350"
+UsedLibraryUrn="urn:adsk.eagle:library:351"
+UsedLibraryUrn="urn:adsk.eagle:library:353"
+UsedLibraryUrn="urn:adsk.eagle:library:358"
+UsedLibraryUrn="urn:adsk.eagle:library:107"
+UsedLibraryUrn="urn:adsk.eagle:library:360"
+UsedLibraryUrn="urn:adsk.eagle:library:361"
+UsedLibraryUrn="urn:adsk.eagle:library:362"
+UsedLibraryUrn="urn:adsk.eagle:library:364"
+UsedLibraryUrn="urn:adsk.eagle:library:366"
+UsedLibraryUrn="urn:adsk.eagle:library:367"
+UsedLibraryUrn="urn:adsk.eagle:library:368"
+UsedLibraryUrn="urn:adsk.eagle:library:369"
+UsedLibraryUrn="urn:adsk.eagle:library:371"
+UsedLibraryUrn="urn:adsk.eagle:library:372"
+UsedLibraryUrn="urn:adsk.eagle:library:109"
+UsedLibraryUrn="urn:adsk.eagle:library:373"
+UsedLibraryUrn="urn:adsk.eagle:library:374"
+UsedLibraryUrn="urn:adsk.eagle:library:375"
+UsedLibraryUrn="urn:adsk.eagle:library:376"
+UsedLibraryUrn="urn:adsk.eagle:library:377"
+UsedLibraryUrn="urn:adsk.eagle:library:378"
+UsedLibraryUrn="urn:adsk.eagle:library:379"
+UsedLibraryUrn="urn:adsk.eagle:library:380"
+UsedLibraryUrn="urn:adsk.eagle:library:382"
+UsedLibraryUrn="urn:adsk.eagle:library:383"
+UsedLibraryUrn="urn:adsk.eagle:library:111"
+UsedLibraryUrn="urn:adsk.eagle:library:385"
+UsedLibraryUrn="urn:adsk.eagle:library:386"
+UsedLibraryUrn="urn:adsk.eagle:library:387"
+UsedLibraryUrn="urn:adsk.eagle:library:388"
+UsedLibraryUrn="urn:adsk.eagle:library:389"
+UsedLibraryUrn="urn:adsk.eagle:library:391"
+UsedLibraryUrn="urn:adsk.eagle:library:392"
+UsedLibraryUrn="urn:adsk.eagle:library:393"
+UsedLibraryUrn="urn:adsk.eagle:library:394"
+UsedLibraryUrn="urn:adsk.eagle:library:396"
+UsedLibraryUrn="urn:adsk.eagle:library:112"
+UsedLibraryUrn="urn:adsk.eagle:library:397"
+UsedLibraryUrn="urn:adsk.eagle:library:398"
+UsedLibraryUrn="urn:adsk.eagle:library:399"
+UsedLibraryUrn="urn:adsk.eagle:library:400"
+UsedLibraryUrn="urn:adsk.eagle:library:401"
+UsedLibraryUrn="urn:adsk.eagle:library:402"
+UsedLibraryUrn="urn:adsk.eagle:library:403"
+UsedLibraryUrn="urn:adsk.eagle:library:404"
+UsedLibraryUrn="urn:adsk.eagle:library:407"
+UsedLibraryUrn="urn:adsk.eagle:library:408"
+UsedLibraryUrn="urn:adsk.eagle:library:113"
+UsedLibraryUrn="urn:adsk.eagle:library:409"
+UsedLibraryUrn="urn:adsk.eagle:library:410"
+UsedLibraryUrn="urn:adsk.eagle:library:411"
+UsedLibraryUrn="urn:adsk.eagle:library:412"
+UsedLibraryUrn="urn:adsk.eagle:library:417"
+UsedLibraryUrn="urn:adsk.eagle:library:418"
+UsedLibraryUrn="urn:adsk.eagle:library:419"
+UsedLibraryUrn="urn:adsk.eagle:library:527439"
+UsedLibraryUrn="urn:adsk.eagle:library:5610454"
+UsedLibraryUrn="urn:adsk.eagle:library:10015156"
+UsedLibraryUrn="urn:adsk.eagle:library:116"
+UsedLibraryUrn="urn:adsk.eagle:library:117"
+UsedLibraryUrn="urn:adsk.eagle:library:118"
+UsedLibraryUrn="urn:adsk.eagle:library:119"
+UsedLibraryUrn="urn:adsk.eagle:library:81"
+UsedLibraryUrn="urn:adsk.eagle:library:121"
+UsedLibraryUrn="urn:adsk.eagle:library:122"
+UsedLibraryUrn="urn:adsk.eagle:library:123"
+UsedLibraryUrn="urn:adsk.eagle:library:124"
+UsedLibraryUrn="urn:adsk.eagle:library:125"
+UsedLibraryUrn="urn:adsk.eagle:library:126"
+UsedLibraryUrn="urn:adsk.eagle:library:127"
+UsedLibraryUrn="urn:adsk.eagle:library:128"
+UsedLibraryUrn="urn:adsk.eagle:library:129"
+UsedLibraryUrn="urn:adsk.eagle:library:130"
+UsedLibraryUrn="urn:adsk.eagle:library:82"
+UsedLibraryUrn="urn:adsk.eagle:library:132"
+UsedLibraryUrn="urn:adsk.eagle:library:133"
+UsedLibraryUrn="urn:adsk.eagle:library:134"
+UsedLibraryUrn="urn:adsk.eagle:library:135"
+UsedLibraryUrn="urn:adsk.eagle:library:136"
+UsedLibraryUrn="urn:adsk.eagle:library:138"
+UsedLibraryUrn="urn:adsk.eagle:library:139"
+UsedLibraryUrn="urn:adsk.eagle:library:140"
+UsedLibraryUrn="urn:adsk.eagle:library:141"
+UsedLibraryUrn="urn:adsk.eagle:library:143"
+UsedLibraryUrn="urn:adsk.eagle:library:83"
+UsedLibraryUrn="urn:adsk.eagle:library:144"
+UsedLibraryUrn="urn:adsk.eagle:library:145"
+UsedLibraryUrn="urn:adsk.eagle:library:147"
+UsedLibraryUrn="urn:adsk.eagle:library:148"
+UsedLibraryUrn="urn:adsk.eagle:library:149"
+UsedLibraryUrn="urn:adsk.eagle:library:150"
+UsedLibraryUrn="urn:adsk.eagle:library:151"
+UsedLibraryUrn="urn:adsk.eagle:library:152"
+UsedLibraryUrn="urn:adsk.eagle:library:153"
+UsedLibraryUrn="urn:adsk.eagle:library:154"
+UsedLibraryUrn="urn:adsk.eagle:library:84"
+UsedLibraryUrn="urn:adsk.eagle:library:155"
+UsedLibraryUrn="urn:adsk.eagle:library:156"
+UsedLibraryUrn="urn:adsk.eagle:library:157"
+UsedLibraryUrn="urn:adsk.eagle:library:158"
+UsedLibraryUrn="urn:adsk.eagle:library:159"
+UsedLibraryUrn="urn:adsk.eagle:library:160"
+UsedLibraryUrn="urn:adsk.eagle:library:161"
+UsedLibraryUrn="urn:adsk.eagle:library:162"
+UsedLibraryUrn="urn:adsk.eagle:library:163"
+UsedLibraryUrn="urn:adsk.eagle:library:164"
+UsedLibraryUrn="urn:adsk.eagle:library:85"
+UsedLibraryUrn="urn:adsk.eagle:library:165"
+UsedLibraryUrn="urn:adsk.eagle:library:166"
+UsedLibraryUrn="urn:adsk.eagle:library:167"
+UsedLibraryUrn="urn:adsk.eagle:library:169"
+UsedLibraryUrn="urn:adsk.eagle:library:170"
+UsedLibraryUrn="urn:adsk.eagle:library:171"
+UsedLibraryUrn="urn:adsk.eagle:library:172"
+UsedLibraryUrn="urn:adsk.eagle:library:173"
+UsedLibraryUrn="urn:adsk.eagle:library:174"
+UsedLibraryUrn="urn:adsk.eagle:library:175"
+UsedLibraryUrn="urn:adsk.eagle:library:86"
+UsedLibraryUrn="urn:adsk.eagle:library:176"
+UsedLibraryUrn="urn:adsk.eagle:library:177"
+UsedLibraryUrn="urn:adsk.eagle:library:179"
+UsedLibraryUrn="urn:adsk.eagle:library:180"
+UsedLibraryUrn="urn:adsk.eagle:library:181"
+UsedLibraryUrn="urn:adsk.eagle:library:182"
+UsedLibraryUrn="urn:adsk.eagle:library:183"
+UsedLibraryUrn="urn:adsk.eagle:library:184"
+UsedLibraryUrn="urn:adsk.eagle:library:188"
+UsedLibraryUrn="urn:adsk.eagle:library:189"
+UsedLibraryUrn="urn:adsk.eagle:library:87"
+UsedLibraryUrn="urn:adsk.eagle:library:190"
+UsedLibraryUrn="urn:adsk.eagle:library:191"
+UsedLibraryUrn="urn:adsk.eagle:library:192"
+UsedLibraryUrn="urn:adsk.eagle:library:193"
+UsedLibraryUrn="urn:adsk.eagle:library:194"
+UsedLibraryUrn="urn:adsk.eagle:library:195"
+UsedLibraryUrn="urn:adsk.eagle:library:196"
+UsedLibraryUrn="urn:adsk.eagle:library:197"
+UsedLibraryUrn="urn:adsk.eagle:library:198"
+UsedLibraryUrn="urn:adsk.eagle:library:199"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/810-22-003-40-005191.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/MAX98306ETD_.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/comm.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/connector.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/dfet.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/fablab.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/lights.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/microcontrollers.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/motors.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/passives.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/power.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/raspberrypi_bastelstube_v13.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/sensor.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/supply1.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/tag-connect-2030.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/tag-connect-2050.lbr"
+UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/usbraw.lbr"
 
 [Win_1]
-Type="Board Editor"
-Number=2
-File="2020-06_ucbus-stepper-melted.brd"
-View="5.49378 14.1697 12.3852 21.4832"
-WireWidths=" 0.8 0.9 0.1 0.05 0.5 0 0.3 0.2032 0.1524"
+Type="Schematic Editor"
+Number=1
+File="2020-06_ucbus-stepper-melted.sch"
+View="142.238 57.5843 328.514 158.882"
+WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
 PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
 ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
-ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3"
+ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
 HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
-TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.016"
+TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
 PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
 PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
@@ -28,14 +303,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
 DimensionExtLengths=" 1.27 2.54 1 2 3 0"
 DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
 SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
-WireBend=3
-WireBendSet=0
+WireBend=0
+WireBendSet=31
 WireCap=1
 MiterStyle=1
 PadShape=0
 ViaShape=1
 PolygonPour=0
-PolygonRank=4
+PolygonRank=0
 PolygonThermals=1
 PolygonOrphans=0
 TextRatio=8
@@ -50,20 +325,22 @@ SwapLevel=0
 ArcDirection=0
 AddLevel=2
 PadsSameType=0
-Layer=15
+Layer=91
+Views=" 1: 142.238 57.5843 328.514 158.882"
+Sheet="1"
 
 [Win_2]
-Type="Schematic Editor"
-Number=1
-File="2020-06_ucbus-stepper-melted.sch"
-View="148.076 60.2009 334.352 161.499"
-WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
+Type="Board Editor"
+Number=2
+File="2020-06_ucbus-stepper-melted.brd"
+View="6.486 13.9492 31.1792 40.1548"
+WireWidths=" 0.8 0.9 0.1 0.05 0.5 0 0.3 0.2032 0.1524"
 PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
 ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
-ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
+ViaDrills=" 0.2 0.25 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.4 0.3"
 HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
-TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
+TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.016"
 PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
 PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
@@ -72,14 +349,14 @@ DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
 DimensionExtLengths=" 1.27 2.54 1 2 3 0"
 DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
 SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
-WireBend=0
-WireBendSet=31
+WireBend=3
+WireBendSet=0
 WireCap=1
 MiterStyle=1
 PadShape=0
 ViaShape=1
 PolygonPour=0
-PolygonRank=0
+PolygonRank=4
 PolygonThermals=1
 PolygonOrphans=0
 TextRatio=8
@@ -94,9 +371,7 @@ SwapLevel=0
 ArcDirection=0
 AddLevel=2
 PadsSameType=0
-Layer=91
-Views=" 1: 148.076 60.2009 334.352 161.499"
-Sheet="1"
+Layer=15
 
 [Win_3]
 Type="Control Panel"
diff --git a/2020-06_ucbus-stepper-module/eagle.epf b/2020-06_ucbus-stepper-module/eagle.epf
index 6ff93f3c6df83f582a47739a6528487b93a6d81e..464973fa2e1e33f2eca9da4391d4e78b225b56f7 100644
--- a/2020-06_ucbus-stepper-module/eagle.epf
+++ b/2020-06_ucbus-stepper-module/eagle.epf
@@ -355,7 +355,7 @@ UsedLibraryUrn="urn:adsk.eagle:library:168"
 Type="Schematic Editor"
 Number=1
 File="2020-06_ucbus-stepper-module.sch"
-View="93.8998 -5.32858 236.93 67.1657"
+View="42.4851 -10.8684 214.121 76.1248"
 WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
 PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
@@ -394,14 +394,14 @@ ArcDirection=0
 AddLevel=2
 PadsSameType=0
 Layer=91
-Views=" 1: 93.8998 -5.32858 236.93 67.1657"
+Views=" 1: 42.4851 -10.8684 214.121 76.1248"
 Sheet="1"
 
 [Win_2]
 Type="Board Editor"
 Number=2
 File="2020-06_ucbus-stepper-module.brd"
-View="16.5161 15.8653 25.2235 23.6978"
+View="16.8508 10.0924 34.9065 26.3339"
 WireWidths=" 0.127 0.15 0.2 2.54 1.016 0.2032 0.254 0.6096 0 2.032 0.508 0.4064 0.3048 1.27 0.8128 0.1524"
 PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
 PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
diff --git a/firmware/osape-smoothieroll-drop-stepper/src/main.cpp b/firmware/osape-smoothieroll-drop-stepper/src/main.cpp
index 6a3a7f393cf48f0375a7e9146e20f326da0df383..04ca517db2d90834cc3f98d6319b10ec086563ae 100644
--- a/firmware/osape-smoothieroll-drop-stepper/src/main.cpp
+++ b/firmware/osape-smoothieroll-drop-stepper/src/main.cpp
@@ -14,6 +14,7 @@ float old_spu = 400.0F;
 volatile boolean spu_was_set = false;
 float c_scale = 0.2F;
 #define TICKS_PER_PACKET 25.0F
+#define TICKS_PER_SECOND 50000.0F
 
 // -------------------------------------------------------- AXIS PICK EP 
 
@@ -68,9 +69,68 @@ boolean onCScaleData(uint8_t* data, uint16_t len){
 
 vertex_t* cScaleEp = osapBuildEndpoint("CScale", onCScaleData, nullptr);
 
+// -------------------------------------------------------- HOME ROUTINE
+
+// some homeing globals, 
+#define HOME_NOT 0
+#define HOME_FIRST 1
+#define HOME_BACKOFF 2
+
+uint8_t homing = 0;           // statemachine 
+float homeStepCounter = 0.0F; // step-float-counter
+float homePos = 0.0F;         // position (units)
+float homeStepRate = 0.0F;    // rate (steps/tick)
+float homePosRate = 0.0F;     // rate (units/tick)
+boolean homeDir = false;      // direction 
+float homeOffset = 0.0F;      // after-home offset 
+
+boolean onHomeData(uint8_t* data, uint16_t len){
+  chunk_float32 rate = { .bytes = { data[0], data[1], data[2], data[3] } };
+  chunk_float32 offset = { .bytes = { data[4], data[5], data[6], data[7] } };
+  homing = HOME_FIRST;
+  homeStepCounter = 0.0F;
+  if(rate.f > 0){
+    homeDir = true;
+    stepper_hw->dir(true);
+  } else {
+    homeDir = false;
+    stepper_hw->dir(false);
+  }
+  homeStepRate = abs(rate.f * spu) / TICKS_PER_SECOND;
+  homePosRate = abs(rate.f) / TICKS_PER_SECOND;
+  homeOffset = offset.f;
+  return true;
+}
+
+vertex_t* homeEp = osapBuildEndpoint("Home", onHomeData, nullptr);
+
+// -------------------------------------------------------- LIMIT SETUP 
+
+#define LIMIT_PORT PORT->Group[0]
+#define LIMIT_PIN 23 
+#define LIMIT_BM ((uint32_t)(1 << LIMIT_PIN))
+
+void limitSetup(void){
+  // not-an-output 
+  LIMIT_PORT.DIRCLR.reg = LIMIT_BM;
+  // enable input 
+  LIMIT_PORT.PINCFG[LIMIT_PIN].bit.INEN = 1;
+  // enable pull 
+  LIMIT_PORT.PINCFG[LIMIT_PIN].bit.PULLEN = 1;
+  // 'pull' references direction from 'out' register, so we set hi to pull up (switch pulls to gnd)
+  LIMIT_PORT.OUTSET.reg = LIMIT_BM;
+}
+
+boolean limitIsMade(void){
+  // return true if switch is hit 
+  return (LIMIT_PORT.IN.reg & LIMIT_BM);
+}
+
 void setup() {
   ERRLIGHT_SETUP;
   CLKLIGHT_SETUP;
+  // limit switch 
+  limitSetup();
   // osap
   osapSetup();
   // ports 
@@ -86,6 +146,8 @@ void setup() {
   osapAddVertex(spuEp);           // 4
   // cscale 
   osapAddVertex(cScaleEp);        // 5
+  // homing 
+  osapAddVertex(homeEp);          // 6 
   // stepper init 
   stepper_hw->init(false, c_scale);
 }
@@ -96,6 +158,11 @@ void setup() {
 void loop() {
   osapLoop();
   stepper_hw->dacRefresh();
+  if(limitIsMade()){
+    ERRLIGHT_ON;
+  } else {
+    ERRLIGHT_OFF;
+  }
 } // end loop 
 
 
@@ -110,7 +177,10 @@ volatile boolean setBlock = false;
 
 
 void ucBusDrop_onPacketARx(uint8_t* inBufferA, volatile uint16_t len){
+  // don't execute when we have been given a set-position block 
   if(setBlock) return;
+  // don't execute if we are currently homing
+  if(homing) return;
   //DEBUG2PIN_TOGGLE;
   // last move is done, convert back steps -> float,
   if(spu_was_set){
@@ -182,7 +252,44 @@ void ucBusDrop_onPacketARx(uint8_t* inBufferA, volatile uint16_t len){
 }
 
 void ucBusDrop_onRxISR(void){
+  // no-op when given a set block, 
   if(setBlock) return;
+  // incremental motion if is homing 
+  if(homing != 0){
+    switch(homing){
+      case HOME_FIRST:
+        if(limitIsMade()){
+          // traaaaaaansition -> backoff 
+          stepper_hw->dir(!homeDir);
+          homeStepCounter = 0.0F;
+          homePos = 0.0F;
+          homing = HOME_BACKOFF;
+        } else {
+          homeStepCounter += homeStepRate;
+          if(homeStepCounter >= 1.0F){
+            homeStepCounter -= 1.0F;
+            stepper_hw->step();
+          }
+        }
+        break;
+      case HOME_BACKOFF:
+        homeStepCounter += homeStepRate;
+        homePos += homePosRate;
+        if(homeStepCounter >= 1.0F){  // backoff motion 
+          homeStepCounter -= 1.0F;
+          stepper_hw->step();
+        }
+        if(homePos >= homeOffset){ // until more than 2mm away 
+          // traaaaaaaaaaaaaansition -> end 
+          homing = 0;
+        }
+        break;
+      default:
+        homing = 0;
+    }
+    return;
+  }
+
   //DEBUG2PIN_TOGGLE;
   move_counter += vel;
   boolean move_check = (move_counter > 1.0F);