Maixduino AI Dev Board

Just received my Maixduino AI Dev Board today. Loaded Arduino K210 Library and tried the blink app. Doesn’t blink anything. In fact, most of the examples don’t work at all. The basic WiFi app can’t access the ESP device, Camera app fails to compile. I’ve selected the Sipeed Maixduino board in the arduino board selector. I assume that’s correct? Also, does anyone know why it shows two serial ports in Device Manager. Totally confused.

The only example apps that seems to work are the ones for the SD card. Anyone shed some light on this?




if you can share the error log and more details, it will be easy to look up the problem.


Thanks for the response. After further investigation I see that there is no on-board LED on the Maixduino Board. I used the TX-Led on port 1 to verify the app was running. I also see that there is a CH552 uP which provides 2 channel USB capability; and that one of the channels is connected to the ESP8266. I still don’t know how to connect the ESP serial to the K210 Serial port 1 to enable WiFi with the K210. There must be some way to disable the 8266 to the USB and allow the K210 to gain access to it. I haven’t figured it out yet.

As far as the OV2640 is concerned, I get the following errors. Maybe it’s using the wrong library.

Anyway, lot’s of issues to be worked out. Still researching…

Again, Thanks


$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ errors follow $$$$$$$$$$$$$$$$$$$$$$$$$$$$$

selfie:7:15: error: cannot declare variable ‘camera’ to be of abstract type ‘Sipeed_OV2640’



In file included from C:\Users\dpcon\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries\Sipeed_OV2640\examples\selfie\selfie.ino:1:

C:\Users\dpcon\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries\Sipeed_OV2640\src/Sipeed_OV2640.h:36:7: note: because the following virtual functions are pure within ‘Sipeed_OV2640’:

class Sipeed_OV2640 : public Camera{


In file included from C:\Users\dpcon\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries\Sipeed_OV2640\src/Sipeed_OV2640.h:4,

from C:\Users\dpcon\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries\Sipeed_OV2640\examples\selfie\selfie.ino:1:

C:\Users\dpcon\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries\Camera\src/Camera.h:79:18: note: ‘virtual void Camera::setRotation(uint8_t)’

virtual void setRotation(uint8_t rotation) = 0;


Multiple libraries were found for “Adafruit_GFX.h”

Used: C:\Users\dpcon\Documents\Arduino\libraries\Adafruit_GFX_Library

Not used: C:\Users\dpcon\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries\Adafruit-GFX-Library

exit status 1

cannot declare variable ‘camera’ to be of abstract type ‘Sipeed_OV2640’

Thanks for the replay, which blink app you used ? can you share the code.

The blink app is in the Maixduino examples under “ticker”

#include <Arduino.h>

#include <Ticker.h>

// attach a LED to pPIO 13

#define LED_PIN 13

Ticker blinker(TIMER0);

Ticker toggler(TIMER1);

Ticker changer(TIMER2);

float blinkerPace = 0.1; //seconds

const float togglePeriod = 5; //seconds

void change() {

blinkerPace = 0.5;


void blink() {

digitalWrite(LED_PIN, !digitalRead(LED_PIN));


void toggle() {

static bool isBlinking = false;

if (isBlinking) {


isBlinking = false;


else {

blinker.attach(blinkerPace, blink);

isBlinking = true;


digitalWrite(LED_PIN, LOW); //make sure LED on on after toggling (pin LOW = led ON)


void setup() {


toggler.attach(togglePeriod, toggle);

changer.once(30, change);


void loop() {


You can also just write out to the Serial() port. There’s an LED on that pin also. Writing to Serial1 doesn’t blink anything.

I have MaixDuino (2626), and examples in python language work, especially the camera works.
However, this is not the case with the arduino-ide example in cpp: selfie.ino. Procedure
int Sipeed_OV2640::sensor_snapshot( ){ g_dvp_finish_flag = 0;
uint32_t start = millis(); while (g_dvp_finish_flag == 0) {
usleep(50); if(millis() - start > 300) return -1; }
return reverse_u32pixel((uint32_t*)_dataBuffer, _width*_height/2);
} returns minus one, which is why image pointer *img of selfie.ino is NULL.
As the internet shows, i am not the only one with this problem.