mirror of
				https://github.com/jhbruhn/butns.git
				synced 2025-10-30 02:46:00 +00:00 
			
		
		
		
	Add CI for kicad
This commit is contained in:
		
							parent
							
								
									fe255aa6e3
								
							
						
					
					
						commit
						cf636b3183
					
				
					 6 changed files with 45359 additions and 2 deletions
				
			
		
							
								
								
									
										23
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							|  | @ -79,3 +79,26 @@ jobs: | ||||||
|         with: |         with: | ||||||
|           name: firmware |           name: firmware | ||||||
|           path: firmware/.pio/build/pico/firmware.uf2 |           path: firmware/.pio/build/pico/firmware.uf2 | ||||||
|  | 
 | ||||||
|  |   build-pcb: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |     - uses: actions/checkout@v2 | ||||||
|  |     - uses: INTI-CMNB/KiBot@v2_k8 | ||||||
|  |       with: | ||||||
|  |         # Required - kibot config file | ||||||
|  |         config: hardware/board/jlcpcb.kibot.yaml | ||||||
|  |         # optional - prefix to output defined in config | ||||||
|  |         dir: hardware/board/output | ||||||
|  |         # optional - schematic file | ||||||
|  |         schema: 'hardware/board/butns.kicad_sch' | ||||||
|  |         # optional - PCB design file | ||||||
|  |         board: 'hardware/board/butns.kicad_pcb' | ||||||
|  |     - name: upload results | ||||||
|  |       if: ${{ always() }} | ||||||
|  |       uses: actions/upload-artifact@v4 | ||||||
|  |       with: | ||||||
|  |         name: board | ||||||
|  |         path: | | ||||||
|  |           hardware/board/output/*.csv           | ||||||
|  |           hardware/board/output/JLCPCB/*.zip | ||||||
							
								
								
									
										6
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							|  | @ -27,6 +27,10 @@ jobs: | ||||||
|       uses: actions/download-artifact@v4 |       uses: actions/download-artifact@v4 | ||||||
|       with: |       with: | ||||||
|         name: buttons |         name: buttons | ||||||
|  |     - name: Download board artifact | ||||||
|  |       uses: actions/download-artifact@v4 | ||||||
|  |       with: | ||||||
|  |         name: board | ||||||
|     - name: Release |     - name: Release | ||||||
|       uses: softprops/action-gh-release@v2 |       uses: softprops/action-gh-release@v2 | ||||||
|       if: startsWith(github.ref, 'refs/tags/') |       if: startsWith(github.ref, 'refs/tags/') | ||||||
|  | @ -34,3 +38,5 @@ jobs: | ||||||
|           files: | |           files: | | ||||||
|             *.uf2 |             *.uf2 | ||||||
|             *.stl |             *.stl | ||||||
|  |             *.csv | ||||||
|  |             *.zip | ||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										42815
									
								
								hardware/board/butns-frontend.kicad_sch_old
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42815
									
								
								hardware/board/butns-frontend.kicad_sch_old
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										89
									
								
								hardware/board/butns.kicad_sch_old
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								hardware/board/butns.kicad_sch_old
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,89 @@ | ||||||
|  | (kicad_sch | ||||||
|  | 	(version 20231120) | ||||||
|  | 	(generator "eeschema") | ||||||
|  | 	(generator_version "8.0") | ||||||
|  | 	(uuid "1c3520c0-bca7-4d12-8c9b-3ac18c44338d") | ||||||
|  | 	(paper "A4") | ||||||
|  | 	(lib_symbols) | ||||||
|  | 	(sheet | ||||||
|  | 		(at 128.27 74.93) | ||||||
|  | 		(size 24.13 10.16) | ||||||
|  | 		(fields_autoplaced yes) | ||||||
|  | 		(stroke | ||||||
|  | 			(width 0.1524) | ||||||
|  | 			(type solid) | ||||||
|  | 		) | ||||||
|  | 		(fill | ||||||
|  | 			(color 0 0 0 0.0000) | ||||||
|  | 		) | ||||||
|  | 		(uuid "b0295986-856b-4508-9cd9-aff1aa86ee33") | ||||||
|  | 		(property "Sheetname" "Frontend" | ||||||
|  | 			(at 128.27 74.2184 0) | ||||||
|  | 			(effects | ||||||
|  | 				(font | ||||||
|  | 					(size 1.27 1.27) | ||||||
|  | 				) | ||||||
|  | 				(justify left bottom) | ||||||
|  | 			) | ||||||
|  | 		) | ||||||
|  | 		(property "Sheetfile" "butns-frontend.kicad_sch" | ||||||
|  | 			(at 128.27 85.6746 0) | ||||||
|  | 			(effects | ||||||
|  | 				(font | ||||||
|  | 					(size 1.27 1.27) | ||||||
|  | 				) | ||||||
|  | 				(justify left top) | ||||||
|  | 			) | ||||||
|  | 		) | ||||||
|  | 		(instances | ||||||
|  | 			(project "butns" | ||||||
|  | 				(path "/1c3520c0-bca7-4d12-8c9b-3ac18c44338d" | ||||||
|  | 					(page "2") | ||||||
|  | 				) | ||||||
|  | 			) | ||||||
|  | 		) | ||||||
|  | 	) | ||||||
|  | 	(sheet | ||||||
|  | 		(at 177.8 77.47) | ||||||
|  | 		(size 26.67 10.16) | ||||||
|  | 		(fields_autoplaced yes) | ||||||
|  | 		(stroke | ||||||
|  | 			(width 0.1524) | ||||||
|  | 			(type solid) | ||||||
|  | 		) | ||||||
|  | 		(fill | ||||||
|  | 			(color 0 0 0 0.0000) | ||||||
|  | 		) | ||||||
|  | 		(uuid "d5941714-0239-4676-93bd-9d828e2adbdd") | ||||||
|  | 		(property "Sheetname" "Backend" | ||||||
|  | 			(at 177.8 76.7584 0) | ||||||
|  | 			(effects | ||||||
|  | 				(font | ||||||
|  | 					(size 1.27 1.27) | ||||||
|  | 				) | ||||||
|  | 				(justify left bottom) | ||||||
|  | 			) | ||||||
|  | 		) | ||||||
|  | 		(property "Sheetfile" "butns-backend.kicad_sch" | ||||||
|  | 			(at 177.8 88.2146 0) | ||||||
|  | 			(effects | ||||||
|  | 				(font | ||||||
|  | 					(size 1.27 1.27) | ||||||
|  | 				) | ||||||
|  | 				(justify left top) | ||||||
|  | 			) | ||||||
|  | 		) | ||||||
|  | 		(instances | ||||||
|  | 			(project "butns" | ||||||
|  | 				(path "/1c3520c0-bca7-4d12-8c9b-3ac18c44338d" | ||||||
|  | 					(page "3") | ||||||
|  | 				) | ||||||
|  | 			) | ||||||
|  | 		) | ||||||
|  | 	) | ||||||
|  | 	(sheet_instances | ||||||
|  | 		(path "/" | ||||||
|  | 			(page "1") | ||||||
|  | 		) | ||||||
|  | 	) | ||||||
|  | ) | ||||||
							
								
								
									
										120
									
								
								hardware/board/jlcpcb.kibot.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								hardware/board/jlcpcb.kibot.yaml
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,120 @@ | ||||||
|  | kibot: | ||||||
|  |   version: 1 | ||||||
|  | 
 | ||||||
|  | filters: | ||||||
|  |   - name: only_jlc_parts | ||||||
|  |     comment: 'Only parts with JLC (LCSC) code' | ||||||
|  |     type: generic | ||||||
|  |     include_only: | ||||||
|  |       - column: 'LCSC#' | ||||||
|  |         regex: '^C\d+' | ||||||
|  | 
 | ||||||
|  | variants: | ||||||
|  |   - name: rotated | ||||||
|  |     comment: 'Just a place holder for the rotation filter' | ||||||
|  |     type: kibom | ||||||
|  |     variant: rotated | ||||||
|  |     pre_transform: _rot_footprint | ||||||
|  | 
 | ||||||
|  | outputs: | ||||||
|  |   - name: JLCPCB_gerbers | ||||||
|  |     comment: Gerbers compatible with JLCPCB | ||||||
|  |     type: gerber | ||||||
|  |     dir: JLCPCB | ||||||
|  |     options: &gerber_options | ||||||
|  |       exclude_edge_layer: true | ||||||
|  |       exclude_pads_from_silkscreen: true | ||||||
|  |       plot_sheet_reference: false | ||||||
|  |       plot_footprint_refs: true | ||||||
|  |       plot_footprint_values: false | ||||||
|  |       force_plot_invisible_refs_vals: false | ||||||
|  |       tent_vias: true | ||||||
|  |       use_protel_extensions: false | ||||||
|  |       create_gerber_job_file: false | ||||||
|  |       disable_aperture_macros: true | ||||||
|  |       gerber_precision: 4.6 | ||||||
|  |       use_gerber_x2_attributes: false | ||||||
|  |       use_gerber_net_attributes: false | ||||||
|  |       line_width: 0.1 | ||||||
|  |       subtract_mask_from_silk: true | ||||||
|  |     layers: | ||||||
|  |       # Note: a more generic approach is to use 'copper' but then the filenames | ||||||
|  |       # are slightly different. | ||||||
|  |       - F.Cu | ||||||
|  |       - B.Cu | ||||||
|  |       - In1.Cu | ||||||
|  |       - In2.Cu | ||||||
|  |       - In3.Cu | ||||||
|  |       - In4.Cu | ||||||
|  |       - In5.Cu | ||||||
|  |       - In6.Cu | ||||||
|  |       - F.SilkS | ||||||
|  |       - B.SilkS | ||||||
|  |       - F.Mask | ||||||
|  |       - B.Mask | ||||||
|  |       - Edge.Cuts | ||||||
|  | 
 | ||||||
|  |   - name: JLCPCB_drill | ||||||
|  |     comment: Drill files compatible with JLCPCB | ||||||
|  |     type: excellon | ||||||
|  |     dir: JLCPCB | ||||||
|  |     options: | ||||||
|  |       pth_and_npth_single_file: false | ||||||
|  |       pth_id: '-PTH' | ||||||
|  |       npth_id: '-NPTH' | ||||||
|  |       metric_units: false | ||||||
|  |       output: "%f%i.%x" | ||||||
|  | 
 | ||||||
|  |   - name: JLCPCB | ||||||
|  |     comment: ZIP file for JLCPCB | ||||||
|  |     type: compress | ||||||
|  |     dir: JLCPCB | ||||||
|  |     options: | ||||||
|  |       files: | ||||||
|  |         - from_output: JLCPCB_gerbers | ||||||
|  |           dest: / | ||||||
|  |         - from_output: JLCPCB_drill | ||||||
|  |           dest: / | ||||||
|  |   - name: 'JLCPCB_position' | ||||||
|  |     comment: "Pick and place file, JLCPCB style" | ||||||
|  |     type: position | ||||||
|  |     options: | ||||||
|  |       variant: rotated | ||||||
|  |       output: '%f_cpl_jlc.%x' | ||||||
|  |       format: CSV | ||||||
|  |       units: millimeters | ||||||
|  |       separate_files_for_front_and_back: false | ||||||
|  |       only_smd: true | ||||||
|  |       columns: | ||||||
|  |         - id: Ref | ||||||
|  |           name: Designator | ||||||
|  |         - Val | ||||||
|  |         - Package | ||||||
|  |         - id: PosX | ||||||
|  |           name: "Mid X" | ||||||
|  |         - id: PosY | ||||||
|  |           name: "Mid Y" | ||||||
|  |         - id: Rot | ||||||
|  |           name: Rotation | ||||||
|  |         - id: Side | ||||||
|  |           name: Layer | ||||||
|  | 
 | ||||||
|  |   - name: 'JLCPCB_bom' | ||||||
|  |     comment: "BoM for JLCPCB" | ||||||
|  |     type: bom | ||||||
|  |     options: | ||||||
|  |       output: '%f_%i_jlc.%x' | ||||||
|  |       #exclude_filter: 'only_jlc_parts' | ||||||
|  |       ref_separator: ',' | ||||||
|  |       columns: | ||||||
|  |         - field: Value | ||||||
|  |           name: Comment | ||||||
|  |         - field: References | ||||||
|  |           name: Designator | ||||||
|  |         - Footprint | ||||||
|  |         - field: 'LCSC' | ||||||
|  |           name: 'LCSC Part #' | ||||||
|  |       csv: | ||||||
|  |         hide_pcb_info: true | ||||||
|  |         hide_stats_info: true | ||||||
|  |         quote_all: true | ||||||
		Loading…
	
		Reference in a new issue