Lesson 1: From Equations to Simulations
Set up the Python simulation workflow with SciPy’s solve_ivp. Model a lithium cell voltage curve and simulate discharge under a real IoT load profile. Predict battery runtime.
Build it in simulation before you build it in hardware. Every lesson in this course contains a complete, runnable Python project that produces something you can actually use: a battery runtime prediction, a circuit frequency response, a heatsink temperature verdict, a set of PID gains ready to paste into firmware, or a Kalman filter for sensor fusion. The only tools you need are Python, NumPy, SciPy, and Matplotlib.
This course puts mathematics to work, turning equations into simulations of real engineering systems. If you want a deeper look at the underlying math, the Applied Mathematics course covers calculus, linear algebra, differential equations, and control theory.
pip install numpy scipy matplotlibEvery lesson runs in a single .py file. No special hardware, no paid software, no cloud accounts.
Lesson 1: From Equations to Simulations
Set up the Python simulation workflow with SciPy’s solve_ivp. Model a lithium cell voltage curve and simulate discharge under a real IoT load profile. Predict battery runtime.
Lesson 2: Simulating Electrical Circuits
Build RC and RLC circuit models. Generate step responses, verify time constants, sweep frequency for Bode plots, and compare simulation to oscilloscope measurements.
Lesson 3: Mechanical System Dynamics
Model a spring-mass-damper and sweep the damping ratio. Build a suspension tuner that finds the optimal damping for minimum settling time with bounded overshoot.
Lesson 4: Thermal Modeling for Electronics
Build thermal resistance networks for electronic components. The heatsink sizer tells you if your chip stays within safe operating temperature, or if you need a bigger heatsink.
Lesson 5: Control System Design in Simulation
Model a DC motor with inertia, friction, and back-EMF. Design a PID controller, tune gains in simulation, analyze overshoot and settling time. Paste the gains into your firmware.
Lesson 6: Sensor Fusion and State Estimation
Fuse noisy accelerometer and drifting gyroscope data with complementary and Kalman filters. The algorithm that runs on every drone, robot, and phone.
Lesson 7: Simulating Signal Processing Pipelines
Design digital filters in Python, apply them to noisy sensor data, and export the coefficients for implementation in C on your MCU.
Lesson 8: Monte Carlo Methods for Engineering Decisions
When every component has a tolerance, will your circuit still work? Run 10,000 random trials and find out. Tolerance stackup analysis for circuits and mechanical assemblies.
Lesson 9: System Identification from Measured Data
Given real sensor data, fit a mathematical model. The reverse of simulation: start with measurements, end with equations you can use in a controller.
Physics first
Every lesson starts with the governing equations. You understand what you are simulating and why, before writing any code.
Build the model
Translate the equations into Python functions that SciPy can solve.
Run the simulation
Execute the script. Get plots, numbers, and engineering insight. Each project produces output you can use in a real design.
Experiment
Change parameters, observe the effect, build intuition. Simulation is cheap. Use it.
Embedded Engineers
Verify thermal margins, tune PID loops, and estimate battery life before your PCB arrives.
Engineering Students
Connect differential equations to real engineering problems with code that produces real answers.
Hobbyists and Makers
Understand why your motor oscillates, why your circuit rings, or why your battery dies early.