Romeo BLE mini V2.0 SKU:DFR0351

From DFRobot Electronic Product Wiki and Tutorial: Arduino and Robot

Category.png Home > Arduino > Microcontroller


Romeo BLE mini is a simplified version of Romeo board. It inherits all functions of Romeo BLE. Moreover, IT GOT A SMALLER SIZE! Yes, you got it all. It has 8 Digital pins, 4 analog pins and integrates Bluetooth 4.0 wireless communication function. And it can easy to drive the mobile platform using two 1.2A H-bridged Motor Driver to meet the needs of small scale robots. We hope Romeo BLE mini will be a good assistant to Makers.

Version Update: V2 has upgraded its motor driver IC, it replaces HR8833 with TB6612 motor driver chip. TB6612 has the same control logic with L298 motor driver. The code will be compatible with Romeo robot control board. And it finally breakouts 2 interrupt pins now! You can connect encoders to make PID motor control.


  • Support Gravity-3Pin interface, color-coded, compatible with servos and Gravity sensors & modules
  • Support external power supply automatically switch, can simultaneously USB and external power supply
  • Support wireless download program / wireless communication function
  • Support mobile phone APP control
  • Two way H-bridged Motor Driver
  • Support servo external power input
  • Supports AT commands to configure BLE
  • Support serial transmission
  • Support master and slave switch


  • BLE chip: TI CC2540
  • Transmission distance: 30m (open area)
  • Microprocessor: ATmega328P
  • Board selection: Arduino UNO
  • Flash: 32 KB (ATmega328P) of which 0.5 KB used by bootloader
  • SRAM2: KB (ATmega328P)
  • EEPROM: 1 KB (ATmega328P)
  • Clock Frequency: 16 MHz
  • Digital I/O Pins: 8
  • PWM Digital I/O Pins: 4 (D3, D9, D10, D11)
  • Analog Input Pins: 4
  • Output current: 1.2A single-channel continuous drive current
  • Start / Peak Current: 2A (continuous pulse) / 3.2A (single pulse)
  • Motor Drive Pins: D4, D5, D6, D7
  • microUSB interface
  • 2x2A H-bridge motor driver
  • Size: 45x38.5mm

Board Overview

Romeo BLE mini V2.png
Label Name Description
1 +VIN- Servo & Motor power input 6.5~10v
2 +Servo- Digital port power input 5~12V
3 M1 & M2 Terminals 2-Way Motor Controller:
  • Motor 1 : PIN4 (Direction), PIN5 (PWM Speed)
  • Motor 2 : PIN7 (Direction), PIN6 (PWM Speed)
4 I2C I2C interface (A4 & A5)
5 A 5V GND Gravity Analog Interface: A0, A1, A2, A3
6 D VCC GND Gravity Digital Interface: D2, D3, D8, D9, D10, D11, D12, D13;
7 LED light
  • PWR-power indicator
  • TX/RX-Data transmissing/receiving indicator
  • L-D13 led * LINK-Bluetooth link indicator
  • PAIR-Bluetooth pair indicator
8 RESET ATmega328P Reset button
9 BOOT Used for update BLE Firmware


In this tutorial, you can control two motors by enter("a","b","c","d","e") in Serial Monitor on PC.


Connection Diagram

Romeo BLE Mini V2 Arduino Connection.png

Sample Code

//Standard PWM DC control
int E1 = 5;     //M1 Speed Control
int E2 = 6;     //M2 Speed Control
int M1 = 4;    //M1 Direction Control
int M2 = 7;    //M1 Direction Control

void stop(void)                    //Stop
void advance(char a,char b)          //Move forward
  analogWrite (E1,a);      //PWM Speed Control
  analogWrite (E2,b);    
void back_off (char a,char b)          //Move backward
  analogWrite (E1,a);
  analogWrite (E2,b);    
void turn_L (char a,char b)             //Turn Left
  analogWrite (E1,a);
  analogWrite (E2,b);    
void turn_R (char a,char b)             //Turn Right
  analogWrite (E1,a);
  analogWrite (E2,b);    
void setup(void) 
  int i;
    pinMode(i, OUTPUT);  
  Serial.begin(9600);      //Set Baud Rate
  Serial.println("Run keyboard control");
void loop(void) 
    char val =;
    if(val != -1)
      case 'w'://Move Forward
        advance (255,255);   //move forward in max speed
      case 's'://Move Backward
        back_off (255,255);   //move back in max speed
      case 'a'://Turn Left
        turn_L (100,100);
      case 'd'://Turn Right
        turn_R (100,100);
      case 'z':
      case 'x':
    else stop();  

BLE Configuration

Configure the BLE through AT command

There are three revolutionary BLE firmware versions now, maybe it will be more. For the reason of unified management, we will put all BLE AT command on the BLUNO wiki page
Configure the BLE through AT command.

Bluno Beetle Basic Demo

In this section, you can use the Romeo BLE mini to connect with the Android phone or iPhone .The Step by Step tutorial of the Romeo BLE mini is almost the same with the Bluno.

Bluno Basic Demo

Wireless Programming via BLE

In this section, we will learn how to Upload the sketch on air via BLE. It is really amazing that you can do uploading process without a line.The Step by Step tutorial of the Romeo BLE mini is almost the same with the Bluno.
How to Wireless Programming through BLE.

Update BLE Firmware

It is better to update the newest firmware for the better experience. As Romeo BLE mini is using CC2540 chip, the method of the updating is very close to BLUNO. Please choose "Bluno" firmware. Or it won't work.
How to update the BLE firmware.

ICSP interface

  • ICSP1: Atmega 328P
  • ICSP2: CC2540


For any questions, advice or cool ideas to share, please visit the DFRobot Forum.

More Documents

DFshopping car1.png Get Romeo BLE mini V2.0 from DFRobot Store or DFRobot Distributor.