Sipeed M1s & M0sense – Low-cost BL808 & BL702 based AI modules (Crowdfunding)

Sipeed M1s & M0Sense

Sipeed has launched the M1s and M0Sense AI modules. Designed for AIoT application, the Sipeed M1s is based on the Bouffalo Lab BL808 32-bit/64-bit RISC-V wireless SoC with WiFi, Bluetooth, and an 802.15.4 radio for Zigbee support, as well as the BLAI-100 (Bouffalo Lab AI engine) NPU for video/audio detection and/or recognition. The Sipeed M0Sense targets TinyML applications with the Bouffa Lab BL702 32-bit microcontroller also offering WiFi, BLE, and Zigbee connectivity.

Sipeed M1s AIoT module

The Sipeed M1S is an update to the Kendryte K210-powered Sipeed M1 introduced several years ago.

Sipeed M1s module
Sipeed M1s module without shield

Sipeed M1s module specifications:

  • SoC – Bouffalo Lab BL808 with
    • CPU
      • Alibaba T-head C906 64-bit RISC-V (RV64GCV+) core @ 480MHz
      • Alibaba T-head E907 32-bit RISC-V (RV32GCP+) core @ 320MHz
      • 32-bit RISC-V (RV32EMC) core @ 160 MHz
    • Memory – 768KB SRAM and 64MB embedded PSRAM
    • AI accelerator – NPU BLAI-100 (Bouffalo Lab AI engine) for video/audio detection/recognition delivering up to 100 GOPS with “rich OPS”
    • VPU – H.264 up to 1920×1080
    • Wireless
      • 2.4 GHz 802.11 b/g/n Wi-Fi  4
      • Bluetooth 5.x dual mode (classic + BLE)
      • IEEE 802.15.4 for Zigbee
  • Storage – 128Mbit (16MB) NOR flash
  • Castellated holes with
    • Display I/F – SPI, 8-bit MCU, RGB LCD
    • Camera I/F – MIPI CSI and DVP interfaces up to 1080p
    • Audio – I2S and analog audio input/output
    • Networking – RMII Ethernet
    • USB – USB 2.0 OTG HS
    • Low-speed peripherals – UART, I2C, SPI, SDIO, ADC/DAC
  • Dimensions – 31 x 18 mm

They seem to have considered the ESP32-S3, but the BL808 module provided more processing power and RAM. The table below shows the comparison between Sipeed M1, M1S and ESP32-S3-WROOM-1-N16R8 modules. I’m just not sure why they seem to imply the ESP32-S3 does not support AI acceleration, since it does.

BL808 vs ESP32-S3 AI module
Source: Sipeed

One advantage of the BL808 is that it can support Linux, and the microcontroller does include an MMU, so you would not have to deal with the usual uClinux headaches.

Sipeed also offers the Sipeed M1s Dock with a camera and display to demonstrate most functions from the M1s module.
Sipeed M1s Dock

Sipeed M1s Dock specifications:

  • Module –  Sipeed M1s described above
  • Storage – MicroSD card socket also supporting JTAG mode
  • Display – 1.69-inch 280×240 display with a capacitive touchscreen
  • Camera – 2MP MIPI CSI camera with LED flash (OV2685 sensor)
  • Audio – Analog MEMS microphone and Line Out
  • USB – 1x USB Type-C to dual serial port, 1x USB 2.0 Type-C OTG HS port
  • Expansion
    • 2x 16-pin header for I/Os, breadboard-friendly
    • 4-pin UART connector
  • Debugging –  optional TF2JTAG
  • Misc – Reset, Boot, and 2x user buttons
  • Power Supply – 5V via USB Type-C port
  • Dimensions – 55×27 mm

Sipeed M1s Dock Enclosure

The company also offered an enclosure for the Sipeed M1s Dock as shown above with a microSD card and the Sipeed M0Sense used for scale.

Sipeed M0Sense TinyML board

Sipeed M0SenseSipeed M0Sense specifications:

  • Microcontroller – Bouffalo Lab BL702 32-bit RISC-V (RV32) microcontroller @ 144 MHz with 132 KB SRAM, 512 KB flash, Bluetooth LE connectivity
  • Display – Optional 0.96-inch display
  • USB – USB Type-C port
  • Sensor – IMU and microphone
  • Expansion – 2x 8-pin header (through and castellated holes) with GPIO, I2C, UART, SPI
  • Misc – RGB LED
  • Power Supply – 5V via USB-C port
  • Dimensions – 23 x 18 mm

M0Sense pinout diagram

Software support

There are multiple ways to program the boards from drag and drop apps as both the M1s Dock and M0Sense can be seen as mass storage devices, to a lightweight python script, and a more complete and flexible SDK with samples available on GitHub.

Sipeed also offers two AIoT/TinyML solutions that work on the new modules/boards and a range of third-party boards:

  • TinyMaix  – A Tiny inference Neural Network library specifically designed for MCUs with just 400 lines of core code and ported to 40+ chips so far
  • MaixHub – An Online AI model training & sharing platform

The best way to understand the capabilities of the Sipeed M1s and M0Sense is to watch the video below showcasing various demos from MNIST handwritten digit recognition to face detection, posture recognition, object classifications, and more.

YouTube video player

Pricing and availability

Sipeed has launched the M1S and M0Sense on Indiegogo with a $2155 US flexible funding target. Rewards start at $19 for a pack of five M0Sense boards and $22 for a complete Sipeed M1S Dock kit with a display, camera, and enclosure. Shipping adds $2 to $29 depending on the destination country and is scheduled to start at the end of the month right after the campaign is complete in about 15 days. Alternatively, you can purchase the boards on the company’s Aliexpress store.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

20 Replies to “Sipeed M1s & M0sense – Low-cost BL808 & BL702 based AI modules (Crowdfunding)”

  1. ESP32-S3’s NN acceleration is based on vector instructions(something like arm NEON, RISC-V V-extend), usually about 4~8X faster than normal CPU, so 240M esp32 use vector instructions is about 1~2GOPS, 1/100 about normal NPU does, so we ignore it.

  2. The ability to run Linux there is extremely appealing, especially for a WiFi-enabled module! However I couldn’t find anything related in their github repos, so I’m wondering what’s the current status of linux on this board.

      1. I followed the steps in the above bl808_linux, but can’t succeed to boot linux on M1S Dock. E907(M0) firmware boots and run, but C907(D0) part doesn’t. However, the m0 and d0 of M1S dock can run M1S_SDK_exmaples in sipeed github, so I think there may be something difference we dunno.

        After some analysis for two day, I have serval questions:

        1.Is boot2 needed if we want to boot and run linux? From https://github.com/bouffalolab/bl808_linux, I didn’t see where’s boot2

        2.where’s 0xd2000 in bl808_linux readme from? Should we use a different offset for M1S dock?

        3.what’s the difference between MCU and IOT when download firmware with DevCube? and what’s the difference between group0 and group1? Obviously, D0’s 0x58000000 and M0’s 0x58000000 is mapped to different XIP FLASH address, but where’s is D0’s and M0’s 0x58000000 mapped to?

        could you plz help me? It’s better if there’s a bl808 boot flow doc

          1. Hmm very tempting 🙂 I just don’t have spare time for this at the moment otherwise I would definitely give this a try! Thanks for sharing and for doing your best to put Linux on such tiny devices. IoT is going to get better soon it seems.

          2. Hi,

            Thank you! I also successfully brought up the opensbi and linux yesterday by modifying the sipeed sdk, but the DDR memory for linux starts from 0x50100000 rather than 0x5000000, because the 1MB DDR at the beginning is used by E907 in sipeed sdk. I always use IOT menu in DevCube to download imgs. I planned to hack sdk again to move this 1MB ddr from E907 to C906 today.

          3. Hi,

            After lots of hacking, I successfully moved 1MB from E907 to linux on C906 yesterday, so C906 can have the full 64MB now!

            Thanks

  3. I got a couple Kendryte-powered MaixDuinos from Sipeed when they came out. Their github was fuggy as buck. 30% of their examples didn’t compile. Of those that did, several didn’t work. The WiFi model didn’t power on the ESP-based WiFi module and the github and forums were full of people trying to debug it, some with success, some not, but no updates showed up on their github a year later. I didn’t have the patience for it and switched to ESP32 boards, which are brilliant, but the Kendryte was a lot more powerful. The other issue I had was the lack of RAM. It had 8MB but 4MB was mapped to the AI co-processor. 4MB wasn’t enough for me to comfortably do what I wanted, though I did get it bit-banging CGA16 graphics for fun before I turned my attention elsewhere. Anyhow, IMO they would have been better off to only have working demos on their github, not a borken mixed bag.

      1. They need a bundle on Aliexpress like the one on Indiegogo which includes the JTAG so that shipping cost doesn’t double from adding it in.

  4. Why is there an Indiegogo for a $2K project? They don’t have enough internal funding to develop this thing themselves? Doesn’t sound promising for supporting the product.

    Does the Pine OX64 sound about equivalent to the Sipeed BL808 board?

      1. Definitely. And for some it’s also a good excuse for dropping a product without early notification when they see they don’t reach the target (i.e. crowd funding is a great way to gauge users’ interest).

Leave a Reply

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

Khadas VIM4 SBC
Khadas VIM4 SBC