The RedBear Duo is a thumb-size development board designed to simplify the process of building Internet of Things (IoT) products. The Duo is software compatible with Broadcom WICED SDK and provides everything you need—Wi-Fi, BLE and a powerful Cloud backend, all in a compact form factor that makes it ideal for your first prototype, a finished product, and everything in between.
The Duo contains both Wi-Fi and BLE capabilities. This means your project can communicate locally with Bluetooth enabled devices and can also connect to your local Wi-Fi network to interact with anything else on the web. The Duo is built around the Broadcom BCM43438, a Wi-Fi 802.11b/g/n plus Bluetooth 4.1 (Dual Mode) combined chipset. They share the same 2.4GHz antenna and can run at the same time. This gives you the flexibility to utilize the most suitable wireless technology(s) for your project.
With the RedBear RBLink you can easily attach modules from the Seeed’s Grove System to your project. No need to pull out your soldering iron--just attach your sensors and actuators with jumper wires to the RBLink and you’re ready to go. Looking to attach your own sensor or peripheral? The Duo is breadboard and solder friendly, so you’re never limited in what you can connect to the web.
The Duo supports Particle's Cloud and WebIDE and it works as same as the Photon board for the WiFi part. Moreover, the Duo has BLE, more flash memory space and you can make use of them on your innovative projects.
- WiFi + BLE
- Development – Arduino Sketches, Espruino - JavaScript, C/C++
- Cloud – Particle Cloud
- Support WICED WiFi SDK
- Open-source – BTstack, FreeRTOS, LwIP and others
- Industrial Automation
- Building Automation
- Smart Home Appliances
- Smart Toys
- IoT Enabled Sensors
- WiFi/BLE Gateway
- Beacon Management
- STMicroelectronics STM32F205 ARM Cortex-M3 @ 120 MHz, 128 KB SRAM, 1 MB Flash
- AMPAK AP6212A (Broadcom BCM43438 chip), Wi-Fi 802.11n (2.4 GHz only) + Bluetooth 4.1 (Dual Mode) combo module (With an upgrade path to Bluetooth 4.2)
- On-board 16 Mbit (2 MB) SPI Flash
- Signal chip antenna (option to connect ext. antenna)
- 18 I/O pins, 1 user LED
- RGB status LED
- RESET and SETUP buttons
- USB, 2 UART, JTAG, 2 SPI, I2C
- Single-sided PCBA for easy mounting on other PCB
- Operating voltage is 3.3v
- 20.5 mm x 39 mm
- Schematic
- Running ST-LINK/V2
- USB-based JTAG debugger/programmer
- Two JTAG activity LEDs
- Apple MFi authentication coprocessor support (**MFi license is required)
- USB MSD interface – enabling programming the Duo by drag and drop of firmware file
- USB CDC Virtual Serial Port
- STM32 ST-LINK Utility software compatible
- 8x Seeed Grove System compatible connectors
- 53.5mm x 53.5mm
- Schematic
The Duo is so flexible since it supports different development platforms. Now, you should define yourself here.
If you are interested in using Particle's WebIDE for online development or Arduino for offline development, you can continue reading this document.
For professional developers (good at C language) who want to develop projects (e.g. HomeKit) using Broadcom's WICED SDK, the following sections of this document are not useful for you and you can refer to our WICED-SDK repository directly.
For Web developers who also want to do IoT projects with the Duo, you can use our JavaScript interpreter (based on Espruino open source project) for development.
The Duo's memory allocation is different from the Photon. The following diagram shows that the Duo has an external flash while the Photon does not. The external flash stores the WiFi firmware to be loaded to the BCM43438 chip during boot-up as well as other recovery firmware. Thus, this design allows the entire the internal flash memory space of 256KB to be available for the user sketch, compared to the Photon with only 128KB.
Bootloader and system firmware are stored in the internal flash memory, the source code for these is on RedBear github repository - [2] Firmware.
The Duo MCU boots from the internal memory address 0x08000000, where the bootloader is located. The bootloader keeps track of the firmware and provides functions to flash firmware via the USB port (e.g. DFU Mode). If it has nothing to do during the boot time, it will pass the control to system part 1.
Device Configuration Table (DCT), is a non-volatile flash storage space for storing board configuration such as WiFi credentials (SSID, PIN, etc.).
EEPROM 1 & 2 is to use flash memory to simulate EEPROM for user storage.
The Duo firmware is modular in structure, as dynamic libraries (dynalib) and are stored in the system partitions of the internal flash memory.
System Part 1 is for storing communication/security dynalib that used for connecting the Duo to the Particle cloud. Originally, for the Photon, the WiFi firmware is stored here but for the Duo, it is not.
Basically, there is no code to be run in partition 1 and it just passes the control to partition 2.
System Part 2 performs a lot of tasks, firstly, it checks the WiFi firmware stored in the external flash and loads it into the AP6216A module (BCM43438 chip). Then it will start BLE and WiFi for doing WiFi provisioning if it has not connected before, otherwise, it will try to associate to a known Wireless Access Point (e.g. home router). Finally, it will connect to the Particle cloud as well.
The partition 2 firmware has a copy of bootloader, if it found the bootloader version is lower than the copy, then it will update the bootloader automatically.
When everything is ready, it will pass the control to the user partition (your own firmware), setup()
and loop()
.
The bootloader makes use of the onboard RGB LED as a status indicator. When you are pressing and holding the SETUP button and then pressing the reset button (still holding the SETUP button), the Duo will enter to the bootloader for an user action, releasing the SETUP button when the LED is in one of the following state:
- Yellow Flashing : DFU Mode
- Green Flashing : Factory Reset Mode (not clear the WiFi credentials in DCT)
- White Flashing : Factory Reset Mode (copy factory reset image from the external flash to the user partition and clear the WiFi credentials in DCT).
If you need to use the DFU to deploy your user-part firmware, read firmware page for details.
When the Duo is running, at any time, you can press and hold the SETUP button for 3 seconds to enter the 'Listening Mode', the RGB in flashing blue for doing WiFi provisioning. For details, read getting started guide.
The onboard USB provides two functions, DFU and CDC. DFU is for Device Firmware Upgrade, CDC is for Serial communication to PC so that you can print out debug messages, e.g. Serial.println("Test")
.
- Getting Started Guide
- Windows Driver Installation Guide
- DFU Installation Guide
- Firmware Management Guide
- Provisioning Guide
- Trouble Shooting
- Arduino
- WICED SDK
- BTstack - BLE API and other documents
-
Add more BLE examples to the Particle WebIDE and Arduino IDE.
The BLE examples are not completed yet, for WebIDE, we have not yet added any examples for BLE, if you want to try BLE using WebIDE, please browse this, copy & paste the code to the WebIDE.
-
Reduce power consumption for BLE
We will work with Broadcom to reduce the power consumption for the Duo BLE.
- [1] Product Page - RedBear Duo
- [2] Duo Firmware - RedBear Duo firmware source code
- [3] RedBear Duo Forum
- [4] Particle Forum
- [5] BTstack - BTstack GitHub Repository
- [6] BlueKitchen-GmbH - BTstack Official Website
- [7] Program with Arduino IDE
- [8] Program with Broadcom WICED SDK
- [9] Espruino - JavaScript Interpreter source code
Copyright (c) 2016 Red Bear
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.