Micro-contrôleurs BouffaloLab

L'entreprise

Nom  international : BouffaloLab
Nom chinois : 博流智能 (ou simplement 博流)
Pinyin : bó liú zhìnéng
Site web : https://en.bouffalolab.com/

BouffaloLab produit exclusivement des micro-contrôleurs RISC‑V orientés IoT (Internet of Things), certains basés sur des IP de SiFive, d'autres sur des IP de T-Head.

La documentation est assez complète et disponible en anglais. Les SDK du début (bl_mcu_sdk et bl_iot_sdk) étaient chaotiques. BouffaloLab s'est attaqué à un moment à ce problème avec la création du projet bouffalo_sdk, mais les développements sur ce projet semblent désormais arrêtés (juillet 2024). Ce manque de sérieux de la part de BouffaloLab n'incite pas à utiliser leurs produits, indépendamment de leurs mérites.

La gamme

Réf. MHz RAM CPU IP Wi-Fi BT BLE 802.15.4 USB Ethernet Camera NPU
BL602/604 192 276K RV32IMAFC SiFive E24 b/g/n
BL702 144 132K RV32IMAFC SiFive E24
BL704 144 132K RV32IMAFC SiFive E24
BL706 144 132K RV32IMAFC SiFive E24
BL616/618 320 480K RV32IMAFCP T-Head E907 b/g/n/ax
BL808 480 64M RV32IMAFCP + RV64GCV + RV32EMC T-Head E907C906E902 b/g/n

  • Le BL604 est identique au BL602 à l'exception du boîtier (QFN40 au lieu de QFN32).

  • Le BL618 est identique au BL616 à l'exception du boîtier (QFN56 au lieu de QFN40).

  • Les BL616 et BL618 sont des micro-contrôleurs à ultra-base consommation.

  • Le BL808 est inclus dans ce document car s'il est extrêmement puissant pour un micro-contrôleur, il est extrêmement limité pour un SoC fonctionnant sous Linux. Il a donc une place dans les 2 univers.

  • Le cœur C906 du BL808 supporte l'extension RISC‑V Vector dans sa version préliminaire 0.7.1, incompatible avec la version ratifiée 1.0.

  • NPU signifie Neural Processing Unit et désigne un accélérateur de calcul pour les réseaux neuronaux (intelligence artificielle).

Les clones, rançon du succès

Le BL602 est le premier micro-contrôleur produit par BouffaloLab et il a connu un tel succès qu'il en existe des clones : les LF686 (= BL602) et LF688 (= BL604) de LeapFive, et le TG7100C (= BL602) de T-Head (developpé pour Tmall).

Conseils aux débutants

Les cartes de développement basées sur le BL602 sont facilement disponibles et très bon marché. De plus, du fait de son succès, on trouve beaucoup de documentation et d'exemples de code en ligne, ainsi que l'excellent BL602 book de Lup Yuen Lee. C'est donc un bon choix de départ si vous vous intéressez aux micro-contrôleurs de BouffaloLab.

D'autre part, les seuls efforts que BouffaloLab ait réellement déployé sur bouffalo_sdk portent sur les BL616/618. Ce sont donc également de bon choix.

Documentation, SDK, utilitaires

Data sheets & reference manuals : https://github.com/bouffalolab/bl_docs

SDK : https://github.com/bouffalolab/bouffalo_sdk

Toolchains (compilateurs) : https://dev.bouffalolab.com/download

Outil de flashage (BlDevCube) : https://github.com/bouffalolab/flash_tools

GitHub officiel : https://github.com/bouffalolab

Forum développeurs : https://bbs.bouffalolab.com/t/english-forum

Wiki OpenBouffalo, couvre beaucoup de détails pratiques : https://openbouffalo.org/

Information complémentaires intéressantes : https://github.com/pine64/

Document en anglais expliquant comment utiliser les micro-contrôleurs de Bouffalo Lab avec RT-Thread.

BL602 : les cartes de développement

Pine64 PineCone

Lien d'achat : https://pine64.com/product/pinecone-bl602-evaluation-board/

Documentation : https://wiki.pine64.org/wiki/PineCone

Article : https://lupyuen.github.io/articles/pinecone

Tutoriels : https://lupyuen.github.io/articles/book

Ai-Thinker Ai-WB2 series

Liens d'achat (Ai-WB2-12F-Kit - 11 E/S) :

Liens d'achat (Ai-WB2-13-Kit - 11 E/S) :

Liens d'achat (Ai-WB2-32S-Kit - 15 E/S) :

Documentation : https://docs.ai-thinker.com/en/wb2

GitHub : https://github.com/Ai-Thinker-Open/Ai-Thinker-WB2

DT-BL10 et XT-BL12

La DT-BL10 est produite par Sibo Zhilian Technology et la XT-BL12 par ShenZhen XiaoTeng Technology. Les 2 cartes sont quasiment identiques.

Liens d'achat :

Documentation : http://bbs.doit.am/forum.php?mod=viewthread&tid=482

BL702 : les cartes de développement

Sipeed M0 Sense

Liens d'achat :

Documentation : https://dl.sipeed.com/shareURL/Maix-Zero/M0sense

GitHub : https://github.com/sipeed/M0sense_BL702_example

XiaoTeng Technology XT-ZB1

Liens d'achat :

Documentation : http://bbs.doit.am/forum.php?mod=viewthread&tid=488

Shenzhen LC Technology 303BL702002 = BL702S

Liens d'achat :

BL616 : les cartes de développement

Sipeed M0S Dock

Liens d'achat :

Documentation : https://dl.sipeed.com/shareURL/Maix-Zero/M0S

GitHub : https://github.com/sipeed/M0S_BL616_example

Ai-Thinker Ai-M62-12F

Liens d'achat :

Documentation : https://docs.ai-thinker.com/en/ai_m62

GitHub : https://github.com/Ai-Thinker-Open/aithinker_Ai-M6X_SDK

BL618 : les cartes de développement

Sipeed M0P Dock

Liens d'achat :

Documentation : https://dl.sipeed.com/shareURL/Maix-Zero/M0P

GitHub : https://github.com/sipeed/M0S_BL618_examples

Ai-Thinker Ai-M61-32S

Liens d'achat :

Documentation : https://docs.ai-thinker.com/en/ai_m61

GitHub : https://github.com/Ai-Thinker-Open/aithinker_Ai-M6X_SDK

BL808 : les cartes de développement

Pine64 Ox64

Lien d'achat : https://pine64.com/product-category/ox64/

Documentation : https://wiki.pine64.org/wiki/Ox64

Sipeed M1S Dock

Liens d'achat :

Documentation : https://dl.sipeed.com/shareURL/MAIX/M1s

GitHub :


Copyright (c) 2023 Vincent DEFERT - Tous droits réservés