Hi
Banana PI CM4 was the board with my big expectations to use in robotics as a companion computer. Really, A311D SoC has great potential to be best seller in DIY robotics systems:
- it has CVBS TV out and can be connected to VTX;
- it has not bad CPU with six core where four of them are A73 2.2GHz;
- it has 5 TOPS NPU for on-board AI;
- it has MIPI CSI for digital camera.
Unfortunatelly, Banana PI CM4 almost failed in all areas…
-
TV Out It seems SoC VDAC just not routed to pin 111. WHY???
-
CPU It seems the only image that capable to use NPU is Ubuntu 20.04 with old 4.19 kernel and VIM3 root. But this image somewhy limits cores speed to 1.7GHz and there is no way to turn off this limitation. At the same time latest Armbian can be tuned to use 2.2/2.0GHz for A73/A53 cores… And btw, this image somewhy takes a lot of time to boot.
-
NPU As I said before, it seems there is no other way to use NPU then use image with VIM3 root. Armbian just doesn’t support NPU - not with native API nor with tflite delegate. I guess other official CM4 Ubuntu/Debian images also don’t support NPU (otherwise why to make separate image with VIM3 root). There is no manual where to get NPU SDK deb package, how to install it and hor to run demos. All knowledge you have to search on Khadas forums. You have to manually load galcore driver and then run your application with sudo - otherwise it just can’t connect to the NPU. And finally, when you try to run Yolo v8 640x640 on the module you will see that just inference part run on the NPU takes about 40ms when entire inference on rk3588 including on-CPU NMS post processing takes just about 29ms… When rk3588 uses only one of 3 NPU cores with 2 TOPS capacity. I have no idea why so bad results. (Btw, codes of pre and post processing from NPU example tooks even more time then NPU inference itself. Total performance is terrible - 4 FPS).
-
MIPI CSI It seems Banana PI team decided to allow use only Khadas OS08A10 8MP camera module. It looks like CSI connector on the IO board was chosen to be compatible with this camera and there is only OS08A10 overlay available to turn on. Can you use cheap Raspberry PI v1 or v2 cameras and compatible sensors? No. Can you use compact Waveshare nano boards with well-known 15 pin CSI connector? No. You can use only one camera then cost $69 when your SoM costs about $80. Really??
Basically, issues 2-4 are solvable. In theory it possible to build an image which
- will have fresh Linux and kernel
- will have no CPU frequrency limitations
- will have preinstalled NPU drivers, SDK and workable examples with good code quality
- will have installed drivers for popular CSI sensors and modules
- will have utility for configure the board.
But it seems at the moment it’s problem of a buyer to make such image…
And even if software will be better - to fix absence CVBS out it will require to produce new version of CM with updated PCB…