MaESP nRF52840
Introduction
MaESP nRF52840 is a powerful, generic BLE MCU module targeted to Arduino/CircuitPython learners & developers. It is truly “breadboard compatible”, with the very detailed pins explanation, it is easy to learn& use. The nRF52840 is ready to take advantage of the considerable performance improvements for Bluetooth Low Energy (LE) with the arrival of the Bluetooth 5 specification. Of greatest importance is the support for longer range (up to x4 compared to Bluetooth 4.x) and doubling of on-air data rate, up to 2 Mbs from 1 Mbs in Bluetooth 4.x
The MaESP nRF52840 leads out all pins of Nordic nRF52840, which is programmed with CircuitPython by default, users can begin the CircuitPython development by getting them on hand. It is also compatible with the Arduino making it easy to get started if the correct bootloader is downloaded. There are also the Makerfabs MaESP ESP8266, MaESP ESP32 and so on.
Model:MPNRF52840
Features
- Bluetooth Protocols: Bluetooth 5, IEEE 802.15.4-2006, 2.4GHz transceiver/Bluetooth mesh/Thread/Zigbee
- Bluetooth Data rates: Bluetooth 5: 2 Mbps, 1 Mbps, 500 kbps, 125 kbps/IEEE 802.15.4-2006: 250 kbps/Proprietary 2.4 GHz: 2 Mbps, 1 Mbps
- Bluetooth Current: 4.9mA peak current in TX(0 dBm)/4.8mA peak current in RX/0.4uA at 3V in OFF Mode, no RAM retention/1.3uA at 3V in ON Mode, no RAM retention, wake on RTC
- Bluetooth Sensitivity: -95dBm(in 1Mbps BLE Mode)/-103dBm(in 125Kbps BLE Mode)
- Bluetooth Frequency range: 2.405GHz-2.485GHz
- CPU: ARM Cortex-M4 32-bit processor with FPU
- CPU clock frequency: 64MHz
- Module interfaces: USB 2.0 full speed(12MHz), UART, High Speed 32Mhz SPI, 2x I2C(100kbps/250kbps/400kbps), I2S, LED PWM, GPIO, ADC, SWD
- nRF52840 Supply Voltage: 1.7V~5.5V
- On-chip Internal RAM: 256 KB
- Integrated flash: 1 MB
- Integrated crystal: 32 MHz crystal
- Integrated clock crystal: 32.768KHz crystal
- Timer: 5X 32-bit timers with counter mode
- Board Supply Power: 5V, Integrated 5V-to-3.3V LDO
- OLED: 1.3inch SSD1306/SSD1315
- Recommended operating temperature range: –40 °C ~ +85 °C
- Board size: 72mm length, 32.6mm width
- Moisture sensitivity level(MSL): Level 3
Usage
Circuitpython
Circuitpython firmware
MaESP nRF52840 had supported the circuitpython programming by default, you can goto Project_1: Display to begin the CircuitPython programming as getting them on hand.
Those steps show how to download the Circuitpython firmware if you had a nrf52840 board not support Circuitpython. Steps to download firmware:
1.Download J-link (If you had already downloaded, skip this step)
2.Connect J-link to the board of NRF52840:
3.Open J-Flash and select:
4.Select nRF52840_xxAA
5.Set interface default SWD and 4000kHz.
6.Download firmware: makepython_nrf52840_uf2_bootloader_5.2.0-71_s140.hex
Open the file and select the firmware you just downloaded (Powered by MicroUSB port)
7.Follow those steps to download:
8.Press RST on the board, you can see a U disk with three files in it.
- Copy circuitpython-for-makepython-nrf52840.uf2 to the USB disk.
CircuitPython Project_Display
1.Click to download the sample file: OLED-SSD1306
2.Unzip the "OLED-SSD1306" to the CIRCUITPY disk., and copy the the the lib where in the "OLED-SSD1306" to CIRCUITPY disk's lib
3.Download and install the "Thonny", click the OLED-SSD1306>>code.py
4.Open the Thonny
- click the Tools>>options, and choose the interpreter and port as follows.
- click the "view" and choose "File", to open the File window, then click the stop button, A CircuitPython device will appear in the file window
- Choose OLED-SSD1306>>code.py, click the green button in the console, you can program in code.py to achieve other functions.
Arduino
Arduino firmware
MaESP nRF52840 is also compatible with Arduino, if you download the correct bootloader, you can start Arduino development. The previous steps 1 to 6 of downloading firmware are the same as Circuitpython. Replace the file of step 5 with this Arduino firmware: pca10056_bootloader-0.3.0_s140_6.1.1.hex
Arduino Project_1: Display animation
Plug the USB cable into the front MicroUSB port (the side with the screen)
1.Add Arduino board:
Additional Board Manager URLs: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
2.In Boards Manager, enter the keyword nrf52840 and install Adafruit nRF52
3.Nordic nRF52840DK(PCA10056) and the corresponding serial port were selected
4.Download and open the example program ssd1306_128x64_i2c:
Show:
Arduino Project_2: Bluetooth communication
We use the WS2812B RGB LED Module at: We use the WS2812B RGB LED Module at:https://www.makerfabs.com/ws2812b-rgb-led-16-bit-ring.html?search=2812
Sensor Connection
- Connect the simple sensor to NRF52840 boards as follows:
WS2812 Pins | MaESP NRF52840 Pins |
---|---|
DI | 30 |
VCC | 5V |
GND | GND |
DO | NC |
Download and open the sample program Neopixels.ino
Mobile phone download and install a Bluefruit App: Bluefruit Connect_v3.3.1_apkpure.com.apk
Open the APP and search the bluetooth device (open the bluetooth of the phone and locate)
Select Neopixels after connection
Select a color, click on the bottom right corner
The WS2812 will display the specified color
Show:
FAQ
You can list your question here or contact techsupport@makerfabs.com for technology support. Detailed descriptions of your question will be helped to solve your question.