MaixPy #11 : Maixduino Speech Recognition | Firmware Update Part 1

In this tutorial i will show how we can change that Maixduino firmware by installing a Linux subsystem that runs on a Windows 10 operating system. This will allow us to configure the firmware and make a new build for the Maixduino board.

What Will We Need



  • PC with Win 10
  • A lot of patience


Maixduino Firmware


Accessing and changing the Maixduino firmware is a pain in the ass. So, to explain, I’ll need a three-part tutorial. It involves the installation of a Linux distro using the Win10 WSL. Then we need to install and configure all the stuff we need to make it possible for the Maixduino build editor to run. And finally, we can change the Maixduino firmware in order for us to activate the Speech Recognizer function that allows us to use it on the MaixPy via a new build. So, the steps will be:

  1. Install and configure the Linux system that runs as a Win10 subsystem.
  2. Install and configure all the Linux software that allows us to change the Maixduino firmware.
  3. Configure the Maixduino firmware and make a new build from it.

WSL (Windows Subsystem for Linux)

To my knowledge, there are a couple of ways to make a new Linux installation:

  • Format the disk and then install the Linux distro from scratch.
  • Install and configure a virtual machine that runs on an operating system like Windows.
  • Use the Windows WSL subsystem that allows us to run Linux file systems with a GUI.

First I tried with a virtual machine and couldn’t go any further, so the other option for me was to install the WSL. The WSL (Windows subsystem for Linux) allows us to play with Linux without having to make a new installation. I think this is a practical and fast way because there is an interconnectivity between Windows and Linux that allows us to move files from one to the other operational systems.

Step 1 – Windows Updates and Requirements

If you want to skip my initial configurations, you can follow this guide to install the WSL:

If not, follow along. To be on the safe side and ensure a successful installation, it is best to update Windows before installing the WSL. It is recommended to update the operating system and the 3rd party apps automatically because it keeps the system secure. So, the options that we have to configure are (in the advanced options):

Next, if the system is all updated, we have to check the WSL requirements. We will need to have at least the following versions (or higher):

  • 1903
  • 1909
  • 2004

You can see the win 10 history version in this wikipedia link:

To check our Windows version, we type on the Searchbar [WINVER]. It will show us our current Windows version.


Our computer will also need for the Hyper-V virtualization service to be active. Check this link and with simple steps you will get there:

If you want, there are also apps for Intel or AMD processors that allow us to see if the service is active. My processor is a AMD so i used the app AMD-V with RVI Hyper V Compatibility Utility to check it out. When we run the amd app, a window will pop up with the info.

Ok, now the instalation of the WSL.

WSL Instalation Steps

  1. Open cmd as administrator.
  2. Write [wsl.exe –install] to start the instalation of Ubuntu Distro + Apps
  3. You will need to restart the PC.
  4. When you login again after restart, the Ubuntu instalation settings window will pop up and you should type your user name and password.
  5. If it gives an error –> go here:, it explains how to solve the problem and you have to try again. In my case, I wrote [wsl.exe –install -d Ubuntu] to continue or [wsl.exe –help] to see the options and then continue.
  6. If everything goes acording to plan and the instalation is sucesfull, to access the Ubuntu subsystem, we just have type Ubuntu on the search bar or search the start menu for the app. It is very important to run always as administrator.

WSL Ubuntu First Steps

Once inside the Linux terminal, is better to update the system with this comand:

Depending on the machines we have, it my take a while. On a Linux system it is important to make this step at least once a week.

In the second part of this series, we are going to install and configure all the Linux software that will allow us to change the Maixduino firmware.