Firebeetle 2 M0 Development Board

SKU: DFR0652

The Firebeetle 2 M0 Development Board is a compact yet powerful development tool featuring the high-performance ATSAMD21G18 ARM Cortex M0+ chip. With 32kb RAM and 256kb Flash, it significantly outpaces the Atmega328. Designed for versatility, it offers 16MB SPI Flash and a built-in 12MB flash drive, simplifying data interaction and supporting an easy flash database. The board's SPI Flash-based word model allows for direct multi-language display, including Chinese, British, Japanese, and Korean. Enhanced usability features include a Type-C port, a horizontal switch, and an onboard WS2812 RGB indicator with FPC for easy display integration.

Front of Firebeetle 2 Board-M0 with USB and header pins-DFRobot product sku:DFR0652 image.
  • Docs
  • Tech Specs
  • Projects
  • 1. Getting Started

    This article offers a detailed guide on setting up the FireBeetle-M0 with USB and configuring it with the Arduino IDE, including steps for manual driver installation and board updates.

    2. Example Code for Arduino-Blink

    This article explains how to set up and execute the Arduino Blink example using the Firebeetle 2 M0 board, including code and expected outcomes.

    3. Example Code for Arduino-Measuring Battery

    This guide demonstrates how to measure battery voltage using Arduino with a Firebeetle 2 M0, including hardware setup, software installation, and example code.

    4. Example Code for Arduino-WS2812

    This article guides users through setting up and programming WS2812 LEDs with Arduino, using the FastLED library, including hardware and software preparation, connection setup, and sample code for LED control.

    5. Example Code for Arduino-EF Database

    This article provides example code for utilizing the Arduino-EF Database with the Firebeetle M0, demonstrating how to configure, print, and delete flash key-values using the DFRobot_EasyFlash Library.

    6. Example Code for Arduino-U-disk Mode

    This article guides users on utilizing Arduino-U-disk mode with the FireBeetle M0 development board, providing hardware and software setup instructions, usage methods, and sample code for data storage and retrieval.

    7. Example for Arduino - Serial Port Reset

    This guide explains how to reset the Arduino serial port using a Blink function to resolve program errors, with detailed steps on hardware and software preparation and operation instructions.

    8. Example for Arduino-CSV library and others

    This article demonstrates the use of Arduino-CSV library with FireBeetle 2 M0, offering insights into hardware setup, software preparation, and font library usage.

    Specification

    Parameter Details
    Input Voltage 3.3V~5.5V
    Low Power Consumption 10uA
    Max Discharging Current [email protected] LDO
    Max Charging Current 500mA
    Charging Support USB charging
    Processor ATSAMD21G18
    Frequency 48MHz
    SRAM 32KB
    Flash built-in 256KB, onboard 16MB SPI Flash
    GPIO 25 (PWM available for all ports)
    ADC 12-bit x6
    DAC 10-bit x1
    SPI 1
    I2C 1
    UART 2
    RGB LED WS2812 (connect to Pin ~8)
    Connector compatible with FireBeetle V2 series
    Operating Temperature -40℃~+85℃
    Dimension 25.4 x 60(mm)/1.0×2.36”
    Mounting Hole Size M2, inner diameter 2mm

    Pinout

    Board Outline

    DFR0652-Board Outline

    NOTE: NC should be left folating. VCC will output the power source voltage. (Output USB voltage when powered by 5V-USB, and output battery voltage when powered by 3.7V li-ion battery.)

    Power & PinOut

    DFR0652-Power & PinOut

    FireBeetle M0 has rich ports for connecting power source.

    • GND---Common ground for all power and logic
    • VIN---Positive voltage input by USB/Lipoly Battery (Output USB voltage when powered by 5V-USB, and output battery voltage when powered by 3.7V li-ion battery.)
    • EN---3.3V regulator's enable pin. It is pulled up, so connect to ground to disable the 3.3V regulator
    • 3V3---Output from the 3.3V regulator, it can provide 500mA peak.

    Pin Introduction

    This is the general purpose I/O pin set for the microcontroller.

    • All logic is 3.3V.
    • Nearly all pins can do PWM output.
    • All Pins can be interrupt inputs.
    Pin Name Primary Function Additional Functions Notes
    0 / RX1 GPIO 0 Serial1 receive (hardware UART), Analog input -
    1 / TX1 GPIO 1 Serial1 transmit (hardware UART), Analog input -
    2 GPIO 2 - -
    3 GPIO 3 - -
    5 GPIO 5 - -
    6 GPIO 6 - -
    7 GPIO 7 - -
    9 GPIO 9 - -
    10 GPIO 10 - -
    11 GPIO 11 - -
    12 GPIO 12 - -
    13 GPIO 13 - Connected to red LED next to USB jack
    A0 Analog input A0 Analog output (DAC) True analog output (0-3.3V), not PWM
    A1-A5 Analog inputs Digital I/O pins -
    SDA I2C data pin - -
    SCL I2C clock pin - -
    SCK SPI clock GPIO (recommended to keep for hardware SPI) Hardware SPI pins (high speed)
    MOSI SPI MOSI GPIO (recommended to keep for hardware SPI) Hardware SPI pins (high speed)
    MISO SPI MISO GPIO (recommended to keep for hardware SPI) Hardware SPI pins (high speed)
    RX Serial2 receive - Hardware UART
    TX Serial2 transmit - Hardware UART
    NC - - Empty pin, not connected to chip

    ~4 Button

    We connected pin ~4 to UserButton, and left soldering pads on the bottom. In special cases, you can use them same as common pins after welding, but this will affect the use of the serial port reset function. Please refer to "Tutorial-COM Reset".

    FPC Wire Order

    We designed FPC connector for connecting with Displays. Parallel part of pins of the mainboard to FPC so you can use the display conveniently. The Pin connection list is as follows.

    FPC PINS FireBeetle M0 PINS Description
    VCC 3V3 3.3V
    BLK(PWM backlight adjustment) 9 Backlight
    GND GND GND
    SCLK SCK SPI clock
    MOSI MOSI Master output, slave input
    MISO MISO Master input, slave output
    DC 7 Data/Command
    RES 6 Reset
    CS 5 TFT chip select
    SDCS 3 SD card chip select
    FCS A4 Font library
    TCS A3 Touch
    SCL SCL IIC clock
    SDA SDA IIC data
    INT 2 INT
    BUSY-TE 10 Tearproof pin
    X1 NC User-defined pin 1
    X2 NC User-defined pin 2

    NOTE: Please do not use a pin repeatedly.

    FAQ

    • What is the normal way to take pull-up pin as input?
      The normal way to take pull-up pin as input is to use:pinMode(pin, INPUT)But you can't do this again for M0! You need to use:pinMode(pin, INPUT_PULLUP)The code written in this way still has the advantage of backward compatibility with AVR. You do not need a separate version for different board types.
    • How to use USB for debugging with Serial and SerialUSB on the official Arduino M0 kernel?
      Most of the Arduino examples are debugging and providing output via Serial.print, but the USB port of the official Arduino M0 kernel is changed to SerialUSB.We have fixed this problem so you can use USB for debugging when using Serial and SerialUSB. TX1, RX1 and TX, RX are set to Serial1 and Serial2 respectively.

    Explore More Related Questions >

    Was this article helpful?

    TOP