Multi Factor Authentication with Sipeed Maixduino


Using the Arduino compatible Maixduino with Seeed’s Grove connectors and code to build a multi-factor user authentication system.

Currently the project uses speech recognition, gesture recognition and an RFID tag. Later I intend to add face detection so the authentication sequence only starts when someone is in front of the device.

The system works as follows:

  1. System activated by movement sensor
  2. Waits for gesture sequence from gesture sensor
  3. If gesture correct, waits for voice password
  4. If voice correct, waits for RFID tag number
  5. If RFID tag is correct, the system grants access

Seeed sent me the Maixduino with the shield and a PIR sensor, motion sensor and RFID reader for this project. The Maixduino comes with a camera, microphone and an LCD panel. I was impressed with how easy the Grove connectors make it to quickly assemble a project like this. The quality of the documentation and code samples on Seeed’s website for this system is much higher than I’m used to seeing from other electronics suppliers.

I used the Arduino IDE for this project. Installation instructions to add the Maixduino to the IDE are here:

If you want to use the speech recognition with your own words there is an example sketch at File > Examples > Examples for Sipeed > get_voice_model. Upload this sketch and open the serial monitor. Follow the instructions to speak and then copy and paste the code into the voice_model.h file. You can see which section of code to paste in this video:

At moment there appears to be a bug somewhere in the speech and LCD libraries that slows down the display to a crawl when this part has run. You can see this in the video below:

The code is available from here:


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

scroll to top