Skip to content

Commit 9bb0ce7

Browse files
committed
#Test: First test Arduino BSP for NUCODE nRF52 series
1 parent 4a2d8dd commit 9bb0ce7

File tree

44 files changed

+2089
-153836
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2089
-153836
lines changed

README.md

Lines changed: 1 addition & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -1,142 +1 @@
1-
# Arduino Core for Adafruit Bluefruit nRF52 Boards
2-
3-
[![Build Status](https://github.com/adafruit/Adafruit_nRF52_Arduino/workflows/Build/badge.svg)](https://github.com/adafruit/Adafruit_nRF52_Arduino/actions)
4-
5-
This repository contains the Arduino BSP for Adafruit Bluefruit nRF52 series:
6-
7-
- [Adafruit CLUE nRF52840](https://www.adafruit.com/product/4500)
8-
- [Adafruit Circuit Playground Bluefruit](https://www.adafruit.com/product/4333)
9-
- [Adafruit Feather nRF52832](https://www.adafruit.com/product/3406)
10-
- [Adafruit Feather nRF52840 Express](https://www.adafruit.com/product/4062)
11-
- [Adafruit Feather nRF52840 Sense](https://www.adafruit.com/product/4516)
12-
- [Adafruit ItsyBitsy nRF52840 Express](https://www.adafruit.com/product/4481)
13-
- [Adafruit LED Glasses Driver nRF52840](https://www.adafruit.com/product/5217)
14-
- Adafruit Metro nRF52840 Express
15-
- [Raytac MDBT50Q-RX Dongle](https://www.adafruit.com/product/5199)
16-
17-
Following boards are also included but are not officially supported:
18-
19-
- [Nordic nRF52840DK PCA10056](https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK)
20-
- [Particle Xenon](https://store.particle.io/products/xenon)
21-
22-
## BSP Installation
23-
24-
There are two methods that you can use to install this BSP. We highly recommend the first option unless you wish to participate in active development of this codebase via Github.
25-
26-
### Recommended: Adafruit nRF52 BSP via the Arduino Board Manager
27-
28-
1. [Download and install the Arduino IDE](https://www.arduino.cc/en/Main/Software) (At least v1.6.12)
29-
2. Start the Arduino IDE
30-
3. Go into Preferences
31-
4. Add https://adafruit.github.io/arduino-board-index/package_adafruit_index.json as an 'Additional Board Manager URL'
32-
5. Restart the Arduino IDE
33-
6. Open the Boards Manager from the Tools -> Board menu and install 'Adafruit nRF52 by Adafruit'
34-
7. Once the BSP is installed, select 'Adafruit Feather nRF52840 Express' from the Tools -> Board menu, which will update your system config to use the right compiler and settings for the nRF52.
35-
36-
### Optional (Core Development): Adafruit nRF52 BSP via git
37-
38-
1. Install BSP via Board Manager as above to install compiler & tools.
39-
2. Delete the core folder `nrf52` installed by Board Manager in Adruino15, depending on your OS. It could be
40-
* macOS : `~/Library/Arduino15/packages/adafruit/hardware/nrf52`
41-
* Linux : `~/.arduino15/packages/adafruit/hardware/nrf52`
42-
* Windows: `%APPDATA%\Local\Arduino15\packages\adafruit\hardware\nrf52`
43-
3. `cd <SKETCHBOOK>`, where `<SKETCHBOOK>` is your Arduino Sketch folder:
44-
* macOS : `~/Documents/Arduino`
45-
* Linux : `~/Arduino`
46-
* Windows: `~/Documents/Arduino`
47-
4. Create a folder named `hardware/adafruit`, if it does not exist, and change directories to it
48-
5. Clone this repo & its submodules:
49-
50-
```
51-
git clone https://github.com/adafruit/Adafruit_nRF52_Arduino.git
52-
cd Adafruit_nRF52_Arduino
53-
git submodule update --init
54-
```
55-
56-
6. Restart the Arduino IDE
57-
7. Once the BSP is installed, select 'Adafruit Feather nRF52840 Express' from the Tools -> Board menu, which will update your system config to use the right compiler and settings for the nRF52.
58-
59-
### Adafruit's nrfutil tools
60-
61-
[adafruit-nrfutil](https://github.com/adafruit/Adafruit_nRF52_nrfutil) (derived from Nordic [pc-nrfutil](https://github.com/NordicSemiconductor/pc-nrfutil)) is needed to upload sketch via serial port.
62-
63-
- For Windows and macOS, pre-built executable binaries are included in the BSP at `tools/adafruit-nrfutil/`. It should work out of the box.
64-
- Linux user need to run follow command to install it from PyPi
65-
66-
```
67-
$ pip3 install adafruit-nrfutil --user
68-
```
69-
70-
### Drivers
71-
72-
- [SiLabs CP2104 driver](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads) is required for USB to Serial when using with Feather nRF52832
73-
74-
## Bootloader
75-
76-
Bootloader can be updated via UF2 file or DFU if already existed. Or flash on new blank chip using following guide
77-
78-
### Update Bootloader with UF2 ( nRF52840 only and require 0.4.0+ )
79-
80-
This only works with nRF52840 and require existing bootloader version is at least 0.4.0:
81-
82-
- Quickly doulbe tap reset button to put your board in to bootloader mode. A mass storage device i.e `FTHR840BOOT` will appear
83-
- Download latest UF2 for your board i.e `update-{BOARD}-{version}_nosd.uf2` from [Adafruit_nRF52_Bootloader release page](https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases)
84-
- Drap and drop the UF2 file into `FTHR840BOOT` drive to perform update then wait until the board reset.x
85-
86-
### Update Bootloader with DFU
87-
88-
To upgrade to the latest Bootloader + Softdevice using the serial port within Arduino IDE.
89-
90-
- Select `Tools > Board > Adafruit Feather nRF52840 Express`
91-
- Select `Tools > Programmer > Bootloader DFU for Bluefruit nRF52`
92-
- Select `Tools > Burn Bootloader`
93-
- **WAIT** until the process complete ~30 seconds
94-
95-
**Note: close the Serial Monitor before you click "Burn Bootloader". Afterwards, you shouldn't close the Arduino IDE, unplug the Feather, launch Serial Monitor etc ... to abort the process. There is a high chance it will brick your device! Do this with care and caution.**
96-
97-
### Burning new Bootloader
98-
99-
To burn the bootloader from within the Arduino IDE, you will need the following tools installed
100-
on your system and available in the system path:
101-
102-
- Segger [JLink Software and Documentation Pack](https://www.segger.com/downloads/jlink)
103-
- Nordic [nRF5x Command Line Tools](https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Command-Line-Tools)
104-
105-
Check to make sure you can run `nrfjprog` from your terminal/command prompt
106-
107-
**macOS Note** At present, you will need to create a symlink in `/usr/local/bin` to the
108-
`nrfjprog` tool wherever you have added it. You can run the following command, for example:
109-
110-
```
111-
$ ln -s $HOME/prog/nordic/nrfjprog/nrfjprog /usr/local/bin/nrfjprog
112-
```
113-
114-
Once the tools above have been installed and added to your system path, from the Arduino IDE:
115-
116-
- Select `Tools > Board > Adafruit Feather nRF52840 Express`
117-
- Select `Tools > Programmer > J-Link for Feather52`
118-
- Select `Tools > Burn Bootloader` with the board and J-Link connected
119-
120-
If you wish to modify bootloader to your own need, check out its repo here [Adafruit_nRF52_Bootloader](https://github.com/adafruit/Adafruit_nRF52_Bootloader)
121-
122-
#### Manually Burning the Bootloader via nrfjprog
123-
124-
The bootloader hex file can be found at `bin/bootloader` run the command as follows:
125-
126-
```
127-
$ nrfjprog -e -f nrf52
128-
$ nrfjprog --program feather_nrf52832_bootloader.hex -f nrf52
129-
$ nrfjprog --reset -f nrf52
130-
```
131-
132-
## Credits
133-
134-
This core is based on [Arduino-nRF5](https://github.com/sandeepmistry/arduino-nRF5) by Sandeep Mistry,
135-
which in turn is based on the [Arduino SAMD Core](https://github.com/arduino/ArduinoCore-samd).
136-
137-
The following libraries are used:
138-
139-
- [FreeRTOS](https://www.freertos.org/) as operating system
140-
- [LittleFS](https://github.com/ARMmbed/littlefs) for internal file system
141-
- [nrfx](https://github.com/NordicSemiconductor/nrfx) for peripherals driver
142-
- [TinyUSB](https://github.com/hathach/tinyusb) as usb stack
1+
# Arduino Core for NUCODE nRF52 Boards

0 commit comments

Comments
 (0)