Skip to content

Latest commit

 

History

History

scripts

Marble board scripting and processes

Update I2C subsystem diagram in schematics

convert docs/marble2_i2c.eps -scale 1330 marble2_i2c.png before pasting into I2C_MUX.sch

QR code on silkscreen

See instructions in qr_create.py.

The current QR code string added to the manufactured boards is https://github.com/BerkeleyLab/Marble, pointing to this documentation.

Generating artifacts for manufacturing

This includes Gerbers and BoM files. See manufacturing.sh. There are two GUI actions that must be performed by hand, before the script can take over.

Overview of the process: process

Besides KiCad itself, this requires installation of KiBoM 1.8.0.

While any KiCad version 5.1.x (x ≥ 5) is likely fine for viewing, and even editing and artifact-generation, we have taken steps to create reproducible fabrication artifacts. This means byte-for-byte identical zip files, independent of which person and computer runs the process. For this to work, you need a specially patched version of KiCad 5.1.8. This

is backported from the fix to KiCad Issue #6553. I personally build from the source tarball in a Debian Buster chroot. If you build KiCad from git sources, you will have to fight the build system to keep the version string (embedded in the fabrication outputs) from identifying itself as "dirty".

Xilinx constraint file

We have a somewhat specialized tool for creating an xdc file for this board, based on a netlist file exported from KiCad. In the KiCad (version 5.1.x) schematic GUI (eeschema):

  • use menu picks Tools / Generate Netlist File
  • OrcadPCB2 tab / Generate Netlist / Save
  • result shows up as Marble.net
  • Finally from the command line run "python3 netlist_to_xdc.py Marble.net"
  • result shows up as Marble.xdc