Controlling Stepper Motors with Joysticks using FPGA

Greetings FPGA innovators! Stepper motors can be an integral part of projects that have a dimension of mobility to them. Be it rovers, robots, drones or claw machines, controlling stepper motors with joysticks is an integral part and FPGAs accomplish speed control easily. Today’s post is about using a FPGA and a joystick to control stepper motors.

The Hardware required for the project is a FPGA board, 2 PmodSTEP drivers, 1 PmodJSTK, 2 Stepper motors, a USB A to B micro cable and 2 12 pin PMOD cables. Since the author is only focused on the control of the stepper motors, the hardware for this project is limited. However it can be expanded based upon the scale of your endeavour.

The code structure is given by the author in step 2. The author has configured the PmodJSTK interface to receive data and not send data to the LEDs on the board. The working principle is pretty simple, where the decoder works out the signals from the Joystick and sends it to the drivers in the form of electrical signals that make the motors turn left, right, stay still or maintain course. The FPGA acts as a simple interconnect between the drivers.  The code has been given in a zip file by the author in step 3.

The coding language used is VHDL and the code is divided into modules. Step 4 has been dedicated to code generation and creation of the executable bit file that can be used on the FPGA. Step 5 illustrates the connections for the project.


By commanderfranz

Control a Servo Motor with Your FPGA

Hello FPGA lovers! Great stuff here today. I have come across an article that gives you great details about how to control a RC Servo with a FPGA.

There many versions for RC servos but basically all of them use a Pulse Width Modulation (PWM) signal to control their position. Servos should receive 5 V logic signals but many models will work with 3.3 V signals. We cover how to take the most out of the PWM outputs of your Papilio on a previous post. This would be a great opportunity to adapt the design of a servo controller to your Papilio FPGA.

According to the author, the servo should not be waiting a pulse for more than 20 ms. Otherwise the servo would enter standby, risking to lose its position if there is a load on the arm. Typical widths of the pulses are within the 1000-2000 µs range.

All the code for this project is written in VHDL. One of the main advantages of this approach is that the author has chunked the whole project into different parts, so they can be used for many different controls. There are 4 parts: Servo Driver, Button Controller, Top Module and UCF file. The code is given for each one of these modules but as always, you should only use it to check your own code.

Have fun and build your own fan for the coming summer!


By T. Flummer

Build Your Own Vacuum Robot With Your FPGA!


This is the first part of the series for building up your own robot, that is fully capable of swallowing up the dust of your room.

The first thing you need to build is a fully functional robot that moves independently around your room and that can stop at every obstacle. Well, you have it. This project was developed by two students of the University of Alberta.  They wanted to proof that an FPGA can be used to perfectly control a robot. This robot can interact with its environment, following a light on detecting obstacles, for example. Thus, it is perfect for your intentions of building a cleaning robot.

In this article you will find every detail needed to create your own FPGA-based robot. Schematics, part lists and the whole VHDL code needed for the sensors and the control of dc drives. Apart from the FPGA, you need to build some external analog circuits for the sensors, plus there are two motor drives included. Lots of fun there.

However, there is a drawback. But a really funny one. There won´t be a second part telling you how to implement the vacuum system. But! You can do it! You now have the platform. All you need to add is a bag and a suction system that runs all the time the robot is moving.

If there is no challenge, there is no reward!

Don´t forget to tell us the result!


By J. Smith and D. Rempel

Here is How The Dark Side Got Started With Their Robot Army!

Nowadays, you may be fed up of Star Wars jokes, baits and so on. I am sorry, I could not resist the temptation.

Anyway, this time, at least, was not a joke nor a lie. Today´s article brings the real truth to you. If you want to build your own robot, as simple as you want it to be, the first step should be to learn about controlling a DC motor! Now it does not sound as funny as watching the results achieved by the Dark Side´s Army. You may be wrong because this tutorial is everything but boring.

Very easy to read, this step-by-step article presents all you need to learn to properly understand how to control a DC motor just with your FPGA (yes you can use your Papilio). All you need is outlined and well explained (the code needed is given…). There are also some easy to understand physics explanations so you will get to understand the real ins of this project.

Do not miss this tutorial and be ready to get hired by The Dark Side!


By Chris