There are so many development boards available in the market, it can be tricky to find a board with a lot of versatility and power.
Additionally, the target use cases involving ESP32 generally require more I/O for data transmission, and RP2040 projects lack support for WiFi and Bluetooth connectivity.
This board from UNIT Electronics attempts to solve this problem with the DualMCU. Hence, this development board combines the features of two 32-bit microprocessors– the ESP-WROOM-32, and the Raspberry Pi RP2040.
The ESP-WROOM-32 module has two Tensilica Xtensa LX7 with a clock speed of up to 240MHz and SRAM of 520kB, WiFi, Bluetooth/Bluetooth Low Energy (BLE) radio.
Meanwhile, the RP2040 constitutes two Arm cortex-M0+ with a clock speed of 133MHz and 264kB of SRAM, along with 16MB of external FLASH memory. It also supports 30 GPIO pins, 4 ADC channels, 16 PWM channels, and useful PIOs to increase the development board’s applications further.
Some of the Features:
Combines a Raspberry Pi RP2040 microcontroller and an Espressif ESP32 chip on a compact board.
Offers Bluetooth and Wi-Fi connectivity.
Features four programmable cores with wireless functions and advanced capabilities.
The RP2040 microcontroller has a clock speed of 133MHz, 264kB of SRAM, support for up to 16MB of external flash memory, 30 GPIO pins, 4 ADC channels, and 16 PWM channels, amongst many other features.
The ESP32 chip has a clock speed of up to 240MHz, integrated Wi-Fi and Bluetooth connectivity, and support for multiple wireless protocols, amongst many other features.
With its Dual CORE architecture, this development board comes with robust capabilities for IoT projects in addition to its advanced low-power features and WiFi/Bluetooth connectivity. But, the board has four programmable COREs–two Arm cortex-M0+ and two LX7, with wireless features and Arduino IDE and MicroPython support for programming. This means that one can program each core using MicroPython, CircuitPython, as well as with Arduino Programming Language.
The DualMCU has a large range of potential applications like the Internet of Things(IoT), prototype development, and robotics. Also, the high processing capacity from RP2040, along with its flexible programming support, enables the board to be used in extensive applications involving motor control and machine learning.
The two microcontrollers operate largely independently. For the most part, the general-purpose input/output (GPIO) pins for each microcontroller are on opposite sides of the board — this allows them to be treated as two boards in one, running independently. You can link the microcontrollers together — via UART, SPI, I2C, or in any other way — which then allows for cooperative use of the resources.
Pinout
Other Features
External Memory
The RP2040 (U1) has access to an external 2 MB of flash memory (U3) via a QSPI interface. All the application code and data must be stored in an external flash chip. Six dedicated pins are used to communicate with a separate QSPI flash, using execute-in-place (XIP) technology to run code directly from flash without needing to copy it to RAM first.
Cryptography IC
Optionally, the ATECC608A can be incorporated and used for authentication tasks, which can be accessed by both MCUs through selection pads for I2C communication. The ATECC608A Cryptographic IC (U7) provides secure boot capabilities alongside SHA and AES-128 encryption/decryption support for security in Smart Home and Industrial IoT (IIoT) applications.
RGB LED
The common anode RGB LED (L5) is also controlled by the ESP32 module such that the LED is on when the digital state is LOW and off when the digital state is HIGH.
WS2812B LED
The WS2812B (L4) led is an intelligent control RGB NeoPixel for full color indication integrated in a 3535 component package and is connected to RP2040 at pins GPIO16 for intelligent digital port (DI) and GPIO17 for power enable.
MicroSD Card Socket
The DualMCU interfaces a microSD card with ESP32 using the microSD card socket connected via an SPI interface. Using a microSD card becomes very handy for applications where we need to store files that are larger than the size of SPIFF (flash file system) of ESP32.
Development
The DualMCU development board is compatible with the Micropython Integrated Development Environment (IDE), such as Thonny, and also with the Arduino development environment. This means that you can use these development environments to program the DualMCU using both the Micropython or Circuitpython programming languages, as well as the Arduino programming language.
The support for the Micropython IDE includes an interactive console (REPL) for executing commands immediately in Micropython and Circuitpython. This allows you to easily and quickly test and debug your code.
Additionally, support for the Arduino development environment allows you to use the tools and extensive community available through Arduino to develop projects with the DualMCU development board. This can be especially useful if you are already familiar with Arduino and want to take advantage of its ease of use and wealth of resources.
Arduino Package RP2040 Index – JSON | https://github.com/UNIT-Electronics/Uelectronics-RP2040-Arduino-Package |
---|---|
Arduino Package ESP32 Index – JSON | https://github.com/UNIT-Electronics/Uelectronics-ESP32-Arduino-Package |
Links
https://www.tindie.com/products/unitelectronics/unit-dualmcu-esp32-rp2040-development-board/
https://github.com/UNIT-Electronics/DualMCU