Build with Python π and KivyMD, MDConverterCalc is a one stop solution to find your dc-dc converter specifications. MDConverterCalc takes some input parameters like converter type (buck, boost or buck-boost), input voltage, output voltage, output resistance, frequency, % input ripple current (optional) and % output ripple voltage to calculate the converter specifications. So make sure to finalize these prerequisite parameters before calculating converter specifications.
Note
- Calculates dc-dc converter specs like inductor value and capacitor values.
- Plots transient response of the dc-dc converter.
- Calculates transfer function of the dc-dc converter.
Important
- Python=3.11 (lower verison may also work)
- Kivy=2.3.0
- KivyMD=2.0.1dev0 (which is the github master version at time of uploading this app)
- numpy
- scipy
- pyrebase4
- firebase-admin
- ConverterPackage
- tf_response.py
- emailverify.py
MDConverterCalc requires ConverterPackage package for calculating converter specifications, it has modules for each converter type. tf_response.py is needed for generating transfer function and transient response. Finally, eamilverify.py is required for verifying email id is valid or not. emailverify.py is module provided by EmailListVerify, which is an email verification service provider. More about it later. firebase-admin is required for authenticating users, more about it later.
Tip
To be able to verify emails using emailverify.py you will need an api key to access the EmailListVerify API. To get your api key:
- Go to https://www.emaillistverify.com/ and create an account.
- Go to API section and click on
New API. - A pop will open asking you to enter API name. Enter your preferred name and click
create. - A new API dashboard will open. Scroll down in API section to copy your API key.
- In the same section select python language to open a brief guid on how to use the API key.
EmailListVerify Docs: Docs
To be able to use the app you will need to make a firebase account and create a project. After creating a project copy the firebaseConfig content for a web app section and paste it the firebase_config variable in the main.py file. Here's how you can get your firebaseConfig content:
- Click the settings or gear icon besides
Project Overviewon the left hand panel. - From the resulting pop up select
Project settings. - In
Project settingsgo to theGeneraltab. - Scroll down to
Your appssection inGeneraltab, and select theConfigradio button. - From the text window below the
Configradio button copy on thefirebaseConfigvariable content and not the whole syntax. Upcoming section will tell you how to edit and use the content.
You will also need the firebase json key (firebaseConfig also) to initialize the app. To get the firebase json key:
- Click the settings or gear icon besides
Project Overviewon the left hand panel. - From the resulting pop up select
Project settings. - In the
Project settingsgo to theService accountstab. - Scroll down in
Service accountsand click onGenerate new private key. - Save this key π in the same folder π as of main.py.
Here's how you should use you firebaseConfig and firebase json key:
firebase_config = {
"apiKey": "************"
"authDomain": "***************"
"databaseURL": "https://***********"
"projectId": "***********"
"storageBucket": "**********"
"messagingSenderId": "***********"
"appId": "**************"
"measurementId": "***********"
}
cred = credentials.Certificate('firebase_key.json') # add your firebase json key (keep your firebase json key and main.py file in same directory)
firebase_admin.initialize_app(cred, firebase_config)
Warning
- The firebase_config variable stores a dictionary containing the keys and identifiers for your app, since it is a dictionary the keys needs to be in double qoutes.
- Also there is small bug in the app. To delete a single entry in
Historytab you need to hold and swipe right on the respective entry. When done so it does delete the entry but in response it also opens the corresponding entry's content in dailog box. This is an undesirable behaviour of the app.

