import CapacitorElectrolytic, ElectricPower

electrolytic_cap = new CapacitorElectrolytic
electrolytic_cap.capacitance = 1000uF +/- 20%
electrolytic_cap.max_voltage = 25V
electrolytic_cap.package = "radial_8x12"  # 8mm diameter, 12mm height

# Connect to power supply for bulk filtering
power_supply = new ElectricPower
assert power_supply.voltage within 12V +/- 10%

# CRITICAL: Observe polarity! Anode to positive, cathode to negative
power_supply.hv ~ electrolytic_cap.anode    # Positive terminal
power_supply.lv ~ electrolytic_cap.cathode  # Negative terminal

# Alternative bridge syntax (maintains polarity)
power_supply.hv ~> electrolytic_cap ~> power_supply.lv

# Common values and applications:
# - 10-100uF: Local power supply filtering
# - 100-1000uF: Bulk power supply capacitance  
# - 1000-10000uF: Main power supply smoothing
# - Audio coupling: 1-100uF (mind polarity!)

# WARNING: Reverse voltage will damage electrolytic capacitors!
# Use ceramic or film capacitors for AC coupling applications

Parameters

capacitance
farad
max_voltage
volt
temperature_coefficient
dimensionless

Interfaces

anode
Electrical
cathode
Electrical
power_shim
ElectricPower
unnamed[0]
Electrical
unnamed[1]
Electrical

Global Attributes

These attributes are available to all modules and interfaces in a design.
lcsc_id
str
Assign the LCSC ID of the module.If set, this will tell the picker to select that part from LCSC for this block.
manufacturer
str
This module’s manufacturer name, as a string.Only exact matches on the manufacturer’s name will be found by the picker. It’s recommended to fill this information based on what ato create component provides.
mpn
str
This module’s manufacturer part number, as a string.For the picker to select the correct part from the manufacturer, this must be set.
package
str
The package of the module.This drives which components can be selected, and what footprint is used.Must exactly match a known package name.
exclude_from_bom
bool
override_net_name
str
When set on an interface, this will override the net name of the interface.This is useful for renaming nets which are automatically generated.
required
bool
Only for ModuleInterfaces. If set to True, require that interface is connected to something outside of the module it’s defined in.
import CapacitorElectrolytic, ElectricPower

electrolytic_cap = new CapacitorElectrolytic
electrolytic_cap.capacitance = 1000uF +/- 20%
electrolytic_cap.max_voltage = 25V
electrolytic_cap.package = "radial_8x12"  # 8mm diameter, 12mm height

# Connect to power supply for bulk filtering
power_supply = new ElectricPower
assert power_supply.voltage within 12V +/- 10%

# CRITICAL: Observe polarity! Anode to positive, cathode to negative
power_supply.hv ~ electrolytic_cap.anode    # Positive terminal
power_supply.lv ~ electrolytic_cap.cathode  # Negative terminal

# Alternative bridge syntax (maintains polarity)
power_supply.hv ~> electrolytic_cap ~> power_supply.lv

# Common values and applications:
# - 10-100uF: Local power supply filtering
# - 100-1000uF: Bulk power supply capacitance  
# - 1000-10000uF: Main power supply smoothing
# - Audio coupling: 1-100uF (mind polarity!)

# WARNING: Reverse voltage will damage electrolytic capacitors!
# Use ceramic or film capacitors for AC coupling applications