The following is an exploration into the tools and models available for Spice simulation. Some attention to library organization and environment setup is included.
/* | |
* strong_type C++14/17/20 strong typedef library | |
* | |
* Copyright (C) Björn Fahller | |
* | |
* Use, modification and distribution is subject to the | |
* Boost Software License, Version 1.0. (See accompanying | |
* file LICENSE_1_0.txt or copy at | |
* http://www.boost.org/LICENSE_1_0.txt) | |
* |
/* | |
* strong_type C++14/17/20 strong typedef library | |
* | |
* Copyright (C) Björn Fahller | |
* | |
* Use, modification and distribution is subject to the | |
* Boost Software License, Version 1.0. (See accompanying | |
* file LICENSE_1_0.txt or copy at | |
* http://www.boost.org/LICENSE_1_0.txt) | |
* |
Here's how you can use Docker to keep several version of KiCad on your system and have them run as if they were native.
I'd like KiCad to appear as if it was natively installed so I change the desfault user from KiCad to my local username, and give that user sudo rights.
FROM kicad/kicad:9.0
ENV DEBIAN_FRONTEND=noninteractive
- https://www.raspberrypi.com/documentation/microcontrollers/silicon.html#rp2040
- No on board flash. Example boards use a QSPI (W25Q128JVS)
- $0.72 on LCSC.
- Overclockable, speed limited mainly by external flash.
- Getting started guide: https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
- Datasheet: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
List of Electro-Magnetic (EM) that impliment the Finite Difference Time Domain algorithm. I specifically am choosing a simulator for optimizing a Time Domain Reflectometer (TDR) for level measurements and profiling applications. I prefer open source solutions for transparency, customization, and integration into automation workflows.
- Open-Source Software for Electromagnetic Scattering Simulation
- GDSFactory has a good discussion of some options
- Wikipedia Has an incomplete list.
Project Libre used to be my go to project planning software. Unfortunately it has seriously degraded in quality and is not getting updates.
I use project planning in a few ways:
- Scheduling: Used for forward and reverse planning, to highlight critical path items, and schedule time.
- Client Reports: Generate cost and time estimates for clients
- Keep a detailed to do list when juggling many tasks and moving parts
For scheduling I like GanttProject which will do the forward / backwards scheduling and critical task list well. It can be used to manage the task list also. It creates the worst reports and the resource management is attrocious. It does export CSV and XLS export which means it can be used
- Quite_Universal_Circuit_Simulator: https://en.wikipedia.org/wiki/Quite_Universal_Circuit_Simulator
- HyperLynx: https://eda.sw.siemens.com/en-US/pcb/hyperlynx/
- LTSpice: https://en.wikipedia.org/wiki/LTspice
- NgSpice: https://en.wikipedia.org/wiki/Ngspice
- hyp2mat: https://github.com/koendv/hyp2mat
- pcbmodelgen: https://github.com/jcyrax/pcbmodelgen
from shutil import copyfile | |
import glob | |
import os | |
_mapping = { | |
'macrofab': { | |
'Top Copper': '{project}.GTL', | |
'Top Silkscreen': '{project}.GTO', | |
'Top Soldermask': '{project}.GTS', |