97 lines
3.0 KiB
Markdown
97 lines
3.0 KiB
Markdown
this will describe how to generate the output files form the sources.
|
|
|
|
requirements
|
|
============
|
|
|
|
to be able to generate the outputs you need following software:
|
|
|
|
- rake: the central script taking care of generating the output files (Makefile is too cumbersome to parse files)
|
|
- [QEDA](http://qeda.org/): to generate footprints for the parts
|
|
- [Lepton EDA](https://github.com/lepton-eda/lepton-eda): for the schematic capture
|
|
- [pcb-rnd](http://repo.hu/projects/pcb-rnd/): for the board layout
|
|
the output generation is automatized.
|
|
|
|
compiling
|
|
=========
|
|
|
|
library
|
|
-------
|
|
|
|
almost all of the symbols and footprints used in the schematic and board layout are defined in the [QEDA](http://qeda.org/) format and generated for the CAD software.
|
|
the `library` folder contains the QEDA parts definitions.
|
|
|
|
to install QEDA using NPM from the official repository:
|
|
~~~
|
|
sudo npm install -g qeda
|
|
~~~
|
|
|
|
to install QEDA from the sources:
|
|
~~~
|
|
git clone https://github.com/qeda/qeda
|
|
cd qeda
|
|
npm install
|
|
sudo npm install --global
|
|
~~~
|
|
|
|
to generate the parts:
|
|
~~~
|
|
rake library
|
|
~~~
|
|
|
|
this will use the parts definition (.yaml files) in the `library` to generate [gEDA gschem](http://wiki.geda-project.org/geda:gaf)/[Lepton EDA](https://github.com/lepton-eda/lepton-eda) symbols (.sym files) in the `geda/symbols` folder, and [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/) footprints (.lht files) in the `coraleda/subc` folder.
|
|
|
|
only the QEDA parts in subfolders within `library` come from the [QEDA library](https://doc.qeda.org/library/), but the files are included in this project for simplicity and archiving purposes.
|
|
all other parts are custom and written for this project.
|
|
|
|
schematic
|
|
---------
|
|
|
|
the `.sch` file is the schematic source file.
|
|
it has been drawn using [Lepton EDA](https://github.com/lepton-eda/lepton-eda).
|
|
|
|
it uses standard symbols, and the ones in the `geda/symbols/` folder.
|
|
most symbols are generated by QEDA as described above.
|
|
|
|
to export as pdf:
|
|
~~~
|
|
rake print
|
|
~~~
|
|
|
|
BOM
|
|
---
|
|
|
|
to export the bill of material (as CSV):
|
|
~~~
|
|
rake bom
|
|
~~~
|
|
|
|
board
|
|
-----
|
|
|
|
the `.lht` file is the board layout source file.
|
|
it has been drawn using [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/).
|
|
|
|
it uses the symbols from the `coraleda/subc/` folder.
|
|
most symbols are generated by QEDA as described above.
|
|
`oshw_logo.lht` is just the Open Source Hardware Logo.
|
|
it been generated from https://oshwlogo.cuvoodoo.info/.
|
|
|
|
to export gerber files for PCB manufacturer (and photo preview + overview document):
|
|
~~~
|
|
rake fabrication
|
|
~~~
|
|
|
|
flashing
|
|
========
|
|
|
|
the USB hub gets its configuration from an external EEPROM.
|
|
running `eeprom.rb` will generate the EEPROM configuration in `eeprom.bin`.
|
|
this must then be flashed on the board EEPROM.
|
|
it is possible to flash it in circuit using the corresponding header, and by holding the RST signal low to prevent the USB hub from interfering with the communication.
|
|
|
|
to flash it using [minipro](https://gitlab.com/DavidGriffith/minipro/):
|
|
|
|
~~~
|
|
minipro --device "AT24C16@SOIC8" --write eeprom.bin -s
|
|
~~~
|