An Electrical Engineering calculator suite
Project description
ComponentCalc: The Electrical Engineering Calculator
Sometimes your TI-89 isn't enough, and an ideal 483.42Ω resistor doesn't exist.
I'm an Electrical Engineer who does a lot of discrete design, which means I can often have ~20 browser tabs open to resources like jansson.us, Analog Devices' dBm Calculator, TI's Designing Gain and Offset in 30s, and my company's part catalog, all just to design a simple active filter.
My goal is to consolidate and enrich these tools into a single program that, above all else, documents and simplifies some design choices like component selection, making circuit designs easy to modify in the future.
You know, for when it takes 8 weeks to get PCBAs back and you realize that an opamp doesn't actually have infinite input impedance.
Planned Features
🔵Core Features
🔷Priority Features
🔹Eventual Features
🔸Possible Features
🔻A bit down the road but I'm tempted
Organization
- 🔵Projects: Stored as directories with human-readable-ish data
- 🔸Power Rail Configuration: Store available power rails with tolerance, stability, and use preference.
- 🔻Load Estimation: Use calculators and other contributions to figure out power loads.
- 🔸Power Rail Configuration: Store available power rails with tolerance, stability, and use preference.
- 🔵(sub)Circuits: Organize your calculations within a project!
- 🔷Reuse: Use a circuit within another circuit (subcircuits)
- 🔻Dependent Optimization: Optimize two subcircuits to work together, accounting for factors like loading.
- 🔷Reuse: Use a circuit within another circuit (subcircuits)
- 🔵Try-Then-Commit: Tinker with any value, use it in other circuits, and then choose to change things up.
All Components:
- 🔵Global Part Library: Save characteristics and information about parts to reuse them.
- 🔵Internal Naming: Add aliases for parts (i.e. Company Part Numbers).
- 🔹Double Click to Add: See a generic 1kΩ 0402? You'll probably use a lot of those, so it should be easy to add it to your custom library.
- 🔷Project Library: See what parts you're already using in a project (and prefer them).
- 🔻Complex Nonlinearities and Nonidealities: Amplitude dependence, bias dependence, anything that pushes math far out of the S-domain.
Basic Passive Components (RLC)
- 🔵Standardization: Automatic respect of the E-series using
eseriesfor any automatic calculations. - 🔵Tolerancing
- 🔷Prioritization: Let's keep BOM lines down, if a part's in your project library or global library, let's see if we can make it work.
- 🔷A sense of reality: A
1FSMD capacitor doesn't exist. This won't suggest one. - 🔹Parasitics: Basic user-defined RLC parasitics.
- 🔹Estimation: Estimation of standard package (0201, 0402, ...) parasitics.
Other Component Support
- 🔹Ferrite Beads (with parameter extraction)
- 🔹Opamps
- 🔻Diodes
- 🔸Black Box Sources: VCVS, VCCS, CCVS, CCCS
- 🔸Static Subcircuits
Actual Calculators and Utilities
- 🔵Resistor Combination: Parallel / series to hit specific tolerance and/or power rating. Ala jansson.us
- 🔵Capacitor Combination: Parallel / series to hit specific tolerance and/or voltage rating.
- 🔵Inductor Combination: Parallel / series to hit specific tolerance and/or current rating.
- 🔵Opamp Gain/Offset Circuits: I manually use TI's Designing Gain and Offset in 30s far too much (and it usually takes me more than 30s)
- 🔷Worst-Case Analysis
- 🔷Plot Digitizer: Ala WebPlotDigitizer, but tailored down for datasheet translation (and for sanity during development).
- 🔷Filter Designer: Topologies TBD.
- 🔹Worst-Case Analysis
- 🔸Side-by-Side Comparison
- 🔻Custom Metrics: Create your own performance criteria.
Some More Details
Calculation Methods
- (Preferred) Analytical calculation, where reasonable, using
SymPyandLcapy - Light SPICE simulation using
PySpicewith anNgspicebackend- Limited to Small Signal, Noise, and maybe some AC Large Signal.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file componentcalc-0.0.0.tar.gz.
File metadata
- Download URL: componentcalc-0.0.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f44d9c987ec02085ba075e2dc1bfd42849397663f27c8978b102597d9f14f394
|
|
| MD5 |
6f091443429e812fa113a4de8b1dd699
|
|
| BLAKE2b-256 |
e58a2144ecec22d457e19980ffa3eb23e9de544c9231ace52536cbba7edf5912
|
File details
Details for the file componentcalc-0.0.0-py3-none-any.whl.
File metadata
- Download URL: componentcalc-0.0.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f39f9032084f8b0900eff01f3b96326ecfdfa9c873c2d8f30d372970fdfe8a7
|
|
| MD5 |
70320a96d957de40912a3db42508d98e
|
|
| BLAKE2b-256 |
e2b0196c3afb7d021490640ca0edc1622c5cc40e2de4e30acd523a582acbf411
|