The ARM processor is famous for its efficient processing performance, but one of the downsides to this is that its developing environment is also quite complicated. Bluno M3, a new product designed by DFRobot, changes this. The rewritten underlying protocol and development environment have been rewritten to accommodate for Arduino language usage, giving it full Arduino compatibility. Bluno M3 has 512K flash memory and 64K SRAM, and the integrated Bluetooth 4.0 (BLE) supports Bluetooth wireless control or Bluetooth wireless programming. This board is suitable for robotic control or IOT applications and has a good balance between Arduino and ARM processing.


warning_yellow.pngThe STM32 is a 3.3V processor. Do NOT use any 5V sensor/module with it in case of burning it!

Board Overview

Bluno M3 Features

Differences between Bluno M3 and Arduino

1. Overview The Bluno M3 is different to previous Bluno boards as it is based on a 32bit ARM Cortex-M3 core architecture. A regular Arduino is based on an 8bit AVR core. Due to these differences, machine commands are also different. Arduino IDE uses avr-gcc, whilst Bluno M3 uses arm-none-eabi-gcc.

2. Hardware Ports

3. Language and Library Software Differences

4. Bluno M3 Reference This section introduces basic information, methods of application, function interfaces and uses. e.g. GPIO, PWM, UART, SPI, I2C, etc. For the further information, please check Bluno M3 Reference Manual


In this section, we will guide you how to use Bluno M3 step by step.

Setup Software Development Environment

1. Download IDE and Bluno M3 Driver

Download Bluno M3 Arduino IDE —— Arduino IDE 1.5.5 (M3 Version) from OneDrive

This is a custom version based on Arduino IDE 1.5.5 where we have redefined the interface functions. Please note that because of this, other versions are not compatible with Bluno M3.

2. Install Software

1. Open Control Panel > System and Security > System > Advanced System Settings > Environment Variables 2. Select PATH, and click Edit... button

3. Copy the Arduino IDE 1.5.5 (Bluno M3 Version) directory path you downloaded before in to PATH. For example: C:\Arduino\hardware\tools\avr\utils\bin. Click OK.

Note: If there are a lot of directories in PATH, you can use ";"(semicolon) to split them.

Install Bluno M3 Driver

1. Connect Bluno M3 to your PC's USB port, open Hardware Devices and select the Driver folder.

Note: The Driver folder is located in your Arduino IDE 1.5.5 (Bluno M3 version) hardware drivers folder. e.g. C:\Arduino\hardware\drivers

1) Open Arduino IDE 1.5.5 (Bluno M3 Version) 2) Select "Bluno M3" and COM port

3) Click "Files" > "Examples" > "0.1 Basic" > "Blink" to open the sample code "Blink". 4) Click "Upload" to upload the sketch to the device.

You should see the on-board LED flashing on and off every second.

Wireless Programming

Bluno M3 is a derivative of the Bluno microcontroller, as a result it inherits wireless programming and wireless communication functions. You can refer to the Bluno wiki page for Bluetooth configuration and the AT commend set.

Bluno Wiki Page

Some recommendations:

Port Bluno M3
PC<——>Bluno M3 USB BLE Link <——>Bluno M3
Bluno<——>Bluno M3 Direct-connect <——>Bluno M3
Arduino<——>Bluno M3 BLE Link <——>Bluno M3

Just configure one PERIPHERAL, the another CENTRAL. They will automatically connect.


Q1.Some general Arduino Problems/ FAQ/ Tips, very good to know.

A. Clike the topic link on DFRobot Forum.

Q2.Can I use Bluno M3 on a MAC or Linux platform?

A. Currently we have only developed a Windows version - it doesn't support MAC OS and Linux.--Intern (talk) 12:23, 16 May 2016 (CST)

Q3. I can't install the driver on Windows 8/10

A. Please try to disable the digital signature.

Q4. Would this microcontroller connect to SPI devices whose operation voltage is 5V using ICSP? e.g. Pixy I noticed on your wiki for the Bluno M3 that you mention not to use any 5 V sensors, so I assume this will be incompatible. But, there is also mention of the 5 V ICSP Arduino compatible header.

A. Yes, it is the only way to use SPI devices (5V, operation voltage) through ICSP header.

Q5.Would Arduino libraries in general work OK or are there compatibility issues?

A. Sorry if you use Arduino library related with IIC or SPI interface, then most of the libraries can not be used for Bluno M3, you have rewrite it. But other libraries can work with our customized Arduino 1.5.5.

Q6.How to use CC debugger to flash the CC2540?

A. Please read How to flash a new CC2540 chip with DFRobot BLE service?

For any question/advice/cool idea to share, please visit DFRobot Forum.


DFshopping_car1.png Shopping from Bluno M3 - A STM32 ARM with Bluetooth 4.0 (Arduino Compatible) or DFRobot Distributor.

Category: DFRobot > Arduino > Arduino Microcontrollers > Bluno