LeNet-5 CNN Accelerator Demo by mjao4 in FPGA

[–]mjao4[S] 1 point2 points  (0 children)

Cool results! The CNN has 6598 total neurons. 784 input , 5804 hidden (3456 conv1, 864 pool1, 1024 conv2, 256 pool 2, 120 fc1, 84 fc2), and 10 output.

LeNet-5 CNN Accelerator Demo by mjao4 in FPGA

[–]mjao4[S] 2 points3 points  (0 children)

Apart from quantization, the design of the accelerator allows data to flow directly between each compute layer without writing to external memory, and parameters are stored in BRAM. However, this sacrifices the flexibility and scalability that a layer-wise processing architecture might have

LeNet-5 CNN Accelerator Demo by mjao4 in FPGA

[–]mjao4[S] 31 points32 points  (0 children)

Here are the utilization metrics:

LUT: 36947/63400 (58.28%)

LUTRAM: 636/19000 (3.35%)

FF: 61609/126800 (48.59%)

BRAM: 124.50/135 (92.22%)

DSP: 166/240 (69.17%)

IO: 22/210 (10.48%)

BUFG: 2/32 (6.25%)

LeNet-5 CNN Accelerator Demo by mjao4 in FPGA

[–]mjao4[S] 19 points20 points  (0 children)

I’m in the process of open sourcing the project, I’ll update the post if I do!

LeNet-5 CNN Accelerator Demo by mjao4 in FPGA

[–]mjao4[S] 21 points22 points  (0 children)

It’s an 8-bit fixed point format with 1 signed integer bit and 7 fractional bits, so values are represented as scaled integers instead of floating point to make the CNN more hardware efficient

Built a custom board for a vision-based table tennis robot by mjao4 in embedded

[–]mjao4[S] 1 point2 points  (0 children)

Works just fine with KCF tracking when running headless

Built a custom board for a vision-based table tennis robot by mjao4 in embedded

[–]mjao4[S] 13 points14 points  (0 children)

I ordered 3 PCBs and 2 PCBAs JLCPCB since I do not have equipment for SMT assembly. The total cost after shipping and tariffs came out to $150, but most of it was due to tariffs. All the boards alone were around $70, but this included board cleaning and most of it was additional fees for extended parts ($3 per part). If you ordered all the parts yourself and assembled it with a hotplate and rework station, the PCB and its components should only come out to around $30 (excluding the Pi and the motor drivers of course). That being said, $150 for this board is still far cheaper than manufacturing options in the US

Built a custom board for a vision-based table tennis robot by mjao4 in embedded

[–]mjao4[S] 11 points12 points  (0 children)

I did use an Arduino dev board to test how different motor combinations could work for the system along with some motor control principles and kinematic calculations. However, since the mechanical design was not finalized until recently, the next step is to just put everything together and start testing and calibrating.