The Basys 3: Beloved Educational Board or Childhood Nightmare?

From time to time I will post small projects, such as controlling a stepper motor with the Basys 3 and how to use the PmodJSTK to control a stepper motor with the Basys 3. For those of you that read those posts, you know exactly why I wrote those. For those of you that didn’t, they were pieces of a large demo I had been working on.

I, along with many other people, have childhood memories of walking into a movie theater, grocery store, or arcade and seeing a large glass box filled with toys. There was always that one toy either buried or perched right on top that I wanted. All I had to do was get some money from my parents and move the claw over the toy and press the button. In my childish innocence, it seemed so simple.

GIF from http://i.giphy.com/ciadMxfm3135m.gif.

However, as many of you can probably guess, I soon found out I was wrong. It was nearly impossible to grab any toy, let alone the one I wanted.

Well I decided, by Larissa’s suggestion to turn the Basys 3 into the brain of one of these devices.

The Basys 3, now pure evil.
The Basys 3, now pure evil.

Being that this is such a big project, I’m going to be making Instructables for each piece, and putting them into one collection. You can view this collection and the Instructables that I’ve created thus far in The Claw.

The Claw, instructables collection.
The Claw, Instructables collection.

One of the awesome things about the claw game is that designing it in FPGA used almost all of the FPGA skills that I have learned so far in school. It uses state machines, PWM, SPI, debouncing, and a multitude of other topics. This makes it a pretty flashy and cool way to get someone into FPGA. So, to help facilitate the process I will be making an Instructable on each piece of the design.

An early version of the claw state diagram.
An early version of the claw state diagram.

Now I’m sure you all have a burning question in your mind, Why tarnish the pure reputation of the Basys 3 by turning it into such an evil device?

The beautiful case made by Daniel, one of the Engineering Interns.
The beautiful case made by Daniel, one of the Engineering Interns.

Well the claw game has a relatively simple state machine and doesn’t use any super complex logic, by FPGA standards, so I didn’t need a large FPGA. The Basys 3 also has 32 I/O pins accessible via the Pmod ports. I happened to need 30 of them, which makes it almost meant to be.

The stepper motor track, built by another Engineering Intern, Matt.
The stepper motor track, built by another Engineering Intern, Matt.

Why so many I/O pins, you ask? Well, there were a lot of limit switches involved in the design. After working on it for three straight days I had to recruit some help from Tommy…it turned out all they needed was debouncing.

So many limit switches.
So many limit switches.

I also needed three of the Pmod ports for 3 PmodSTEPs, which controlled the stepper motors, and one PmodJSTK, for controlling the X, Y movement. Then of course we had to reserve 2 I/O pins for a big arcade style button.

So much I/O!!!
So much I/O!!!

For updates keep and eye on the collection as I continue to finish Instructables, and of course keep following the blog!

And now finally, The Claw!!!

 

 

 

 

Author

Leave a Reply

Your email address will not be published. Required fields are marked *