Summary of PGA : RC Servo and Stepper motor control in Verilog
This article details a project by Trandi to control RC servos and stepper motors using an EP2C5 Mini Board with a Cyclone II FPGA. The system utilizes Quartus II version 13.0 SP 1 for Verilog coding, mapping specific inputs and outputs like clock signals, LEDs, resets, and motor pins to physical board locations.
Parts used in the RC Servo and Stepper Motor Control Project:
- EP2C5 Mini Board
- EP2C5T144C8 Cyclone II FPGA
- 9grams micro RC Servo
- 28BYJ-48 stepper motor
- Stepper motor driver
- Quartus II version 13.0 SP 1 software
Trandi blogged about his RC servo and stepper motor project. He writes:
For those interested in reproducing this example:
- The board is called “EP2C5 Mini Board” and has a EP2C5T144C8 Cyclone II FPGA on it
- I used a standard, 9grams micro RC Servo
- I used a 28BYJ-48 stepper motor and it’s driver (you can purchase these as a bundle for very cheap on dealextreme or banggood)
- I used the free edition of Quartus II from Altera, version 13.0 SP 1 (be careful, later versions do not support Cyclone II FPGAs anymore)
- I created a simple project, pasted all this code as a single module (it would of course be cleaner to separate the RC Servo and stepper control code into independent modules)
- made the “Top level entity” in the General configuration page equal to “counter” (the name of my module)
- used the Pin Planner to assign the inputs/outputs as follows:
-clock Input PIN_17
-led[2] Output PIN_3
-led[1] Output PIN_7
-led[0] Output PIN_9
-reset Input PIN_144
-servoPin Output PIN_40
-stepperPins[3] Output PIN_69
-stepperPins[2] Output PIN_70
-stepperPins[1] Output PIN_71
-stepperPins[0] Output PIN_72
For more detail: PGA : RC Servo and Stepper motor control in Verilog
- Which FPGA chip is used on the EP2C5 Mini Board?
The board contains an EP2C5T144C8 Cyclone II FPGA. - What type of servo motor was used in this project?
A standard 9 grams micro RC Servo was used. - Can later versions of Quartus II support Cyclone II FPGAs?
No, later versions do not support Cyclone II FPGAs anymore. - Which version of Quartus II should be used for this project?
The free edition of Quartus II version 13.0 SP 1 from Altera should be used. - What is the top level entity name set in the configuration?
The Top level entity is set equal to counter. - Which pin is assigned as the clock input?
The clock input is assigned to PIN_17. - How many stepper pins are defined in the Pin Planner?
Four stepper pins are defined: stepperPins[3], stepperPins[2], stepperPins[1], and stepperPins[0]. - Where can the stepper motor and driver bundle be purchased?
They can be purchased as a cheap bundle on dealextreme or banggood.

