It’s about time for another project. I normally design half a dozen or so small boards per year. It’s not my profession. It’s just something I do. But I haven’t designed or built anything since the “incident” with the photo transistors back in ’17. We don’t talk about that around here no more. Regardless, it’s a new day and I’ve got CircuitMaker open and a solderless bread board with a working design sitting in front of me.
I recently wrote about a small FPGA (field programmable gate array) board called TinyFPGA, and had a couple of articles published on EE Web. (article 1) (article 2). I’m using the small FPGA board and an A4988 motor driver to run a stepper motor. My breadboard works fine, but won’t be practical if I want to make this thing permanent.
Both the TinyFPGA and the A4988 stepper driver chips come in small QFN packages. The QFN (quad flat pack no lead) shouldn’t be much of a challenge to use these days, having been in wide use for well over a decade now. However, it still jumps up and bites people. That being the case, and given that part of my job here at Screaming Circuits is to pass on best practices, designing my own dual QFN board seems like the thing to do.
Both of the big chips will be QFN packaged parts. I haven’t decided on a voltage regulator yet, but I’ll try to find one in QFN as well, or maybe I’ll pick a 0.4 mm pitch wafer level chip scale (WLCSP) micro BGA part. That’ll be fun. I won’t push the passives on this board. 0402 parts should be small enough.
I put together the schematic for the FPGA section in about an hour using CircuitMaker, starting with the open source TinyFPGA schematic. If you’re not familiar with CircuitMaker, it comes from Altium. Rather than stunt the capabilities, Altium chose to make this free product nearly as capable as their regular product. The tradeoff that you make in exchange for not having to pay for this is that all of your designs must be open source. Perfect for the maker community.
This design is pretty simple. The chip, and bunch of capacitors, a few resistor and an inductor. The TinyFPGA doesn’t have a dedicated I2C connector so I added one. The MachXO2 FPGAs used in the design have fixed logic I2C interfaces – not using any of the FPGA logic cells – and I’m partial to the I2C bus.
Next will be the A4988 stepper motor schematic. This is a pretty well used component from Allegro, and I’ll be using the same schematic that everyone else on the planet uses for this chip. After that, I’ll decide what to do for power, create that sheet, and then layout the PC board.
Ideally I’ll be able to squeeze it down to a 42 mm X 42 mm square board so I can easily bolt it to the back of a NEMA 17 stepper. While laying out the board, I’ll go over best practices to follow when using QFNs. (and maybe WLCSP packages too). Stay tuned.
Wasn’t NEMA NEMA one of the original viral video memes?