Introduction: SPEIC Converter

About: Fab Lab Irbid is a small-scale workshop for personal digital fabrication, equipped with an array of flexible computer controlled tools and various materials, with the aim to make almost anything.

The project below is a SPEIC converter which is a non-inverting Buck/Boost converter that steps up and down the voltage.

The system will allow the user to adjust the output to a desired value; the closed loop control system will stabilize this value despite changing both load and input voltage values.

This project is an implementation of a design Abdelrahman Sada worked on using MATLAB-Simulink.

Specifications of the design:

  1. Frequency=10 KHz
  2. Input voltage= 3-30V
  3. Output Voltage=0-25V
  4. Maximum current= 1A
  • This project is done by our intern: Abderahman Sada.
  • For more information:

Step 1: Get the Components

In case you want to make your own a SPEIC, you'll need the following:

  1. Power Mosfet: IRF720.
  2. P-channel: ZVP2106A.
  3. N-channel 820K.
  4. Potentiometer.
  5. Capacitors: 470 uF and 100uF.
  6. Diode
  7. Inductors: 2x100UH.
  8. Arduino UNO.
  9. 2xScrew Terminal.
  10. Heat Sink.

Step 2: Build Your Circuit

We recommend building it in a breadboard at the beginning and after finishing all the steps, solder it through a strip-board.

Also mounting Power Mosfet on a Heat Sink is a good idea.

Step 3: Upload the Code

Upload the code using Arduino IDE.

Once the upload is finished go to Tools then Serial Plotter, from this screen you can see the Output Voltage, which can be adjusted using the potentiometer after connecting the circuit to the source.

Before uploading makes sure you have the following libraries:

1. PWM library; you can add it from Sketch, Include Library, Add ZIP Library. (

2. PIDController library; you can add it from Sketch, Include Library, Manage Libraries, find it and install it.

The code is attached.