Banana PI CM4 for robotics. Unfortunatelly no success

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…

  1. TV Out It seems SoC VDAC just not routed to pin 111. WHY???

  2. 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.

  3. 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).

  4. 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…

Maybe it’s an Amlogic issue???

if BPI-CM4 not full support you ,you can see other core boards.

or try BPI-CM5 Pro

Hi

Yep, there is no software problems with Rockchip boards. Pros of your module against of a few competitors build o top of rk3588 is that it has wifi on the board. It useful for some scenarios. But at the same time rk3576 a bit weaker. The big problem with Rockchip SoM is that chips haven’t CVBS out so useful for drones use case. This requires external hdmi->av conversion and this additional board needs space.

And it’s sad that a311d has good potential in this area and this potential just wasted out… Is seems these issues not going to be resolved. Just an example. Vim3 declares that it runs 2.2/2.0GHz. For Rpi-cm4 I didn’t find any single point in documentation where cpu frequency declared.

Amlogic issue of what? Support level of board manufacturers?