Commit 783dae81 authored by Nikodem Bartnik's avatar Nikodem Bartnik

initial commit

parent 25ec7ad3
(G-CODE GENERATED BY FLATCAM v8.994 - www.flatcam.org - Version Date: 2020/11/7)
(Name: pico_w_rover-PTH.drl_1_cnc)
(Type: G-code from Geometry)
(Units: MM)
(Created on Monday, 26 September 2022 at 12:22)
(This preprocessor is the default preprocessor used by FlatCAM.)
(It is made to work with MACH3 compatible motion controllers.)
(TOOLS DIAMETER: )
(Tool: 1 -> Dia: 0.4)
(Tool: 2 -> Dia: 0.762)
(Tool: 3 -> Dia: 0.8)
(Tool: 4 -> Dia: 1.0)
(Tool: 5 -> Dia: 1.1)
(Tool: 6 -> Dia: 1.3)
(FEEDRATE Z: )
(Tool: 1 -> Feedrate: 300)
(Tool: 2 -> Feedrate: 300)
(Tool: 3 -> Feedrate: 300)
(Tool: 4 -> Feedrate: 300)
(Tool: 5 -> Feedrate: 300)
(Tool: 6 -> Feedrate: 300)
(FEEDRATE RAPIDS: )
(Tool: 1 -> Feedrate Rapids: 1500)
(Tool: 2 -> Feedrate Rapids: 1500)
(Tool: 3 -> Feedrate Rapids: 1500)
(Tool: 4 -> Feedrate Rapids: 1500)
(Tool: 5 -> Feedrate Rapids: 1500)
(Tool: 6 -> Feedrate Rapids: 1500)
(Z_CUT: )
(Tool: 1 -> Z_Cut: -1.7)
(Tool: 2 -> Z_Cut: -1.7)
(Tool: 3 -> Z_Cut: -1.7)
(Tool: 4 -> Z_Cut: -1.7)
(Tool: 5 -> Z_Cut: -1.7)
(Tool: 6 -> Z_Cut: -1.7)
(Tools Offset: )
(Tool: 1 -> Offset Z: 0.0)
(Tool: 2 -> Offset Z: 0.0)
(Tool: 3 -> Offset Z: 0.0)
(Tool: 4 -> Offset Z: 0.0)
(Tool: 5 -> Offset Z: 0.0)
(Tool: 6 -> Offset Z: 0.0)
(Z_MOVE: )
(Tool: 1 -> Z_Move: 2)
(Tool: 2 -> Z_Move: 2)
(Tool: 3 -> Z_Move: 2)
(Tool: 4 -> Z_Move: 2)
(Tool: 5 -> Z_Move: 2)
(Tool: 6 -> Z_Move: 2)
(Z Toolchange: 15 mm)
(X,Y Toolchange: 0.0000, 0.0000 mm)
(Z Start: None mm)
(Z End: 0.5 mm)
(X,Y End: None mm)
(Steps per circle: 64)
(Preprocessor Excellon: default)
(X range: 3.6900 ... 88.2260 mm)
(Y range: 4.7138 ... 66.1255 mm)
(Spindle Speed: 1000 RPM)
G21
G90
G94
G01 F300.00
G00 Z15.0000
G01 F300.00
M03 S1000
G00 X21.0280 Y18.3070
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X20.0610 Y17.0820
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y17.2800
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y14.7400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y12.2000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X29.9760 Y12.4300
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X32.5160 Y12.4300
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X35.0560 Y12.4300
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y12.2000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y14.7400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y17.2800
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y19.8200
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y22.3600
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y24.9000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y27.4400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y29.9800
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y32.5200
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y35.0600
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y37.6000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X53.0740 Y28.1990
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X55.6140 Y28.1990
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X58.1540 Y28.1990
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X60.6940 Y28.1990
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X63.2340 Y28.1990
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X65.7740 Y28.1990
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X68.3140 Y28.1990
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X70.8540 Y28.1990
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X53.0740 Y13.9590
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X55.6140 Y13.9590
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X58.1540 Y13.9590
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X60.6940 Y13.9590
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X63.2340 Y13.9590
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X65.7740 Y13.9590
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X68.3140 Y13.9590
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X70.8540 Y13.9590
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X86.0289 Y5.3638
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X87.5760 Y34.4300
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X87.5760 Y39.5100
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X76.1650 Y34.2950
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X76.1650 Y36.8350
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X76.1650 Y39.3750
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X74.3010 Y47.2960
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X74.3010 Y49.7960
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X74.2640 Y52.1940
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X74.2640 Y54.6940
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X80.0110 Y53.6940
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X80.0110 Y51.1540
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X80.0110 Y48.6140
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X87.5220 Y49.7090
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X87.5220 Y52.2490
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X86.0190 Y65.4396
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X76.4610 Y60.2770
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X71.4610 Y60.2770
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X59.0190 Y58.3220
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X56.4790 Y58.3220
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X53.9390 Y58.3220
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X51.3990 Y58.3220
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X57.4110 Y50.0300
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X54.8710 Y50.0300
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X52.3310 Y50.0300
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y40.1400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y42.6800
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y45.2200
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y47.7600
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y50.3000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y52.8400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y55.3800
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y57.9200
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X41.4060 Y60.4600
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y57.9200
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y60.4600
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X5.9697 Y65.4755
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X9.5070 Y57.3460
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X7.6460 Y51.4710
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X7.6460 Y47.5940
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X7.6460 Y43.7170
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X7.6460 Y39.8400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X7.6460 Y35.9630
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X3.8900 Y30.1410
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X9.0200 Y25.2210
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.0560 Y22.7100
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.0560 Y20.1700
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X6.0019 Y5.4837
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X14.5960 Y20.1700
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X14.5960 Y22.7100
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X14.5960 Y25.2500
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.0560 Y25.2500
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.0560 Y27.7900
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X14.5960 Y27.7900
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X17.2760 Y27.4400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.8820 Y31.5240
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X10.1860 Y35.9630
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.7260 Y35.9630
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.7260 Y39.8400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X10.1860 Y39.8400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X10.1860 Y43.7170
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.7260 Y43.7170
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.7260 Y47.5940
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X10.1860 Y47.5940
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X10.1860 Y51.4710
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X12.7260 Y51.4710
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X19.6070 Y51.9000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X19.0090 Y54.9370
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y55.3800
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y52.8400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y50.3000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y47.7600
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y45.2200
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y42.6800
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y40.1400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y37.6000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y35.0600
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y32.5200
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y29.9800
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y27.4400
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y24.9000
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y22.3600
G01 Z-1.7000
G01 Z0
G00 Z2.0000
G00 X23.6260 Y19.8200
G01 Z-1.7000
G01 Z0
G00 Z2.0000
M05
G00 Z0.50
This diff is collapsed.
(G-CODE GENERATED BY FLATCAM v8.994 - www.flatcam.org - Version Date: 2020/11/7)
(Name: new_geo_cnc)
(Type: G-code from Geometry)
(Units: MM)
(Created on Monday, 26 September 2022 at 12:26)
(This preprocessor is the default preprocessor used by FlatCAM.)
(It is made to work with MACH3 compatible motion controllers.)
(TOOL DIAMETER: 3.175 mm)
(Feedrate_XY: 120.0 mm/min)
(Feedrate_Z: 60.0 mm/min)
(Feedrate rapids 1500.0 mm/min)
(Z_Cut: -1.8 mm)
(DepthPerCut: 0.9 mm <=>2 passes)
(Z_Move: 2.0 mm)
(Z Start: None mm)
(Z End: 15.0 mm)
(X,Y End: None mm)
(Steps per circle: 64)
(Preprocessor Geometry: default)
(X range: -2.0000 ... 93.0000 mm)
(Y range: -2.0000 ... 72.0000 mm)
(Spindle Speed: 1000.0 RPM)
G21
G90
G94
G01 F120.00
M5
G00 Z15.0000
G00 X0.0000 Y0.0000
T1
M6
(MSG, Change to Tool Dia = 3.1750)
M0
G00 Z15.0000
M03 S1000.0
G01 F120.00
G00 X-2.0000 Y72.0000
G01 F60.00
G01 Z-0.9000
G01 F120.00
G01 X-2.0000 Y-2.0000
G01 X93.0000 Y-2.0000
G01 X93.0000 Y72.0000
G01 X-2.0000 Y72.0000
G00 X-2.0000 Y72.0000
G01 F60.00
G01 Z-1.8000
G01 F120.00
G01 X-2.0000 Y-2.0000
G01 X93.0000 Y-2.0000
G01 X93.0000 Y72.0000
G01 X-2.0000 Y72.0000
G00 Z2.0000
M05
G00 Z2.0000
G00 Z15.00
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "pi pico" (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at 6.35 -29.21 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "pi pico" (id 1) (at 0 25.4 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "RaspberryPi:raspberry pi pico" (id 2) (at -3.81 26.67 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at -3.81 26.67 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "pi pico_0_1"
(rectangle (start -11.43 26.67) (end 11.43 -27.94)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "pi pico_1_1"
(pin bidirectional line (at -13.97 22.86 0) (length 2.54)
(name "GP0" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 0 0) (length 2.54)
(name "GP7" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 -2.54 0) (length 2.54)
(name "GP8" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 -5.08 0) (length 2.54)
(name "GP9" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -13.97 -7.62 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 -10.16 0) (length 2.54)
(name "GP10" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 -12.7 0) (length 2.54)
(name "GP11" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 -15.24 0) (length 2.54)
(name "GP12" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 -17.78 0) (length 2.54)
(name "GP13" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -13.97 -20.32 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 -22.86 0) (length 2.54)
(name "GP14" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 20.32 0) (length 2.54)
(name "GP1" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 -25.4 0) (length 2.54)
(name "GP15" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 -25.4 180) (length 2.54)
(name "GP16" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 -22.86 180) (length 2.54)
(name "GP17" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 13.97 -20.32 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 -17.78 180) (length 2.54)
(name "GP18" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 -15.24 180) (length 2.54)
(name "GP19" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 -12.7 180) (length 2.54)
(name "GP20" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 -10.16 180) (length 2.54)
(name "GP21" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 13.97 -7.62 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 -5.08 180) (length 2.54)
(name "GP22" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -13.97 17.78 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin input line (at 13.97 -2.54 180) (length 2.54)
(name "RUN" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 0 180) (length 2.54)
(name "GP26" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 2.54 180) (length 2.54)
(name "GP27" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 13.97 5.08 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "33" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 13.97 7.62 180) (length 2.54)
(name "GP28" (effects (font (size 1.27 1.27))))
(number "34" (effects (font (size 1.27 1.27))))
)
(pin input line (at 13.97 10.16 180) (length 2.54)
(name "ADC_VREF" (effects (font (size 1.27 1.27))))
(number "35" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 13.97 12.7 180) (length 2.54)
(name "3V3(OUT)" (effects (font (size 1.27 1.27))))
(number "36" (effects (font (size 1.27 1.27))))
)
(pin input line (at 13.97 15.24 180) (length 2.54)
(name "3V3_EN" (effects (font (size 1.27 1.27))))
(number "37" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 13.97 17.78 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "38" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 13.97 20.32 180) (length 2.54)
(name "VSYS" (effects (font (size 1.27 1.27))))
(number "39" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 15.24 0) (length 2.54)
(name "GP2" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 13.97 22.86 180) (length 2.54)
(name "VBUS" (effects (font (size 1.27 1.27))))
(number "40" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -2.54 -30.48 90) (length 2.54)
(name "SWCLK" (effects (font (size 1.27 1.27))))
(number "41" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 -30.48 90) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "42" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 2.54 -30.48 90) (length 2.54)
(name "SWDIO" (effects (font (size 1.27 1.27))))
(number "43" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 12.7 0) (length 2.54)
(name "GP3" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 10.16 0) (length 2.54)
(name "GP4" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 7.62 0) (length 2.54)
(name "GP5" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -13.97 5.08 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -13.97 2.54 0) (length 2.54)
(name "GP6" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
)
(footprint "raspberry pi pico" (version 20211014) (generator pcbnew)
(layer "F.Cu")
(tedit 0)
(attr through_hole)
(fp_text reference "REF**" (at 0 -0.5 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp e7e31b75-f077-44a1-9e24-9de41e931b74)
)
(fp_text value "raspberry pi pico" (at 0 1 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 38498c13-8b88-4dc3-b95a-796495f60f2e)
)
(fp_text user "${REFERENCE}" (at 0 2.5 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 8974b5a7-9dc0-4e6b-af6d-390b3371f39b)
)
(fp_line (start -4 -1.37) (end -4 -2.7) (layer "F.SilkS") (width 0.12) (tstamp b6fee1b6-db59-4a3e-9bb0-bd4d165bb88e))
(fp_line (start 4 -2.7) (end 4 -1.37) (layer "F.SilkS") (width 0.12) (tstamp ee9ce939-bd4a-481d-94dc-db8ce8591af9))
(fp_line (start -4 -2.7) (end 4 -2.7) (layer "F.SilkS") (width 0.12) (tstamp fbc223e4-6b9d-4bd6-8134-bd75019ade5b))
(fp_rect (start -10.5 -1.37) (end 10.5 49.63) (layer "F.SilkS") (width 0.12) (fill none) (tstamp ffe53892-422d-4c01-8bb1-3ed389eacfcc))
(pad "1" thru_hole oval (at -8.89 0) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 859619a0-78f1-473f-8378-eedfbd4d3b68))
(pad "2" thru_hole oval (at -8.89 2.54) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 2c2e0356-a7f3-4746-b7a0-7e2e1b471106))
(pad "3" thru_hole oval (at -8.89 5.08) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 1fa2b837-0310-4e94-a854-65d617576aaf))
(pad "4" thru_hole oval (at -8.89 7.62) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 8ab75025-d7cb-4e8b-bcc1-2e4aed028c72))
(pad "5" thru_hole oval (at -8.89 10.16) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 16ccb287-f1a0-4527-8962-48e3cca2c36f))
(pad "6" thru_hole oval (at -8.89 12.7) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 7f9559ae-7e12-4365-aa08-efb48643d2ec))
(pad "7" thru_hole oval (at -8.89 15.24) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 65467bca-5a14-4763-8b69-9a9cedc6826a))
(pad "8" thru_hole oval (at -8.89 17.78) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 300285e0-03dc-4897-8425-e0c9cd66b7c7))
(pad "9" thru_hole oval (at -8.89 20.32) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 41bca06e-3866-411f-a7a8-f5835bde8fd2))
(pad "10" thru_hole oval (at -8.89 22.86) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 807f8bef-276a-4749-92b0-e15bb62d439f))
(pad "11" thru_hole oval (at -8.89 25.4) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 33e1b8f2-9710-4c06-8d37-46dad95dbb7a))
(pad "12" thru_hole oval (at -8.89 27.94) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp cccc24e7-c927-4b1b-895d-a2861f65a5fa))
(pad "13" thru_hole oval (at -8.89 30.48) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 18310a11-a3b6-43b9-8ed4-f524f413d4ea))
(pad "14" thru_hole oval (at -8.89 33.02) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp bf37ade2-aea6-4aca-91ca-7bc36db4cb9d))
(pad "15" thru_hole oval (at -8.89 35.56) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 4a2183b0-1cef-4def-88c5-2edccf0e46fc))
(pad "16" thru_hole oval (at -8.89 38.1) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 2dd9e59c-6cd8-4437-bb5d-1aa7c865c872))
(pad "17" thru_hole oval (at -8.89 40.64) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 181141c8-f171-45b8-92f2-9c1c953330ad))
(pad "18" thru_hole oval (at -8.89 43.18) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp cf82c19a-63fb-4e09-ad02-41852fdac493))
(pad "19" thru_hole oval (at -8.89 45.72) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp d9f11ac7-48c4-45b6-b990-df9e047d3fec))
(pad "20" thru_hole oval (at -8.89 48.26) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp ba58650f-90a1-40ab-86c5-79562a6bf913))
(pad "21" thru_hole oval (at 8.89 48.26) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 3335e34b-bb04-4b9c-9c8b-98c3eda48828))
(pad "22" thru_hole oval (at 8.89 45.72) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 1319ad4a-84bd-4aa9-91bf-2a9aa89f5eb4))
(pad "23" thru_hole oval (at 8.89 43.18) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 1933b092-6a49-4cb1-8071-f6ff0ad86af5))
(pad "24" thru_hole oval (at 8.89 40.64) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 6da7ada9-041a-44f2-9de4-c8e96d7cdad6))
(pad "25" thru_hole oval (at 8.89 38.1) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 9ca208cc-1404-4e4e-8a05-39633097b47c))
(pad "26" thru_hole oval (at 8.89 35.56) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp ad44bc64-041a-40bb-9121-5eade219d002))
(pad "27" thru_hole oval (at 8.89 33.02) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp f7b33c57-c1c7-4cba-b617-e59ea188d4b1))
(pad "28" thru_hole oval (at 8.89 30.48) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 9b6b7024-6077-4e29-816b-3b342ba49cf9))
(pad "29" thru_hole oval (at 8.89 27.94) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 54fce7d3-bee7-4282-b59e-011b8a875331))
(pad "30" thru_hole oval (at 8.89 25.4) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 2fef54dc-b681-4186-81ab-e588f8f67533))
(pad "31" thru_hole oval (at 8.89 22.86) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp c5e0acf8-7df0-4eb6-8cb6-b0947c7d47c8))
(pad "32" thru_hole oval (at 8.89 20.32) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 32463c5e-2b1a-43b0-8a1c-cd62702d260f))
(pad "33" thru_hole oval (at 8.89 17.78) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 69d162fb-fd20-474a-85fc-10d0893b793e))
(pad "34" thru_hole oval (at 8.89 15.24) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 5bf91163-d8d5-4c6b-bd84-2f4848d2825f))
(pad "35" thru_hole oval (at 8.89 12.7) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 93ce1183-bdfc-4ca2-8dc2-7086f4d85878))
(pad "36" thru_hole oval (at 8.89 10.16) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp e207013e-14c4-4cff-a849-ee6cadecde1f))
(pad "37" thru_hole oval (at 8.89 7.62) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp d510797d-cf70-47c9-b191-0c084b22dc12))
(pad "38" thru_hole oval (at 8.89 5.08) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 48270d1e-f372-43eb-a45c-888148549655))
(pad "39" thru_hole oval (at 8.89 2.54) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 4ebe925b-4944-4d50-91f2-0dd699eb65cc))
(pad "40" thru_hole oval (at 8.89 0) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp c486bafa-d024-4e23-8e2a-624e979ba307))
(pad "41" thru_hole oval (at -2.54 48.03 90) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 096b847b-5051-4371-ac27-b6d69b3127c3))
(pad "42" thru_hole oval (at 0 48.03 90) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp f36636df-865d-4a89-b001-b1c691f8fd5c))
(pad "43" thru_hole oval (at 2.54 48.03 90) (size 2.3 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 033beeeb-0269-43c7-b99c-6b5f80d86143))
)
This diff is collapsed.
(fp_lib_table
(lib (name "RaspberryPi")(type "KiCad")(uri "${KIPRJMOD}/RaspberryPi.pretty")(options "")(descr ""))
)
This diff is collapsed.
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.6)*%
%TF.CreationDate,2022-09-26T11:51:03+02:00*%
%TF.ProjectId,pico_w_rover,7069636f-5f77-45f7-926f-7665722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Profile,NP*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.6)) date 2022-09-26 11:51:03*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%TA.AperFunction,Profile*%
%ADD10C,0.100000*%
%TD*%
G04 APERTURE END LIST*
D10*
X192720000Y-63500000D02*
G75*
G03*
X192720000Y-63500000I-3500000J0D01*
G01*
X104140000Y-58420000D02*
X195580000Y-58420000D01*
X195580000Y-58420000D02*
X195580000Y-129540000D01*
X195580000Y-129540000D02*
X104140000Y-129540000D01*
X104140000Y-129540000D02*
X104140000Y-58420000D01*
X192720000Y-123500000D02*
G75*
G03*
X192720000Y-123500000I-3500000J0D01*
G01*
X112720000Y-123500000D02*
G75*
G03*
X112720000Y-123500000I-3500000J0D01*
G01*
X112720000Y-63500000D02*
G75*
G03*
X112720000Y-63500000I-3500000J0D01*
G01*
M02*
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.6)*%
%TF.CreationDate,2022-09-26T11:51:03+02:00*%
%TF.ProjectId,pico_w_rover,7069636f-5f77-45f7-926f-7665722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Copper,L1,Top*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.6)) date 2022-09-26 11:51:03*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%TA.AperFunction,ComponentPad*%
%ADD10R,1.700000X1.700000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD11O,1.700000X1.700000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD12C,1.600000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD13C,2.000000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD14O,2.300000X1.524000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD15O,1.524000X2.300000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD16R,2.000000X1.905000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD17O,2.000000X1.905000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD18R,2.600000X2.600000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD19C,2.600000*%
%TD*%
%TA.AperFunction,ViaPad*%
%ADD20C,0.800000*%
%TD*%
%TA.AperFunction,Conductor*%
%ADD21C,0.508000*%
%TD*%
%TA.AperFunction,Conductor*%
%ADD22C,0.762000*%
%TD*%
G04 APERTURE END LIST*
D10*
%TO.P,S2,1,Pin_1*%
%TO.N,S2*%
X182350066Y-89200185D03*
D11*
%TO.P,S2,2,Pin_2*%
%TO.N,+5V*%
X184890066Y-89200185D03*
%TO.P,S2,3,Pin_3*%
%TO.N,GND*%
X187430066Y-89200185D03*
%TD*%
D10*
%TO.P,S6,1,Pin_1*%
%TO.N,S6*%
X142744794Y-79009677D03*
D11*
%TO.P,S6,2,Pin_2*%
%TO.N,+5V*%
X140204794Y-79009677D03*
%TO.P,S6,3,Pin_3*%
%TO.N,GND*%
X137664794Y-79009677D03*
%TD*%
D10*
%TO.P,NRF24L1,1,Pin_1*%
%TO.N,MISO*%
X180480000Y-108870000D03*
D11*
%TO.P,NRF24L1,2,Pin_2*%
%TO.N,IRQ*%
X183020000Y-108870000D03*
%TO.P,NRF24L1,3,Pin_3*%
%TO.N,SCK*%
X180480000Y-106330000D03*
%TO.P,NRF24L1,4,Pin_4*%
%TO.N,MOSI*%
X183020000Y-106330000D03*
%TO.P,NRF24L1,5,Pin_5*%
%TO.N,CE*%
X180480000Y-103790000D03*
%TO.P,NRF24L1,6,Pin_6*%
%TO.N,CNS*%
X183020000Y-103790000D03*
%TO.P,NRF24L1,7,Pin_7*%
%TO.N,GND*%
X180480000Y-101250000D03*
%TO.P,NRF24L1,8,Pin_8*%
%TO.N,+3V3*%
X183020000Y-101250000D03*
%TD*%
D10*
%TO.P,DRV2,1,Pin_1*%
%TO.N,GND*%
X142001709Y-115081334D03*
D11*
%TO.P,DRV2,2,Pin_2*%
%TO.N,+5V*%
X139461709Y-115081334D03*
%TO.P,DRV2,3,Pin_3*%
%TO.N,DRV2_ENB*%
X136921709Y-115081334D03*
%TO.P,DRV2,4,Pin_4*%
%TO.N,DRV2_IN4*%
X134381709Y-115081334D03*
%TO.P,DRV2,5,Pin_5*%
%TO.N,DRV2_IN3*%
X131841709Y-115081334D03*
%TO.P,DRV2,6,Pin_6*%
%TO.N,DRV2_IN2*%
X129301709Y-115081334D03*
%TO.P,DRV2,7,Pin_7*%
%TO.N,DRV2_IN1*%
X126761709Y-115081334D03*
%TO.P,DRV2,8,Pin_8*%
%TO.N,DRV2_ENA*%
X124221709Y-115081334D03*
%TD*%
D12*
%TO.P,C2,1*%
%TO.N,+12V*%
X120774938Y-81744299D03*
%TO.P,C2,2*%
%TO.N,GND*%
X120774938Y-79244299D03*
%TD*%
D10*
%TO.P,S5,1,Pin_1*%
%TO.N,S5*%
X182350066Y-77568768D03*
D11*
%TO.P,S5,2,Pin_2*%
%TO.N,+5V*%
X184890066Y-77568768D03*
%TO.P,S5,3,Pin_3*%
%TO.N,GND*%
X187430066Y-77568768D03*
%TD*%
D10*
%TO.P,S4,1,Pin_1*%
%TO.N,S4*%
X182350066Y-81445907D03*
D11*
%TO.P,S4,2,Pin_2*%
%TO.N,+5V*%
X184890066Y-81445907D03*
%TO.P,S4,3,Pin_3*%
%TO.N,GND*%
X187430066Y-81445907D03*
%TD*%
D13*
%TO.P,C1,1*%
%TO.N,+5V*%
X123615284Y-68762940D03*
%TO.P,C1,2*%
%TO.N,GND*%
X118615284Y-68762940D03*
%TD*%
D10*
%TO.P,S3,1,Pin_1*%
%TO.N,S3*%
X182350066Y-85323046D03*
D11*
%TO.P,S3,2,Pin_2*%
%TO.N,+5V*%
X184890066Y-85323046D03*
%TO.P,S3,3,Pin_3*%
%TO.N,GND*%
X187430066Y-85323046D03*
%TD*%
D10*
%TO.P,PWR1,1,Pin_1*%
%TO.N,+12V*%
X107554470Y-79330594D03*
D11*
%TO.P,PWR1,2,Pin_2*%
%TO.N,GND*%
X107554470Y-76790594D03*
%TD*%
D10*
%TO.P,DRV1,1,Pin_1*%
%TO.N,GND*%
X142001709Y-100841334D03*
D11*
%TO.P,DRV1,2,Pin_2*%
%TO.N,+5V*%
X139461709Y-100841334D03*
%TO.P,DRV1,3,Pin_3*%
%TO.N,DRV1_ENB*%
X136921709Y-100841334D03*
%TO.P,DRV1,4,Pin_4*%
%TO.N,DRV1_IN4*%
X134381709Y-100841334D03*
%TO.P,DRV1,5,Pin_5*%
%TO.N,DRV1_IN3*%
X131841709Y-100841334D03*
%TO.P,DRV1,6,Pin_6*%
%TO.N,DRV1_IN2*%
X129301709Y-100841334D03*
%TO.P,DRV1,7,Pin_7*%
%TO.N,DRV1_IN1*%
X126761709Y-100841334D03*
%TO.P,DRV1,8,Pin_8*%
%TO.N,DRV1_ENA*%
X124221709Y-100841334D03*
%TD*%
D10*
%TO.P,HCSR4,1,Pin_1*%
%TO.N,+5V*%
X143676567Y-70718025D03*
D11*
%TO.P,HCSR4,2,Pin_2*%
%TO.N,TRIG*%
X141136567Y-70718025D03*
%TO.P,HCSR4,3,Pin_3*%
%TO.N,ECHO*%
X138596567Y-70718025D03*
%TO.P,HCSR4,4,Pin_4*%
%TO.N,GND*%
X136056567Y-70718025D03*
%TD*%
D10*
%TO.P,S1,1,Pin_1*%
%TO.N,S1*%
X182350066Y-93077324D03*
D11*
%TO.P,S1,2,Pin_2*%
%TO.N,+5V*%
X184890066Y-93077324D03*
%TO.P,S1,3,Pin_3*%
%TO.N,GND*%
X187430066Y-93077324D03*
%TD*%
D14*
%TO.P,U1,1,GP0*%
%TO.N,TRIG*%
X153670000Y-68580000D03*
%TO.P,U1,2,GP1*%
%TO.N,ECHO*%
X153670000Y-71120000D03*
%TO.P,U1,3,GND*%
%TO.N,GND*%
X153670000Y-73660000D03*
%TO.P,U1,4,GP2*%
%TO.N,S6*%
X153670000Y-76200000D03*
%TO.P,U1,5,GP3*%
%TO.N,HP1*%
X153670000Y-78740000D03*
%TO.P,U1,6,GP4*%
%TO.N,DRV1_ENA*%
X153670000Y-81280000D03*
%TO.P,U1,7,GP5*%
%TO.N,DRV1_IN1*%
X153670000Y-83820000D03*
%TO.P,U1,8,GND*%
%TO.N,GND*%
X153670000Y-86360000D03*
%TO.P,U1,9,GP6*%
%TO.N,DRV1_IN2*%
X153670000Y-88900000D03*
%TO.P,U1,10,GP7*%
%TO.N,DRV1_IN3*%
X153670000Y-91440000D03*
%TO.P,U1,11,GP8*%
%TO.N,DRV1_IN4*%
X153670000Y-93980000D03*
%TO.P,U1,12,GP9*%
%TO.N,DRV1_ENB*%
X153670000Y-96520000D03*
%TO.P,U1,13,GND*%
%TO.N,GND*%
X153670000Y-99060000D03*
%TO.P,U1,14,GP10*%
%TO.N,DRV2_ENA*%
X153670000Y-101600000D03*
%TO.P,U1,15,GP11*%
%TO.N,DRV2_IN1*%
X153670000Y-104140000D03*
%TO.P,U1,16,GP12*%
%TO.N,DRV2_IN2*%
X153670000Y-106680000D03*
%TO.P,U1,17,GP13*%
%TO.N,DRV2_IN3*%
X153670000Y-109220000D03*
%TO.P,U1,18,GND*%
%TO.N,GND*%
X153670000Y-111760000D03*
%TO.P,U1,19,GP14*%
%TO.N,DRV2_IN4*%
X153670000Y-114300000D03*
%TO.P,U1,20,GP15*%
%TO.N,DRV2_ENB*%
X153670000Y-116840000D03*
%TO.P,U1,21,GP16*%
%TO.N,MISO*%
X171450000Y-116840000D03*
%TO.P,U1,22,GP17*%
%TO.N,CNS*%
X171450000Y-114300000D03*
%TO.P,U1,23,GND*%
%TO.N,GND*%
X171450000Y-111760000D03*
%TO.P,U1,24,GP18*%
%TO.N,SCK*%
X171450000Y-109220000D03*
%TO.P,U1,25,GP19*%
%TO.N,MOSI*%
X171450000Y-106680000D03*
%TO.P,U1,26,GP20*%
%TO.N,CE*%
X171450000Y-104140000D03*
%TO.P,U1,27,GP21*%
%TO.N,S1*%
X171450000Y-101600000D03*
%TO.P,U1,28,GND*%
%TO.N,GND*%
X171450000Y-99060000D03*
%TO.P,U1,29,GP22*%
%TO.N,S2*%
X171450000Y-96520000D03*
%TO.P,U1,30,RUN*%
%TO.N,unconnected-(U1-Pad30)*%
X171450000Y-93980000D03*
%TO.P,U1,31,GP26*%
%TO.N,S3*%
X171450000Y-91440000D03*
%TO.P,U1,32,GP27*%
%TO.N,S4*%
X171450000Y-88900000D03*
%TO.P,U1,33,GND*%
%TO.N,GND*%
X171450000Y-86360000D03*
%TO.P,U1,34,GP28*%
%TO.N,S5*%
X171450000Y-83820000D03*
%TO.P,U1,35,ADC_VREF*%
%TO.N,unconnected-(U1-Pad35)*%
X171450000Y-81280000D03*
%TO.P,U1,36,3V3(OUT)*%
%TO.N,+3V3*%
X171450000Y-78740000D03*
%TO.P,U1,37,3V3_EN*%
%TO.N,unconnected-(U1-Pad37)*%
X171450000Y-76200000D03*
%TO.P,U1,38,GND*%
%TO.N,GND*%
X171450000Y-73660000D03*
%TO.P,U1,39,VSYS*%
%TO.N,+5V*%
X171450000Y-71120000D03*
%TO.P,U1,40,VBUS*%
%TO.N,unconnected-(U1-Pad40)*%
X171450000Y-68580000D03*
D15*
%TO.P,U1,41,SWCLK*%
%TO.N,unconnected-(U1-Pad41)*%
X160020000Y-116610000D03*
%TO.P,U1,42,GND*%
%TO.N,unconnected-(U1-Pad42)*%
X162560000Y-116610000D03*
%TO.P,U1,43,SWDIO*%
%TO.N,unconnected-(U1-Pad43)*%
X165100000Y-116610000D03*
%TD*%
D16*
%TO.P,Q1,1,G*%
%TO.N,Net-(Q1-Pad1)*%
X118910864Y-94744963D03*
D17*
%TO.P,Q1,2,D*%
%TO.N,Net-(J1-Pad2)*%
X118910864Y-92204963D03*
%TO.P,Q1,3,S*%
%TO.N,GND*%
X118910864Y-89664963D03*
%TD*%
D16*
%TO.P,U2,1,IN*%
%TO.N,+12V*%
X115065210Y-80425927D03*
D17*
%TO.P,U2,2,GND*%
%TO.N,GND*%
X115065210Y-77885927D03*
%TO.P,U2,3,OUT*%
%TO.N,+5V*%
X115065210Y-75345927D03*
%TD*%
D18*
%TO.P,J1,1,Pin_1*%
%TO.N,+12V*%
X107500000Y-89530000D03*
D19*
%TO.P,J1,2,Pin_2*%
%TO.N,Net-(J1-Pad2)*%
X107500000Y-94610000D03*
%TD*%
D12*
%TO.P,C3,1*%
%TO.N,+5V*%
X120811630Y-74346299D03*
%TO.P,C3,2*%
%TO.N,GND*%
X120811630Y-76846299D03*
%TD*%
D20*
%TO.N,GND*%
X191185775Y-98899415D03*
X174048419Y-110733473D03*
X185569418Y-71694277D03*
X177800000Y-101600000D03*
X176067250Y-74103277D03*
%TO.N,CNS*%
X186055890Y-103819221D03*
X175015464Y-111958271D03*
%TO.N,+3V3*%
X182194376Y-97515794D03*
X175469250Y-77139667D03*
%TD*%
D21*
%TO.N,GND*%
X191185775Y-98899415D02*
X179509903Y-98899415D01*
X177800000Y-101600000D02*
X177800000Y-106981892D01*
X177800000Y-100609318D02*
X177800000Y-101600000D01*
D22*
X183160418Y-74103277D02*
X185569418Y-71694277D01*
D21*
X177800000Y-106981892D02*
X174048419Y-110733473D01*
D22*
X176067250Y-74103277D02*
X183160418Y-74103277D01*
D21*
X179509903Y-98899415D02*
X177800000Y-100609318D01*
D22*
%TO.N,+12V*%
X107500000Y-79385064D02*
X107554470Y-79330594D01*
D21*
%TO.N,CE*%
X180130000Y-104140000D02*
X180480000Y-103790000D01*
X171800000Y-103790000D02*
X171450000Y-104140000D01*
D22*
%TO.N,MISO*%
X180480000Y-109080000D02*
X180480000Y-108870000D01*
%TO.N,CNS*%
X184093398Y-111958271D02*
X175015464Y-111958271D01*
X183049221Y-103819221D02*
X183020000Y-103790000D01*
X186055890Y-109995779D02*
X184093398Y-111958271D01*
X186055890Y-103819221D02*
X186055890Y-109995779D01*
D21*
%TO.N,+3V3*%
X182194376Y-97515794D02*
X178547530Y-93868948D01*
X178547530Y-80217947D02*
X175469250Y-77139667D01*
X178547530Y-93868948D02*
X178547530Y-80217947D01*
%TD*%
M02*
M48
; DRILL file {KiCad (6.0.6)} date Mon Sep 26 12:00:52 2022
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2022-09-26T12:00:52+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.6)
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
METRIC
%
G90
G05
T0
M30
M48
; DRILL file {KiCad (6.0.6)} date Mon Sep 26 12:00:52 2022
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2022-09-26T12:00:52+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.6)
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
METRIC
; #@! TA.AperFunction,Plated,PTH,ViaDrill
T1C0.400
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T2C0.762
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T3C0.800
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T4C1.000
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T5C1.100
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T6C1.300
%
G90
G05
T1
X174.048Y110.733
X175.015Y111.958
X175.469Y77.14
X176.067Y74.103
X177.8Y101.6
X182.194Y97.516
X185.569Y71.694
X186.056Y103.819
X191.186Y98.899
T2
X153.67Y68.58
X153.67Y71.12
X153.67Y73.66
X153.67Y76.2
X153.67Y78.74
X153.67Y81.28
X153.67Y83.82
X153.67Y86.36
X153.67Y88.9
X153.67Y91.44
X153.67Y93.98
X153.67Y96.52
X153.67Y99.06
X153.67Y101.6
X153.67Y104.14
X153.67Y106.68
X153.67Y109.22
X153.67Y111.76
X153.67Y114.3
X153.67Y116.84
X160.02Y116.61
X162.56Y116.61
X165.1Y116.61
X171.45Y68.58
X171.45Y71.12
X171.45Y73.66
X171.45Y76.2
X171.45Y78.74
X171.45Y81.28
X171.45Y83.82
X171.45Y86.36
X171.45Y88.9
X171.45Y91.44
X171.45Y93.98
X171.45Y96.52
X171.45Y99.06
X171.45Y101.6
X171.45Y104.14
X171.45Y106.68
X171.45Y109.22
X171.45Y111.76
X171.45Y114.3
X171.45Y116.84
T3
X120.775Y79.244
X120.775Y81.744
X120.812Y74.346
X120.812Y76.846
T4
X107.554Y76.791
X107.554Y79.331
X118.615Y68.763
X123.615Y68.763
X124.222Y100.841
X124.222Y115.081
X126.762Y100.841
X126.762Y115.081
X129.302Y100.841
X129.302Y115.081
X131.842Y100.841
X131.842Y115.081
X134.382Y100.841
X134.382Y115.081
X136.057Y70.718
X136.922Y100.841
X136.922Y115.081
X137.665Y79.01
X138.597Y70.718
X139.462Y100.841
X139.462Y115.081
X140.205Y79.01
X141.137Y70.718
X142.002Y100.841
X142.002Y115.081
X142.745Y79.01
X143.677Y70.718
X180.48Y101.25
X180.48Y103.79
X180.48Y106.33
X180.48Y108.87
X182.35Y77.569
X182.35Y81.446
X182.35Y85.323
X182.35Y89.2
X182.35Y93.077
X183.02Y101.25
X183.02Y103.79
X183.02Y106.33
X183.02Y108.87
X184.89Y77.569
X184.89Y81.446
X184.89Y85.323
X184.89Y89.2
X184.89Y93.077
X187.43Y77.569
X187.43Y81.446
X187.43Y85.323
X187.43Y89.2
X187.43Y93.077
T5
X115.065Y75.346
X115.065Y77.886
X115.065Y80.426
X118.911Y89.665
X118.911Y92.205
X118.911Y94.745
T6
X107.5Y89.53
X107.5Y94.61
T0
M30
{
"Header": {
"GenerationSoftware": {
"Vendor": "KiCad",
"Application": "Pcbnew",
"Version": "(6.0.6)"
},
"CreationDate": "2022-09-26T11:51:03+02:00"
},
"GeneralSpecs": {
"ProjectId": {
"Name": "pico_w_rover",
"GUID": "7069636f-5f77-45f7-926f-7665722e6b69",
"Revision": "rev?"
},
"Size": {
"X": 91.54,
"Y": 71.22
},
"LayerNumber": 2,
"BoardThickness": 1.6,
"Finish": "None"
},
"DesignRules": [
{
"Layers": "Outer",
"PadToPad": 0.2,
"PadToTrack": 0.2,
"TrackToTrack": 0.2,
"MinLineWidth": 0.508,
"TrackToRegion": 0.508,
"RegionToRegion": 0.508
}
],
"FilesAttributes": [
{
"Path": "pico_w_rover-F_Cu.gbr",
"FileFunction": "Copper,L1,Top",
"FilePolarity": "Positive"
},
{
"Path": "pico_w_rover-B_Cu.gbr",
"FileFunction": "Copper,L2,Bot",
"FilePolarity": "Positive"
},
{
"Path": "pico_w_rover-Edge_Cuts.gbr",
"FileFunction": "Profile",
"FilePolarity": "Positive"
}
],
"MaterialStackup": [
{
"Type": "Legend",
"Name": "Top Silk Screen"
},
{
"Type": "SolderPaste",
"Name": "Top Solder Paste"
},
{
"Type": "SolderMask",
"Thickness": 0.01,
"Name": "Top Solder Mask"
},
{
"Type": "Copper",
"Thickness": 0.035,
"Name": "F.Cu"
},
{
"Type": "Dielectric",
"Thickness": 1.51,
"Material": "FR4",
"Name": "F.Cu/B.Cu",
"Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
},
{
"Type": "Copper",
"Thickness": 0.035,
"Name": "B.Cu"
},
{
"Type": "SolderMask",
"Thickness": 0.01,
"Name": "Bottom Solder Mask"
},
{
"Type": "SolderPaste",
"Name": "Bottom Solder Paste"
},
{
"Type": "Legend",
"Name": "Bottom Silk Screen"
}
]
}
This diff is collapsed.
{
"board": {
"active_layer": 37,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "ffdffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "pico_w_rover.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"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.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"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.15,
"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.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "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_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"use_height_for_length_calcs": true
},
"track_widths": [
0.0,
0.508,
0.762
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "pico_w_rover.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "./",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"bda973a7-e5a7-426b-ab59-21b5ada55336",
""
]
],
"text_variables": {}
}
This diff is collapsed.
(sym_lib_table
(lib (name "RaspberryPi")(type "KiCad")(uri "${KIPRJMOD}/RaspberryPi.kicad_sym")(options "")(descr ""))
)
File added
File added
File added
File added
File added
File added
File added
File added
File added
import network, socket, time
from machine import Pin, PWM
SERVO_CALIBRATION_VALUE = 0.60
led = Pin("LED", Pin.OUT)
camera_pin = Pin(3, Pin.OUT)
drv1_in1 = Pin(5, Pin.OUT)
drv1_in2 = Pin(6, Pin.OUT)
drv1_in3 = Pin(7, Pin.OUT)
drv1_in4 = Pin(8, Pin.OUT)
drv2_in1 = Pin(11, Pin.OUT)
drv2_in2 = Pin(12, Pin.OUT)
drv2_in3 = Pin(13, Pin.OUT)
drv2_in4 = Pin(14, Pin.OUT)
camera_pin.value(0)
servo1 = PWM(Pin(21))
servo2 = PWM(Pin(22))
servo3 = PWM(Pin(26))
servo4 = PWM(Pin(27))
drv1_a = PWM(Pin(4))
drv1_b = PWM(Pin(9))
drv2_a = PWM(Pin(10))
drv2_b = PWM(Pin(15))
servo1.freq(50)
servo2.freq(50)
servo3.freq(50)
servo4.freq(50)
drv1_a.freq(50)
drv1_b.freq(50)
drv2_a.freq(50)
drv2_b.freq(50)
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('TP-LINK_B71D9D', '87057850')
soc = socket.socket()
# Should be connected and have an IP address
#wlan.status() # 3 == success
#wlan.ifconfig()
time.sleep(5)
def servoSet(servo, duty):
servo.duty_u16(int((1-SERVO_CALIBRATION_VALUE)*3277 + (duty/180) * 3277*(SERVO_CALIBRATION_VALUE+1)))
#duty form 0 to 1
#M1 front right, 1 - backwards, 0 - forward
#M2 back right, 1- backwards, 0 - forward
#M3 front left, 1- backwards, 0 - forward
#M4 back left, 1- backwards, 0 - forward
def setMotor(motor, dir, duty):
if motor is 1:
drv1_in1.value(dir)
drv1_in2.value(not dir)
drv1_a.duty_u16(int(65536 * duty))
elif motor is 2:
drv1_in3.value(dir)
drv1_in4.value(not dir)
drv1_b.duty_u16(int(65536 * duty))
elif motor is 3:
drv2_in1.value(not dir)
drv2_in2.value(dir)
drv2_a.duty_u16(int(65536 * duty))
elif motor is 4:
drv2_in3.value(not dir)
drv2_in4.value(dir)
drv2_b.duty_u16(int(65536 * duty))
def drive(value, power):
print(power)
if value < 120 and value > 60:
setMotor(1, 0, power)
setMotor(2, 0, power)
setMotor(3, 0, power)
setMotor(4, 0, power)
elif value < 210 and value > 150:
setMotor(1, 0, power)
setMotor(2, 1, power)
setMotor(3, 1, power)
setMotor(4, 0, power)
elif value > 330 or value < 30:
setMotor(1, 1, power)
setMotor(2, 0, power)
setMotor(3, 0, power)
setMotor(4, 1, power)
elif value < 300 and value > 240:
setMotor(1, 1, power)
setMotor(2, 1, power)
setMotor(3, 1, power)
setMotor(4, 1, power)
def turn(direction):
if direction:
setMotor(1, 0, 0.7)
setMotor(2, 0, 0.7)
setMotor(3, 1, 0.7)
setMotor(4, 1, 0.7)
else:
setMotor(1, 1, 0.7)
setMotor(2, 1, 0.7)
setMotor(3, 0, 0.7)
setMotor(4, 0, 0.7)
def stop():
drv1_a.duty_u16(0)
drv1_b.duty_u16(0)
drv2_a.duty_u16(0)
drv2_b.duty_u16(0)
soc.connect(("192.168.1.107", 12345))
while True:
data = soc.readline()
values = str(data,'utf8').strip().split(',')
values = [int(x) for x in values]
print(values, end='\n')
servoSet(servo1, values[0]/10)
servoSet(servo2, values[1]/10)
servoSet(servo3, values[2]/10)
servoSet(servo4, values[3]/10)
if values[4] is -10:
stop()
else:
drive(int(values[4]/10), values[5]/100)
if values[7] is 1:
turn(1)
elif values[7] is 2:
turn(0)
if values[6] is 1:
camera_pin.value(1)
led.value(1)
else:
camera_pin.value(0)
led.value(0)
#s.send('hello')
from re import S
import pygame, math
class Slider:
def __init__(self, pos, length, default=0) -> None:
self.pos = pos
self.length = length
self.height = 15
self.colorBackground = (80,80,80)
self.colorDot = (230,230,230)
self.dotPos = (self.pos[0] + self.length * default, self.pos[1]+7)
self.value_display = Title((self.pos[0]+self.length+20, self.pos[1]-5), str(self.getValue()))
def checkIfPressed(self, click_pos, clicked):
if(clicked and self.pos[0] < click_pos[0] and (self.pos[0] + self.length) > click_pos[0] and
self.pos[1] < click_pos[1] and (self.pos[1] + self.height*2.5) > click_pos[1]):
self.dotPos = (click_pos[0], self.dotPos[1])
self.value_display.change(str(self.getValue()))
return True
else:
return False
def draw(self, screen):
pygame.draw.rect(screen, self.colorBackground, (self.pos[0], self.pos[1], self.length, self.height))
pygame.draw.circle(screen, self.colorDot, self.dotPos, 15)
self.value_display.draw(screen)
def getValue(self):
return (self.dotPos[0] - self.pos[0])/self.length
def setValue(self, val):
self.dotPos = (self.pos[0] + (self.length * val), self.pos[1])
class Title:
def __init__(self, pos, title) -> None:
self.pos = pos
self.title = title
self.font = pygame.font.SysFont('arial', 20)
self.text = self.font.render(self.title, False, (100, 100, 100))
def change(self, title):
self.text = self.font.render(title, False, (100, 100, 100))
def draw(self, screen):
screen.blit(self.text, self.pos)
class Joystick:
def __init__(self, pos, size) -> None:
self.pos = pos
self.size = size
self.colorBackground = (80,80,80)
self.colorDot = (230,230,230)
self.JOYSTICKLIMIT = size
self.clicked = False
def checkIfPressed(self, click_pos, clicked):
if (clicked and (click_pos[0] - self.pos[0]) ** 2 + (click_pos[1] - self.pos[1]) ** 2 < (self.size ** 2)):
self.clicked = True
return True
else:
self.clicked = False
return False
def draw(self, screen):
pygame.draw.circle(screen, self.colorBackground, self.pos, self.size)
if(self.clicked):
pygame.draw.circle(screen, self.colorDot, self.limitJoystickMovment(self.pos, pygame.mouse.get_pos()), self.size*0.6)
def limitJoystickMovment(self, pos1, pos2):
if pos1[0] > pos2[0]:
x = pos1[0] - self.JOYSTICKLIMIT if pos1[0] - pos2[0] > self.JOYSTICKLIMIT else pos2[0]
else:
x = pos1[0] + self.JOYSTICKLIMIT if pos2[0] - pos1[0] > self.JOYSTICKLIMIT else pos2[0]
if pos1[1] > pos2[1]:
y = pos1[1] - self.JOYSTICKLIMIT if pos1[1] - pos2[1] > self.JOYSTICKLIMIT else pos2[1]
else:
y = pos1[1] + self.JOYSTICKLIMIT if pos2[1] - pos1[1] > self.JOYSTICKLIMIT else pos2[1]
return (x, y)
def getValue(self):
if self.clicked:
return [(math.atan2(pygame.mouse.get_pos()[1] - self.pos[1], pygame.mouse.get_pos()[0] - self.pos[0]) * 180/math.pi) + 180, math.sqrt((self.pos[0]-pygame.mouse.get_pos()[0])**2+(self.pos[1]-pygame.mouse.get_pos()[1])**2)/self.size]
else:
return -1, 0
class Button:
def __init__(self, pos, size, clicked = False, bistable = True) -> None:
self.pos = pos
self.size = size
self.colorBackground = (80,80,80)
self.colorDot = (230,230,230)
self.clicked = clicked
self.bistable = bistable
def draw(self, screen):
pygame.draw.circle(screen, self.colorBackground, self.pos, self.size)
if(self.clicked):
pygame.draw.circle(screen, self.colorDot, self.pos, self.size*0.6)
def checkIfPressed(self, click_pos, clicked):
if (clicked and self.clickFlag is False and (click_pos[0] - self.pos[0]) ** 2 + (click_pos[1] - self.pos[1]) ** 2 < (self.size ** 2)):
self.clickFlag = True
if self.bistable:
self.clicked = not self.clicked
else:
self.clicked = True
else:
self.clickFlag = False
if not self.bistable:
self.clicked = False
return False
def getValue(self):
return self.clicked
\ No newline at end of file
import pygame, math, time, socket
import gui
s = socket.socket()
pygame.init()
screen = pygame.display.set_mode([800, 800])
mousePressed = False
s.bind(('', 12345))
s.listen(5)
c, addr = s.accept()
def sendToRobot(c):
c.send((str(round(slider1.getValue()*1800)) + "," + str(round(slider2.getValue()*1800)) + "," + str(round(slider3.getValue()*1800)) + "," + str(round(slider4.getValue()*1800)) + "," + str(round(joystick.getValue()[0]*10)) + "," + str(round(joystick.getValue()[1]*100)) + "," + str(1 if camera_button.getValue() == True else 0) + "," + str(1 if turn_left_button.getValue() == True else 2 if turn_right_button.getValue() else 0) + '\n').encode())
#print(c.recv(10))
def clickCheck(pos, clicked):
slider2.checkIfPressed(pos, clicked)
slider1.checkIfPressed(pos, clicked)
slider3.checkIfPressed(pos, clicked)
slider4.checkIfPressed(pos, clicked)
joystick.checkIfPressed(pos, clicked)
camera_button.checkIfPressed(pos, clicked)
turn_left_button.checkIfPressed(pos, clicked)
turn_right_button.checkIfPressed(pos, clicked)
def drawAll():
slider1.draw(screen)
slider2.draw(screen)
slider3.draw(screen)
slider4.draw(screen)
title1.draw(screen)
title2.draw(screen)
title3.draw(screen)
title4.draw(screen)
title5.draw(screen)
joystick.draw(screen)
title6.draw(screen)
camera_button.draw(screen)
turn_left_button.draw(screen)
turn_right_button.draw(screen)
title7.draw(screen)
titleL.draw(screen)
titleR.draw(screen)
slider1 = gui.Slider((170,50), 500, 0.5)
slider2 = gui.Slider((170,120), 500, 0.5)
slider3 = gui.Slider((170,190), 500, 0.5)
slider4 = gui.Slider((170,260), 500, 0.5)
title1 = gui.Title((60, 45), "Servo 1")
title2 = gui.Title((60, 115), "Servo 2")
title3 = gui.Title((60, 185), "Servo 3")
title4 = gui.Title((60, 255), "Jaw")
title5 = gui.Title((200,360), "Robot control")
joystick = gui.Joystick((260,550), 120)
title6 = gui.Title((575,360), "Camera")
camera_button = gui.Button((610, 450), 30)
title7 = gui.Title((590,560), "Turn")
titleL = gui.Title((545,620), "L")
titleR = gui.Title((675,620), "R")
turn_left_button = gui.Button((550, 630), 30, False, False)
turn_right_button = gui.Button((680, 630), 30, False, False)
while 1:
screen.fill((40,40,40))
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
mousePressed = True
if event.type == pygame.MOUSEBUTTONUP:
mousePressed = False
if event.type == pygame.QUIT:
pygame.quit()
clickCheck(pygame.mouse.get_pos(), mousePressed)
sendToRobot(c)
print(turn_left_button.getValue())
drawAll()
time.sleep(0.01)
pygame.display.flip()
import socket
s = socket.socket()
port = 12345
s.bind(('', port))
print ("socket binded to %s" %(port))
s.listen(5)
print ("socket is listening")
print('waiting')
c, addr = s.accept()
while True:
print ('Got connection from', addr )
# send a thank you message to the client. encoding to send byte type.
print(c.recv(50))
c.send('Thank you for connecting'.encode())
# Close the connection with the client
#c.close()
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment