DEXTER Has The Precision To Get The Job Done

Robotic arms – they’re useful, a key part of our modern manufacturing economy, and can also be charming under the right circumstances. But above all, they are prized for being able to undertake complex tasks repeatedly and in a highly precise manner. Delivering on all counts is DEXTER, an open-source 5-axis robotic arm with incredible precision.

DEXTER is built out of 3D printed parts, combined with off-the-shelf carbon fiber sections to add strength. Control is through five NEMA 17 stepper motors which are connected to harmonic drives to step the output down at a ratio of 52:1. Each motor is fitted with an optical encoder which provides feedback to control the end effector position.

Unlike many simpler projects, DEXTER doesn’t play in the paddling pool with 8-bit micros or even an ARM chip – an FPGA lends the brainpower to DEXTER’s operations. This gives DEXTER broad capabilities for configuration and expansion. Additionally, it allows plenty of horsepower for the development of features like training modes, where the robot is stepped manually through movements and they are recorded for performance later.

It’s a project that is both high performing and open-source, which is always nice to see. We look forward to seeing how this one develops further!

Exostiv FPGA Debugging Might Be A Bargain

Got $4,000 to spend? Even if you don’t, keep reading — especially if you develop with FPGAs. Exostiv’s FPGA debugging setup costs around $4K although if you are in need of debugging a complex FPGA design and your time has any value, that might not be very expensive. Then again, most of us have a lot of trouble justifying a $4,000 piece of test gear. But we wanted to think about what Exostiv is doing and why we don’t see more of it. Traditionally, debugging FPGAs meant using JTAG and possibly some custom blocks that act like a logic analyzer and chew up real estate on your device. Exostiv also uses some of your device, but instead of building a JTAG-communicating logic analyzer it… well, here’s what their website says:

EXOSTIV IP uses the MGTs (Multi-Gigabit Transceivers) to flow captured data out of the FPGA to an external memory. EXOSTIV IP supports repeating captures of up to 32,768 internal nodes simultaneously at the FPGA’s speed of operation (16 data sets x 2,048 bits).

EXOSTIV IP provides dynamic multiplexer controls to capture even more data sets without the need to recompile. Dynamic ON/OFF controls of data sets let you select the data set and preserve the MGT’s bandwidth for when deeper captures of a reduced set of data is required.

In a nutshell, this means they use high-speed communications to send raw data to a box that has memory and connects back to a PC. That means they can store more data, have more data come out of the chip over a certain time frame, and do sophisticated processing. You can see a video about the device below, and there are more detailed videos on their channel, as well.

Continue reading “Exostiv FPGA Debugging Might Be A Bargain”

ROPS Will Be The Board X86 Robot Builders Are Waiting For

If your robot has outgrown a Raspberry Pi and only the raw computing power of an x86 motherboard will suffice, you are likely to encounter a problem with its interfaces. The days of ISA cards are long gone, and a modern PC is not designed to easily talk to noisy robot hardware. Accessible ports such as USB can have interfaces connected to them, but suffer from significant latency in the process.

A solution comes from ROPS, or Robot on a PCI-e Stick, a card that puts an FPGA on a blazing-fast PCI-e card that provides useful real-world interfaces such as CAN and RS485 and a pile of I/O lines as well as an IMU, barometer, and GPS. If you think you may have seen it before then you’d be right, it was one of the first-round winners of the Open Hardware Design Challenge. They’re very much still at the stage of having an FPGA dev board and working out the software so there aren’t any ROPS boards to look at yet, but this is a project that’s going somewhere, and definitely one to watch.

Digitizing Domesday Disks

After the Norman invasion of England, William the Conqueror ordered a great reckoning of all the lands and assets owned. Tax assessors went out into the country, counted sheep and chickens, and compiled everything into one great tome. This was the Domesday Book, an accounting of everything owned in England nearly 1000 years ago. It is a vital source for historians and economists, and one of the most important texts of the Middle Ages.

In the early 1980s, the BBC set upon a new Domesday Project. Over one million people took part in compiling writings on history, geography, and social issues. Maps were cataloged, and census data recorded. All of this was printed on a LaserDisk, meant to be played on an Acorn BBC Master. Now, 30 years on, hardly anyone can read the BBC Domesday Project. Let that be a lesson, kids: follow [Jason Scott] on Twitter.

Even though Acorn computers and SCSI LaserDisks and coprocessors are dying, that doesn’t mean the modern Domesday Disk is lost to the sands of time. This project aims to duplicate the Domesday Disk, and in the process provide a means to archive all LaserDisks. It’s a capture card for LaserDisks, and it also means we can finally make a good rip of the un-specalized Star Wars.

The Domesday Duplicator is a shield that plugs into an Altera DE-0 Nano FPGA board and a Cypress FX3 USB board. The Duplicator itself serves as an analog capture card complete with an RF amplifier and a 40 MSPS ADC — fast enough for any analog video signal. With the 50 Ohm input, it will work with most LaserDisk players, ultimately preserving this incredible historical archive from the early 80s.

Getting Good At FPGAs: Real World Pipelining

Parallelism is your friend when working with FPGAs. In fact, it’s often the biggest benefit of choosing an FPGA. The dragons hiding in programmable logic usually involve timing — chaining together numerous logic gates certainly affects clock timing. Earlier, I looked at how to split up logic to take better advantage of parallelism inside an FPGA. Now I’m going to walk through a practical example by modeling some functions. Using Verilog with some fake delays we can show how it all works. You should follow along with a Verilog simulator, I’m using EDAPlayground which runs in your browser. The code for this entire article is been pre-loaded into the simulator.

If you’re used to C syntax, chances are good you’ll be able to read simple Verilog. If you already use Verilog mostly for synthesis, you may not be familiar with using it to model delays. That’s important here because the delay through gates is what motivates us to break up a lot of gates into a pipeline to start with. You use delays in test benches, but in that context they mostly just cause the simulator to pause a bit before introducing more stimulus. So it makes sense to start with a bit of background on delays.

Continue reading “Getting Good At FPGAs: Real World Pipelining”

Pipelining Digital Logic In FPGAs

When you first learn about digital logic, it probably seems like it is easy. You learn about AND and OR gates and figure that’s not very hard. However, going from a few basic gates to something like a CPU or another complex system is a whole different story. It is like going from “Hello World!” to writing an operating system. There’s a lot to understand before you can make that leap. In this set of articles, I want to talk about a way to organize more complex FPGA designs like CPUs using a technique called pipelining.

These days a complex digital logic system is likely to be on an FPGA. And part of the reason we can get fooled into thinking digital is simple is because of the modern FPGA tools. They hide a lot of complexity from you, which is great until they can’t do what you want and then you are stuck. A good example of that is where you are trying to hit a certain clock frequency. If you aren’t careful, you’ll get a complaint from the tool that you can’t meet timing constraints.

Continue reading “Pipelining Digital Logic In FPGAs”

Tiny FPGA Board Fits In Your Laptop

There are a bunch of FPGA development boards to choose from, but how many will fit inside your laptop? The PicoEVB is a tiny board that connects to a M.2 slot and provides an evaluation platform for the Xilinx Artix-7 FPGA family.The PicoEVB Block Diagram

This minimalist board sports a few LEDs, a PCIe interface, an integrated debugger, on-board EEPROM, and some external connectors for hooking up other bits and pieces. The M.2 connector provides the board with power, USB for debugging, and PCIe for user applications.

A major selling point of this board is the PCIe interface. Most FPGA boards with PCIe will cost over a grand, and will only fit in a large desktop computer. The lower priced options use older FPGAs. The PicoEVB is tiny and retails for $219. Not a bad deal when the FPGA on-board costs nearly $100.

The PicoEVB is also open source. Design files and sample projects can be found on Github.

[Thanks to Adam Hunt for the tip!]