Medium Basics: Project 083w Sipeed Maixduino board - Using PlatformIO IDE

of Acoptex.com in Sipeed Maixduino

Basics: Project 083w

Project name: Sipeed Maixduino board - Using PlatformIO IDE

Tags: Sipeed Maixduino Kit for RISC-V AI and IoT, seeedstudio, Artificial intelligence, AI, IOT, Internet of things, upload sketch to sipeed maixduino board, how to format Micro SD more than 4GB card to FAT format, Uploading sketch with PlatformIO

Attachments: none

In this project, you need these parts :

1. Sipeed Maixduino Kit for RISC-V AI + IoT 1 pc or Sipeed Maixduino for RISC-V AI + IoT 1 pc

2. USB Type C cable 1 pc

3. Micro SD card and SD card adapter, size 4GB (FAT formatted) 1 pc


4. Resistor 1 pc (220 Ohm)
5. LED 1 pc (any color)

6.Breadboard half size or small size 1 pc


We will learn how to use PlatformIO IDE to upload the sketch to the Sipeed Maixduino board and run it. 

About Seeed Studio

Seeed is the IoT hardware enabler providing services over 10 years that empower makers to realize their projects and products. Seeed offers a wide array of hardware platforms and sensor modules ready to be integrated with existing IoT platforms and one-stop PCB manufacturing and Prototype PCB Assembly. Seeed Studio provides a wide selection of electronic parts including ArduinoRaspberry Pi and many different development board platforms. Especially the Grove System help engineers and makers to avoid jumper wires problems. Seeed Studio has developed more than 280 Grove modules covering a wide range of applications that can fulfill a variety of needs. 

Understanding the VScode

Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, Go) and runtimes (such as .NET and Unity). You can read more about it here.

Understanding the PlatformIO IDE

The next-generation integrated development environment for IoT. C/C++ Intelligent code completion and Smart code linter with Built-in Terminal and Serial Port Monitor. You can read more about it here. You can read about k210 support here.

PlatformIO is an open source ecosystem for IoT development. Cross-platform build system and unified debugger. Remote unit testing and firmware updates.

Platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Freescale Kinetis, Infineon XMC, Intel ARC32, Intel MCS-51 (8051), Kendryte K210, Lattice iCE40, Maxim 32, Microchip PIC32, Nordic nRF51, Nordic nRF52, NXP LPC, RISC-V, Samsung ARTIK, Silicon Labs EFM32, ST STM32, ST STM8, Teensy, TI MSP430, TI Tiva, WIZNet W7500

Frameworks: Arduino, ARTIK SDK, CMSIS, ESP-IDF, ESP8266 RTOS SDK, Freedom E SDK, Kendryte Standalone SDK, Kendryte FreeRTOS SDK, libOpenCM3, mbed, PULP OS, Pumbaa, Simba, SPL, STM32Cube, Tizen RT, WiringPi


  • Cross-platform code builder without external dependencies to a system software:
  • 650+ embedded boards
  • 30+ development platforms
  • 15+ frameworks
  • PIO Unified Debugger
  • PIO Unit Testing
  • PIO Remote
  • C/C++ Intelligent Code Completion
  • C/C++ Smart Code Linter for rapid professional development
  • Library Manager for the thousands of popular libraries
  • Multi-projects workflow with multiple panes
  • Themes support with dark and light colors
  • Serial Port Monitor
  • Built-in Terminal with PlatformIO Core tool (pio, platformio)

Understanding the Sipeed Maixduino board

You can read more about it here.

Signals and connections of the Sipeed Maixduino board

Maxduino pinout.

Espressif ESP32-WROOM-32 pinout.

Sipeed M1 pinout. See detailed description about pins here.

ADC - Analog to Digital Converter or Analog pins.This devepment board has 5.

GND - Ground pin.

RST - Reset pin.

Vin - External power supply pin 6V

I2C - It has dedicated pins available for two-wire I2C communication. One pin is used for data transfer (SDA) and another pin is used for clock synchronization (SCL). 

Pin 0, Pin 1 - hardware serial communication pins.

5V, 3V3 - power supply pins.

ESP32-WROOM-32 - ESP32-WROOM-32 module soldered to the development board. Optionally ESP32-WROOM-32D, ESP32-WROOM-32U or ESP32-SOLO-1 module may be soldered instead of the ESP32-WROOM-32.

Reset button - to reset the development board

BOOT button - to upload the firmware/sketch

USB type C port - USB interface. It functions as the power supply for the board and the communication interface between PC and the ESP module.


Pay attention to the installation direction of the camera and screen, otherwise it may not work or damage the device. The camera is facing the back:

The screen is facing the front:

Step by step istruction

We are using the Sipeed Maixduino board and have Windows 7 64 bit OS installed on our PC.

1. Preparations

  1. Connect camera and LCD to Sipeed Maixduino board.
  2. Insert the Micro SD card to TF card slot.
  3. Plug the Sipeed Maixduino board to your PC and wait for the drivers to install (or install manually any that might be required). We had the drivers installed automatically. There are two serial ports for this board one is for the K210 (we have COM17) and one for the ESP32 (we have COM18).
  4. If the drivers did not install automatically you will need to install FT2232 drivers for USB serial port manually. You can read how to install them below before summary section. For the  to get the USB serial port, FT2232 drivers need to be installed. In new Maixduino and Maix Bit versions that come with a microphone (using a CH552 chip) the JTAG function is not available.

2. How to install the FT2232 drivers

Please check in our Basics: Project 083e Sipeed Maixduino board - Uploading MaixPy

3. How to format Micro SD card with more than 4GB side to FAT format

Please check in our Basics: Project 083f Sipeed Maixduino board - Using MycroPython

4. Installing the VScode

  1. Go to code.visualstudio.com website and download the Visual Studio Code for your OS. We have Windows 7 64 bit OS so we have choosen the latest stable version for Windows.

  2. After downloading complete double-click on VSCodeUserSetup-x64-1.36.1.exe file to start the setup.
  3. Select I accept the agreement and click on Next button.
  4. Click on Next button.
  5. Click on Next button.
  6. Select the settings marked and click on Next button.
  7. Click on Install button to start the installation process.
  8. The VScode app will start after the installation done.

5. Installing the PlatformIO IDE

  1. In VScode app look to the left and click on Extensions icon in the sidebar.
  2. Search for PlatformIO and select PlatformIO IDE line when found.
  3. Click on Install.
  4. Wait for the installation to complete.
  5. When the installation completed click on Reload Now button.
  6. When reload completed you will see the new icon in left sidebar for PlatformIO IDE.

6. Adding Sipeed Maixduino development board

  1. Click on PlatformIO icon.
  2. Find New Terminal in Quick Access field and click on it.
  3. You will see Terminal opened in the right part of the screen.
  4. For developer edition (synchronized with Github) run the following command in the terminal window: platformio platform install https://github.com/sipeed/platform-kendryte210
  5. For stable version (we selected) run the following command in the terminal window: platformio platform install "kendryte210"

7. Uploading the sketch

  1. Open the home page - click on PIO home in Quick Access field.
  2. Click on Project Examples.
  3. Select Arduino-blink and click on Import button to import the sample program.
  4. Wait till it will be loaded. It will take some time.
  5. You can see an example of a successful project after import (blink.cpp)
  6. We need to edit the configuration file - platformio.ini leave our development board model (Sipeed Maixduino) and delete the other development board environments. You must include the upload serial port for k210 (we have COM17).
  7. Compiler 
    click on the lower left corner Buildto build the project
    To compile the project click on the bottom left corner Platformio: Build to build the project.
  8. To upload click on bottom left corner PlatformIO: Upload to upload program.
  9. Congrats, you're done. The LED is flashing now.


We have learnt how to use PlatformIO IDE to upload the sketch to the Sipeed Maixduino board and run it.  

More projects with Sipeed Maixduino board

Project 083f Sipeed Maixduino board - Using MycroPython

Project 083e Sipeed Maixduino board - Uploading MaixPy

Project 083x Sipeed Maixduino board - Uploading script with uPyLoader

Project 083y Sipeed Maixduino board - Using MaixPy REPL interface and Micropython Editor

Project 083d Sipeed Maixduino Kit for RISC-V AI and IoT


If you have done everything correctly but can not upload sketch to the board and you are getting message that you are missing file kendryte.ld - it can be the problem with your Windows Username (you can have username with several words like Alex Bestman) but it should be single word like AlexBestman.


  • No libraries required for this project


  • None

Other projects of Acoptex.com
Medium Basics: Project 083e Sipeed Maixduino board - Uploading MaixPy of Acoptex.com in Sipeed Maixduino 04-08-2019
Medium Basics: Project 083f Sipeed Maixduino board - Using MycroPython of Acoptex.com in Sipeed Maixduino 04-08-2019

Published at 08-08-2019
Viewed: 6425 times