Skip to content

Instantly share code, notes, and snippets.

View snhobbs's full-sized avatar

Simon Hobbs snhobbs

View GitHub Profile
from shutil import copyfile
import glob
import os
_mapping = {
'macrofab': {
'Top Copper': '{project}.GTL',
'Top Silkscreen': '{project}.GTO',
'Top Soldermask': '{project}.GTS',
@snhobbs
snhobbs / README.md
Last active March 17, 2023 17:45
Guide and notes to how I make tutorial videos

Tutorial Videos

Software

Task Name Source Version
Screen capture OBS Studio apt repo 25.0.3
Basic Editing OpenShot apt repo 2.4.3
Audio Improvement Pulse Effects apt repo 4.7.1
Microphone Built-in
@snhobbs
snhobbs / README.md
Created March 3, 2023 21:48
SVG Path to FreeCAD Bodies

Goals

  • Make a label in inkscape or any other SVG exporting program
  • Export the label as paths only (no fonts)
  • Import into FreeCAD
  • Turn the label into objects that can be placed on an objects surface to mark a label

Approach

Generate Path Only SVG

@snhobbs
snhobbs / README.md
Created February 25, 2023 14:16
Inkscape label generation makefile

I've been needing to add labels to our products at Hobbs ElectroOptics and have been suffering through keeping multiple versions of each label up to date. In the spirit of spending twice as long to script it as it takes normally I've been investigating using Inkscape's command line tool to batch process these.

Requirements

Text to path

A master version of the label with text boxes is useful for editing but can be

@snhobbs
snhobbs / README.md
Last active February 24, 2023 03:02
Semantic versioning for electronics design

The following is a system for versioning and tagging electonics to enable faster prototype and development. Semantic versioning is used with the following sections

  1. Major: Interface & form factor
  2. Minor: PCB changes
  3. Subrevision: BOM changes

Major

Changes that would lead to rolling the major revision are:

@snhobbs
snhobbs / Makefile
Last active November 25, 2023 22:11
Makefile for exporting a KICAD 7 Design for Manufacturing
# Requires:
# + KiAuto : https://github.com/INTI-CMNB/KiAuto
# + KiCAD 7.0.0+
# + InteractiveHtmlBOM : https://github.com/openscopeproject/InteractiveHtmlBom
# + KiKit: V 1.0.3+
#
#
#
# Tools & Tool Paths
KICAD=kicad-cli
@snhobbs
snhobbs / README.md
Last active March 5, 2023 20:33
Expanding a JLCPCB BOM to a Full Design BOM

JLCPCB makes their internal part numbers the only reference available in BOM exports. The following is a workflow for taking a list of reference designators and LCSC part numbers and expanding it to a full design BOM.

  1. Export the JLCPCB BOM
  2. Use the LCSC BOM Tool to get the manufacturers part numbers
  3. Export the LCSC BOM to a new file
  4. Merge the JLCPCB and LCSC BOMs on the LCSC part number so the correct manufacturers part number is aligned with each reference designator.
  5. Use the BOM tools from Octopart, Digikey, or Mouser to generate a BOM with expanded fields with values, description lines, etc.

The EDA BOM can be merged into the merged JLCPCB & LCSC BOM to add notes, special fields etc. This should be merged on the reference designator.

@snhobbs
snhobbs / README.md
Last active May 28, 2023 21:54
BOM Checking & Ordering
title author date
BOM Checking & Ordering
Simon Hobbs, ElectroOptical Innovations
2022-11-07

In the board design process you start with schematic and a rough bill of materials (BOM). As the design progresses you figure out what packages, versions, values, and features you want each part to have. In general the layout needs to be finalized before the BOM is considered final.

@snhobbs
snhobbs / README.md
Last active November 27, 2022 23:38
Instructions and materials for building a PCBA test stand.