Category Archives: Technical

Open-source FPGA Stereo Vision Core released

The first version of my open-source OpenCV–compatible FPGA Stereo Correspondence Core is now available! (have a look at my previous FPGA Stereo Vision Project post for some more context) It’s written purely in synthesizable Verilog, and uses device-agnostic inference for … Continue reading

Posted in FPGAs, Technical | Tagged , , , , , | 15 Comments

FPGA Stereo Vision Project

As alluded to in a few of my other posts, I’m working on developing an open-source FPGA-accelerated vision platform. This post is a detailed overview of the project’s architecture and general development methodology. Future (and past) posts will elaborate on … Continue reading

Posted in FPGAs, Robots, Technical | Tagged , , , , , , , , , | 16 Comments

Spartan-6 BGA test board

Eventually, when my FPGA stereo-vision project nears its terminus, I’m going to want to produce a refined sensor board that combines the image sensors and FPGA onto a single board. In preparation for that, this board is a test vehicle … Continue reading

Posted in FPGAs, Microcontrollers, PCBs, Technical | Tagged , , , , , , | 27 Comments

Reflow oven controller

Reflow soldering is not new. The electronics industry has been using it forever. Hobbyists have been flocking to it in droves. Many use toaster ovens. A growing contingent use skillets. A few do it open-loop. Some use integrated PID controllers. … Continue reading

Posted in Microcontrollers, Technical, Tools | Tagged , , , , , , , , , | 8 Comments

MT9V032 LVDS camera board

Another piece of my ongoing FPGA stereo-vision project. This board is, as the name suggests, a breakout board for Aptina’s excellent MT9V032 1/3″ VGA image sensor. The board’s main purpose in life is to connect the LVDS output of the … Continue reading

Posted in Microcontrollers, PCBs, Technical | Tagged , , , , , , | 24 Comments

Brushless DC motor controller board

Here’s a board I designed back in 2008. It’s an excessively feature-packed brushless DC motor (BLDC) controller. Bullet points: Can drive brushed and brushless (3-phase) DC motors 15~30V input voltage Single-supply operation (onboard LT3470 SMPS) 10+A per-phase current handling (Si4456DY … Continue reading

Posted in Microcontrollers, PCBs, Robots, Technical | Tagged , , , , , , , | 9 Comments

FMC-LPC to SATA adapter board

I recently bought a shiny new Xilinx Spartan-6 FPGA SP605 Evaluation Kit: It’s an excellent board (aside from the ridiculous ~10W idle power consumption and the corresponding supply heating/temperature) – PCI-Express, gigabit ethernet, DVI, 1.6 GB/s 128 MB DDR3, and … Continue reading

Posted in FPGAs, PCBs, Technical | Tagged , , , , , , | 20 Comments

Inferring true dual-port, dual-clock RAMs in Xilinx and Altera FPGAs

Yes, it’s actually possible! – in Verilog and VHDL, even. I’m a big fan of inference, especially as it applies to writing synthesizable Verilog code for FPGAs. Properly coded, a module that infers technology-dependent blocks (e.g. block RAMs) should: be … Continue reading

Posted in FPGAs, Technical | Tagged , , , , , | 20 Comments


It has now been just over 6 years since I launched the last incarnation of my website. Finally, it has now been supplanted by this – a site that can safely be regarded as superior in virtually every way (if … Continue reading

Posted in Non-Technical, Technical | Leave a comment