Banana Pi CanMV-K230D-Zero
For $30, this AI-powered development system comes with a built-in camera, a solid set of IO options and multiple programming workflows — and works out to be quite a charming RISC-V–based option for embedded vision application development.
Pros
- Official Kendryte K230D development kit with excellent documentation and AI model library
- Supports the official OpenMV MicroPython IDE
- Competitive price
Cons
- Exotic Wi-Fi chipset that's still mostly unsupported
- 128 MB of RAM is limiting for many AI applications
- The only officially available camera isn't as flexible as we'd have liked
- No included Wi-Fi antenna
Anyone acquainted with Banana Pi’s board lineup should immediately notice that CanMV-K230D-Zero stands out among the company’s other product names. The Zero part should point to it being a Raspberry Pi Zero format board, which is (for the most part) true. K230D refers to Canaan Technology’s K230D RISC-V SoC that the system is based on. The K230D is a lesser variant of the K230 — both dual-core designs featuring the XuanTie C908 RISC-V core design (with one of the cores running at 1.6 GHz and the other at 800 MHz) and a custom-designed third-generation KNU. KNU — short for knowledge neural unit — is essentially an NPU of sorts. The K230D and K230 do have some differences though, with the former ditching external memory support in favor of 128 MB of built-in single-channel LPDDR4 RAM running at 2666 MHz. The K230 has a standard memory interface and supports up to 2 GB of RAM. This difference might not seem significant but, as we’ll see shortly, it has some significant real-world repercussions when it comes to AI capabilities.
Let’s get back to the naming scheme — the remaining CanMV part of the product name might actually be the most intriguing. It’s an allusion to OpenMV, a company that produces several ARM-based embedded camera boards programmable using MicroPython. The Banana Pi CanMV-K230D-Zero is also, unsurprisingly, designed to be chiefly programmed using MicroPython. Just like the OpenMV boards, the CanMV-K230D-Zero features a camera module, though it’s not mounted right on the PCB but instead connected using a ribbon cable. The included TYS-K230-200W-V2 module records at a 1920 x 1080 resolution and a maximum frame-rate of 30 FPS. If used for an extended period of time, this module tends to heat up quite a bit so we recommend cooling in some way. With that being said, the K230D SoC itself is also a heat-producing component. We don’t have any scientific evidence of throttling, but our very basic poke-at-it-with-your-finger test does reveal that the chip gets rather toasty. If possible, slap a heatsink on.

Following its Raspberry Pi Zero-inspired format, the Banana Pi CanMC-K230D-Zero features a 40-pin header with some signals multiplexed across the same set of pins. In addition to GPIO, there are three UART, I2C and SPI (one OSPI and two QSPI) interfaces, as well as one I2S interface — more than enough for simpler automation and most maker projects.
The board features two USB-C connectors, one labelled USB and the other POWER. The former is meant for transferring data from a connected PC, and the latter for connecting a 5V / 2A power supply. There’s no support for USB PD, and worse yet, using a PD-enabled power brick will lead to the on-board power regulator quickly overheating and eventually getting damaged (we’ve had some magic smoke escape when we tried — thankfully, our board still worked afterwards, but we can’t stress enough how important it is not to do this). Our recommendation is to power the CanMV-K320D-Zero with one of your computer’s built-in USB-A ports. That way, you’ll be safe within spec, but will have to give up two of your computer’s ports.
The provided camera module connects to the board’s 2-lane MIPI-CSI connector (simply labelled camera) using a 22-pin ZIF cable. An extra 4-lane MIPI-CSI connector, labelled CSI0+CSI1, is also present on the board and supports camera resolutions of up to 4K.
There are two buttons on the board. One’s a reset button, nudged between the two USB-C ports and the other’s mounted on the side and is programmable. Right next to the programmable button is an RGB diode, also programmable. A small red LED is mounted right above the 2-lane MIPI-CSI camera connector and illuminates whenever the system receives power.
Perhaps the most intriguing hardware choice is the Wi-Fi module. It’s quite easy to spot as it’s the only bit of green PCB on the otherwise all-blue board. But it’s not the color that’s surprising — we’re just not quite sure why Banana Pi decided to go for the extremely rare Realtek RTL 8198F network chipset. Specs-wise, this 2.4 GHz–only module can work both in AP and in router mode. It doesn’t have a built-in antenna, instead utilizing a standard U.FL connector on the main board for attaching an external one (not included, mind you). The main issue here is the rather flaky driver support, though, if we had to guess, we’d say that the reason it was chosen is that, like the Kendryte K230D, it’s a RISC-V–based chip, with the RLX5281 RISC-V CPU running at 800 MHz at its core.

The board’s SD card slot is situated on the back and is of the nice push-pull sort. In order to get started, you’ll have to load an SD card up with an appropriate image. There are several options here, but the recommended MicroPython-based one is rather small — around 600 kB, and with the CanMV-K230D-Zero offering support for cards up to 1 TB, you should have ample space for your data.
The back side also features a DSI display port that supports 1080p displays. Unfortunately, we don’t have a compatible screen to test this functionality with. Finally, there’s an intriguing ADC/Audio connector that features three of the SoC’s six 12-bit ADC channels with a 1 MHz sampling rate, as well as a stereo microphone input and audio output (both with a selectable sample rate of 8 to 192 kHz). Even though the official documentation mentions a built-in microphone, we didn’t manage to find one.

Software
The Banana Pi CanMV-K230D-Zero officially supports two types of images. One type is based on Linux and comes with support for nncase, a neural network compiler designed for the AI accelerator engine found in Kendryte’s SoCs — more info on this can be found on the official GitHub repo.

The other type is a MicroPython-based image that’s available to download right from the Kendryte website. When downloading either, confirm that the image you’re downloading is labelled with BPI-CanMV-K230D-Zero. Also make sure to check out both the K230 and K230D download folders on the website, as we’ve seen some images for the latter SoC sneak their way into the former category.
All of the guides and tutorials available on Banana Pi’s website are for MicroPython images, perhaps because of their ease-of-use and the general popularity of Python, both within and outside the scope of AI programming. Another reason for this might be the fact that the MicroPython route enables seamless integration with the official OpenMV IDE, an official Python environment for all OpenMV (and OpenMV-like) cameras. This is why we also recommend this route, and feel like it’s a better introduction to the Kendryte ecosystem as a whole.

Many of the provided MicroPython examples extensively cover the GPIO, working with audio, various graphical and display libraries and finally, showcase how to utilize the system’s special KNU hardware. Do note that not all AI demos work with the lesser K230D due to its limited 128 MB of memory. Most demos are built with the K230 in mind, which in addition to more memory also features an HDMI output. Due to the latter, there’s a bit of required code modification, mostly changing the value of the display_mode variable from hdmi to lcd. This is usually found within the following bit of code:
if __name__ == "__main__":
display_mode = “hdmi"
…though it’s not always the first line after the idiom, and the variable isn’t always called display_mode. As long as you search for an hdmi within the correct if statement, you’ll likely get to where you should.
The system’s main pain point is the rarely used RTL8198 Wi-Fi chip for which MicroPython offers no libraries. This means that all of the examples that include network connectivity simply won’t work. Given that OpenMV cameras excel as little IoT devices, this is pretty unfortunate. The Kendryte K230 Linux SDK supports the AP6212 Wi-Fi module, meaning that there’s (as of writing) no luck on the other, Linux end either.

Conclusion
The Banana Pi CanMV-K230D-Zero is one of the company’s most recent RISC-V experiments. With a highly efficient and AI-capable Kendryte K230D SoC at its core, the board is held back by the limited 128 MB of RAM which bar it from performing more complex AI tasks like OCR or object segmentation. It’s designed for more basic uses, like pose and face detection. QR codes and barcodes are a pass, given that they’re large enough, as there are some problems with the supplied wide-angle camera which can’t focus on objects closer than 50 cm away — and which doesn’t support interchangeable lenses.
If you’re interested in developing a product based on the K230 platform, this development kit comes with a pretty satisfactory amount of available documentation, as well as a solid amount of pre-trained AI models ready for deployment. After all, this is a product of an official collaboration between Canaan (curiously symbolic name) and Banana Pi, meaning that both companies offer solid support resources, the former specializing in professional and home offerings targeting cryptocurrency mining and hashing in addition to its AI product range. With this in mind, it’s likely for the Wi-Fi connectivity issues to be resolved sooner rather than later.
For just $30, this Raspberry Pi Zero–format development system with a built-in camera and extensive connectivity is a very intriguing option, especially in the RISC-V segment. Despite that, there are a few improvements we’d love to see — an option with interchangeable camera lenses, a MIPI DSI display bundled with the set and finally, some much-needed thermal management options.
- Banana Pi CanMV-K230D-Zero review - 06/24/2025
- Mehatronika interviews: Stefan Engleder - 06/10/2025
- Youyeetoo X1 review - 04/09/2024