Coral Accelerator

When building this system I knew that in the future I might end up upgrading to a GPU to help handle some of the processing, especially with how it filters out false positives. At that time Blue Iris was using Deepstack but later switched over to Codeproject.AI. I planned on this by going with a full ATX motherboard and preran power cables in the build to be able to hook up a video card if needed. But later on, I was excited to see support for a Coral Accelerator being added to CodeProject.AI. I had heard great things about the performance and power draw of the Coral Accelerator but for a while there they were hard to get unless you wanted to pay scalper prices that is. The availability finally cleared up and I ordered one. They have a few different connection options but at the time I went with the USB model for simplicity of installation. I thought I would just be able to toss it in at some point and not have to dig inside of Icyu but that went out the window with the network card upgrade, I should have gone ahead and gone with one of the PCIe or M.2 options looking back

The USB Accelerator came in a compact little box with the Coral branding on top and on the bottom that same sticker has a link to the setup documents on it. Inside you get the small external SSD drive looking device and a short USB cable which has a Type-C connection on one end and a standard Type-A connection on the other end. You also get a small piece of paper inside with basic setup instructions.

image 16

image 17

image 18

The USB Accelerator is just 65 mm long and has a machined aluminum housing with groves in the top for some basic cooling and it all sits inside of a plastic tray that protects the bottom and sides. It then has one Type-C connection on the end. The bottom has a small sticker with the serial number on it and the translucent plastic housing lets us see through and gives us a look at the white PCB which is cut to perfectly fit the aluminum housing.

image 19

image 20

image 21

image 22

image 23

image 24

The USB Coral Accelerator was easy to hook up but I ran into issues trying to get it to work right away. When I did get it working it was shockingly slow. As it turns out by default the USB model runs at half speed to try to keep thermals down. Even turning that off didn’t work. From there it was still slow but also would shut down which I assume was from thermals. Frustrated, I ordered an M.2 model but in doing that I ended up not paying enough attention and ordering the A+E key model. This was less than half the price when compared to the USB model but because I went with an A+E key model I ended up having to order in an adapter. So if you are looking to go in this direction, learn from my mistakes and buy the M.2 Accelerator B+M key from the start or if your system supports it the Mini PCIe version. They now also have a dual-edge TPU which has two TPUs. It is E Keyed so keep that in mind. But it is supported and can double up on performance if you have a lot of cameras. Below I have pictures of when I attempted to install the A+E key model, the accelerator itself, and then the adapter I picked up on Amazon for just under $10 but it is now $6.69. The M.2 TPU has a metal cover over it and given how much heat the USB version created I do wonder if we should be putting a heatsink on it in some form. But Spoiler, I have been running this for a while and I haven’t had any issues that make me think it is overheating at all.

image 9

image 6

image 7

image 8

image 10

image 11

image 12

Now during all of the issues getting the TPU up and running I did end up dropping in a video card as well to use temporarily. I kept things simple with an Nvidia GTX 1650 SUPER from Zotac. I would prefer a card that didn’t pull enough power to require a PCIe power connection but this still works. In the end, I ended up keeping this in the system even after handling decoding on a few cameras that didn’t work well with the Intel +VPP.

image 13

image 14

So the big question and the main reason for digging back into this system is did the Coral Accelerator TPU improve performance? Without a question, it was a huge improvement in processing time. As far as processing movement and figuring out if it is a human, animal, or something you don’t want to see. Well, all of these have their own quirks but it has worked well for the most part. I now get a false trigger sometimes when I have a human-shaped shadow every afternoon but it picks people up otherwise. The improved processing speed which I will touch on in a second also means it isn’t overloaded and missing triggers or giving me triggers minutes late. I have noticed that nighttime triggers are missed more, specifically, we have an area where cats eat and my wife likes getting notifications. At night we have a cat that is partially white that just gets ignored now where it previously didn’t but during the day or if the light is on that isn’t a problem. For raw numbers below is the processing time before and after switching. I was seeing an average of 3024ms to process each trigger and that is now down to 330ms on average. I should note that by default it was set to a small model size and at that size, it was in the 30ms range but going to large models helped improve the reliability of it picking up things. 

tersting1

testing2