Free online engineering tools for electric machine drives: PI current controller design for PMSM, IPMSM, EESM, and induction motors, alongside power electronics, thermal analysis, and EV propulsion calculators.
Design PI current controllers in the frequency domain for AC electric machine drives. Features stability analysis, Bode plots, and embedded C-code generation. Supports EESM, IPMSM, and Induction Motors.
Launch App »
A practical engineering calculator covering motor control, power electronics, embedded firmware, thermal analysis, and EV propulsion. Includes PMSM/IPMSM/EESM torque models, SVPWM, PI controller design, Buck/Boost converters, thermal rise, and road load calculations.
Launch App »Hands-on Raspberry Pi tutorials covering GPIO, PWM dimming, ACS712 current sensing with the ADS1263 32-bit ADC HAT, closed-loop PI and finite-horizon MPC current control of a MOSFET driver, and a real-time UDP scope receiving from a TI F28388D controlCARD.
A hands-on introduction to GPIO output and digital signals. Wire up an LED, write a Python script, and control it directly from the Pi's GPIO pins, the classic starting point for hardware programming.
Beginner
GitHub Repo »
Use Pulse Width Modulation to smoothly control LED brightness from software. A practical demonstration of how PWM bridges the gap between digital outputs and analog-like control, which is the basis for motor drives and power converters.
Beginner-Intermediate
GitHub Repo »
Read real DC/AC current using an ACS712 hall-effect sensor and the ADS1263 32-bit ADC HAT over SPI. Covers differential measurement, SPI communication, and converting raw ADC counts to engineering units.
Intermediate
GitHub Repo »
A complete closed-loop PI current controller running on the Pi. The D4184 MOSFET switches a resistive load while the ACS712 feeds current feedback, a real-world demonstration of the same control loop used in industrial power electronics.
Intermediate-Advanced
GitHub Repo »
A finite-horizon constrained Model Predictive Controller on the same MOSFET and ACS712 hardware as project 04. Identifies the plant model online from a step test, precomputes the optimal gain matrix, and runs a full constrained optimization at ~480 Hz with no manual tuning required.
Advanced
GitHub Repo »
Receives the F28388D controlCARD ADC stream over a direct point-to-point Ethernet link and renders it as a live oscilloscope. ADCINA0 is sampled at 10 kHz on the controlCARD and shipped in 50-sample UDP packets at 200 packets/s, holding zero loss over multi-minute windows. The Pi runs a threaded UDP listener feeding a bounded ring buffer, exposed through two consumers: a CLI sniffer for bring-up diagnostics, and a Streamlit + Plotly dashboard with live KPIs (current, mean, min, max, RMS, packet rate, loss %, link uptime), pause toggle, and CSV export. The binary packet parser is the single source of truth, hand-aligned byte for byte against the firmware sender.
Advanced
GitHub Repo »
Pi-side command and visualization host for the F28388D synchronous-frame current controller on a 48 V GaN inverter. The Pi sends binary command packets at 200 Hz over UDP (Id/Iq references, electrical-frequency, plant parameters, enable/reset) and receives 5 kHz telemetry on a second port. A four-panel Streamlit + Plotly dashboard renders Id/Iq reference vs measurement, three phase currents, and DC-bus voltage, with a live status decoder for overcurrent and watchdog flags. CRC-16-CCITT on every packet. Full design notes in the GitHub README.
Advanced
GitHub Repo »Firmware on the TI F28388D dual-core C28x DSP with the BOOSTXL-3PhGaNInv 48 V GaN inverter: GPIO blink, three-phase SVPWM with synchronized ADC, discrete PI current control on the CLA coprocessor, CMPSS hardware overcurrent protection, lwIP Ethernet streaming, and synchronous-frame field-oriented current control over UDP.
Hardware bring-up verification for the TMDSCNCD28388D controlCARD. Blinks the onboard D1 LED at 1 Hz via GPIO31, confirming the clock tree, GPIO subsystem, and JTAG debug connection are all working before any application firmware is deployed.
Beginner
GitHub Repo »
Generates three-phase Space Vector PWM at 20 kHz on the BOOSTXL-3PHGANINV inverter board using ePWM1/2/3 with dead-time insertion. The ADC fires synchronously at the PWM carrier peak to sample at the minimum current ripple point, while a dedicated CLA task reads the result in parallel with the main CPU. Sector, duty cycles, and ADC data stream to UART at 10 Hz.
Intermediate–Advanced
GitHub Repo »
A 20 kHz PI current controller running entirely on the F28388D CLA coprocessor, leaving the main C28x CPU free for reference generation and UART telemetry. Gains are designed from bandwidth targets (ωc = 2π×1000 rad/s) and discretised in incremental form, giving natural anti-windup with no extra logic. The CLA task finishes in under 2 µs, triggered by the ADC conversion complete interrupt, and writes the new duty cycle to shared message RAM for the ePWM ISR. A companion Python script reads 10 Hz serial telemetry and plots the measured Bode response against the theoretical open-loop curve.
Advanced
GitHub Repo »
Hardware overcurrent protection for a GaN inverter leg using the F28388D CMPSS and ePWM Trip Zones. The comparator checks phase current against ±8 A thresholds entirely in hardware, tripping ePWM1 outputs to zero in under 100 ns with no CPU involvement. A 32-sample digital filter blanking window rejects switching transient noise. Both CBC and OST trip modes are supported, a Trip Zone ISR logs fault events in a 16-entry circular buffer, and 10 Hz UART telemetry streams current and fault data at 115200 baud. A software fault injection test runs automatically on startup to verify the protection path end to end.
Advanced
GitHub Repo »
Dual-core firmware that turns the F28388D into an Ethernet-attached scope front-end. The C28x CPU1 samples ADCINA0 at 10 kHz (ePWM1 SOCA triggering ADC-A SOC0), converts each result to volts, and publishes into a 128-deep float ring in shared MSGRAM. The Cortex-M4 Connectivity Manager runs lwIP NO_SYS on the on-chip Ethernet MAC at static IP 192.168.10.10, polls the ring on a 1 ms SysTick, and packs 50 samples per UDP datagram at 200 packets/s. CPU1 boots the CM core via Device_bootCM in the strict flash order required by the F2838x dual-core protocol. Verified end to end against a Raspberry Pi receiver with zero packet loss over multi-minute windows.
Advanced
GitHub Repo »
Field-oriented current controller for a three-phase RL load on the BOOSTXL-3PhGaNInv 48 V GaN inverter, commanded over Ethernet by a Raspberry Pi 4. CPU1 runs the 20 kHz Clarke → Park → dual PI → inverse Park → SVPWM pipeline inside the ADCA1 EOC ISR (closes in ~4.5 µs of the 50 µs switching period). IMC pole-zero gains, back-calculation anti-windup, feed-forward cross-axis decoupling, and a hardware safety layer (overcurrent, over/under voltage, Ethernet watchdog). The Cortex-M4 core runs lwIP NO_SYS and bridges two UDP sockets to CPU1 through MSGRAM mailboxes. CRC-16-CCITT on every packet. Full design notes in the GitHub README.
Advanced
GitHub Repo »Python and Matplotlib animations of motor control fundamentals: Space Vector PWM principle, Clarke and Park transformations, dq-current decoupling for PMSM, PLL-based back-EMF observer at low speed, a complete FOC loop with disturbance observer, and complex-vector PI versus conventional PI under frequency sweep.
Crystal-clear animation showing how SVPWM builds its 7-segment inverter switching pattern from a rotating voltage reference vector.
0:59
Watch » GitHub »
Visual walkthrough of the Clarke (αβ) and Park (dq) transforms that sit at the heart of field-oriented motor control.
0:58
Watch » GitHub »
Animation showing how d-axis and q-axis current decoupling works in PMSM field-oriented control and why it is essential for independent torque and flux regulation.
Watch » GitHub »
Simulation showing how a PLL-based observer tracks the back-EMF angle in a PMSM as speed approaches zero, highlighting phase error and loss of lock near standstill.
Watch » GitHub »Recent developments in electric drive engineering, EV traction motors, SiC and GaN inverters, 800 V architectures, solid-state batteries, and machine learning for motor control and condition monitoring.
Mercedes-Benz has flipped the switch on volume production of its new axial flux electric motor at the Marienfelde plant in Berlin, with the technology making its world debut inside the upcoming Mercedes-AMG GT 4-door Coupe. The line spans seven assembly tracks across roughly 30,000 square metres and 98 process steps, 65 of them new to Mercedes and 35 considered industry firsts. Axial flux geometry packs the magnetic circuit into a disc instead of a long cylinder, which means a much shorter, lighter motor for the same torque, and it is the design language YASA brought into the group when Mercedes acquired the British specialist in 2021. After years of axial flux living in low-volume hypercars, this is the technology arriving on a real production line.
Jun 2026
Read More »
Wolfspeed has introduced its fifth generation of silicon carbide MOSFETs and is positioning the platform as the lowest specific on-resistance device on the market for both 750 V and 1200 V automotive and industrial designs. The 1200 V QEM50120-25D10 reaches a chip-level RSP of 3.4 mOhm-cm² at 175 degC, with a tight RDS(on) distribution of plus or minus 18% that lets designers shave thermal margin out of the traction inverter without compromising reliability. The body diode is rated for 200 degC continuous and 215 degC limited life, and the parts are running on Wolfspeed's 200 mm production line, so this is not a paper announcement. Expect Gen 5 silicon to show up in the next round of 800 V drive units from Tier 1 suppliers.
Jun 2026
Read More »
Toyota has spelled out a firm plan to put high-performance solid-state batteries into upcoming electric vehicles, with the stated goals of longer range and lower cost. The announcement pulled the stock more than 10% higher in the days that followed and reframes a company that had been criticised for moving slowly on full electrification. For drive engineers the interesting part is the system side: solid-state cells tolerate much higher charge and discharge currents than today's lithium-ion, which loosens the thermal constraints on the inverter and the cooling loop and changes how you size the rest of the drivetrain around the pack.
Jun 2026
Read More »
At PCIM Europe 2026 in Nuremberg this week, EPC is showing how its new Gen 7 GaN platform is moving electric drives well beyond automotive traction. The EPC33110 integrated ePower Stage packs a full three-phase BLDC inverter into a footprint small enough to drop directly inside a humanoid joint motor, with the EPC91122 reference design fitting a 32 mm inner circle and a 55 mm outer frame. Higher switching frequency at 100 V and 35 A means tighter current loops, less filter weight, and joint torque control that finally matches what biological muscle does. Humanoid robotics is becoming the next big workout for power electronics, and GaN is winning the joint.
Jun 2026
Read More »
Plug-in hybrids tend to stay in the background of the EV story, but the load they put on a traction inverter is harder than people give them credit for. The drive must wake up quickly, run efficiently across a huge load range, and share a thermal budget with a combustion engine. Schaeffler's new PHEV platform leans on onsemi's EliteSiC for exactly this, with lower conduction losses for a compact, thermally efficient design and a system-level 150 kW full-SiC reference shown at PCIM Europe 2026. A reminder that SiC is winning hybrids before it finishes winning pure EVs.
Jun 2026
Read More »
A new 800 V traction inverter from Fraunhofer IZM packs 500 kW of three-phase output into a single liter of volume, with peak efficiency above 99%. The trick is embedding twelve SiC MOSFETs directly into the PCB for each half-bridge, which collapses commutation-loop inductance to roughly 1 nH and lets the switches slew at 65 V/ns. The result is about five times the power density of current production traction inverters, and 2.5 times the previous research benchmark. Built for Mitsubishi Heavy Industries, the unit will be shown publicly at PCIM Europe in Nuremberg on June 9 to 11, 2026.
May 2026
Read More »Control Software Engineer specializing in electric machine drives, inverter systems, and automotive control software.
Plan22 is where I share engineering tools, Python simulations, and hands-on hardware projects built at the intersection of control theory, power electronics, and EV systems.
Here you will find FOC current controllers running on TI C2000 DSP, Python tools that size PI gains from machine parameters, and hardware demos that go from Raspberry Pi GPIO basics to a dual-core synchronous-frame drive over Ethernet.
For inquiries or collaboration, drop me a line or fill out the form below:
info@plan22.net