Anything I can find about the various nrf52840 (either with USB cables or direct plugin dongles) by Nordic, Arduino, Adafruit, Sparkfun, MakerDiary and others
Update: Jan 22, 2020
Making some headway here
and here
Looks like the Nano 33 BLE defines pins from P0_00 right up to P1_15 directly from the nRF52840 SOC, which should make using the Nano33BLE bootloarder on other boards much easier to work with.
A summary from the above link is here:
So without assigning any brand new pins just changing the pre-defined Arduino Nano 33 BLE pin assignments. This is my summary so far.
Once again, if anyone knows how to define pins from scratch, I could probably get a few more pins working on the other boards.
Arduino Name | Arduino Pin # | Port | Particle Xenon/Argon | Nordic |
---|---|---|---|---|
TX | 0 | P1.03 | ||
RX | 1 | P1.10 | ||
D2 | 2 | P1.11 | D6 | |
D3 | 3 | P1.12 | D7 User LED (blue) | |
D4 | 4 | P1.15 | SCK(D14) | Pin1.15 |
D5 | 5 | P1.13 | MOSI(D12) | Pin1.13 |
D6 | 6 | P1.14 | MISO(D11) | |
D7 | 7 | P0.09 | Causes RESET | |
D8 | 8 | P0.10 | Causes RESET | |
D9 | 9 | P0.27 | SCL/D1 | |
D10 | 10 | P1.02 | D3 | |
D11 | 11 | P1.01 | D2 | |
D12 | 12 | P1.08 | D4 | |
D13 | 13 | P0.13 | RED LED | Pin0.13 |
A0 | 14 | P0.04 | A1(D18) | |
A1 | 15 | P0.05 | ||
A2 | 16 | P0.30 | A4(D15) (User LED orange) | |
A3 | 17 | P0.29 | A3(D16) | Pin0.29 |
A4 | 18 | P0.31 | A5(D14) | |
A5 | 19 | P0.02 | Pin0.02 | |
A6 | 20 | P0.28 | A2(D17) | |
A7 | 21 | P0.03 | A0(D19) | |
22 | LED Red | Pin0.24 | ||
23 | LED Green | |||
24 | LED Blue | LED1 | ||
25 | LED Power | LED2 | ||
26 | PIN_INT_APDS | Causes RESET | ||
27 | PIN_PDM_PWR | Pin0.17 | ||
28 | PIN_PDM_CLK | SDA/D0 | ||
29 | PIN_PDM_DIN | Causes RESET | ||
30 | PIN_WIRE_SDA1 | GREEN LED | ||
31 | PIN_WIRE_SCL1 | BLE LED | ||
32 | PIN_ENABLE_SENSORS_3V3 | |||
33 | PIN_ENABLE_I2C_PULLUP | |||
34 | RESET | |||
35 | RESET | Causes RESET | ||
36 | RESET | Causes RESET | ||
37 | ||||
38 | ||||
39 | ||||
40 | ||||
41 | ||||
42 | ||||
43 | ||||
44 | ||||
45 | ||||
46 | ||||
47 | ||||
Created Dec 7th, 2019
I want to make the best high school robotics program.
-
I have already finished and student tested for 3 years a wifi based Robotics program Github at: particle.io-photon-high-school-robotics With Sensors, Actuators, web control, SPI, I2C, uArt and websockets.
-
A cryptocurrency internet of things program using IOTA and a microcontroller. My hackster here. Waiting for IOTA software to mature. Githubs: iota-community
-
Now I need to update my high school course to include BLE and Openthread, but which boards to purchase?
The Nordic nRF52840 SOC is getting a lot of publicity for it's great BLE (Bluetooth Low Energy) abilities and has been embedded in many boards from Nordic, Particle, Fanstel, Adafruit, Sparkfun, MakerDiary and Arduino.
All the above companies that use the nRF52840 SOC embedded boards have their own technique for programming the boards, making it very difficult to pick and choose the product combination that works well in the classroom. Luckily, Arduino has just entered the race with their new Nano 33 BLE. That brings a huge community of capable hobbyists and professional engineers to the issue.
I would like to see how many of these boards we can get working on both the Nordic and Arduino platforms. Then I can choose which boards to include in my new version of my high school robotics course. Any help would be appreciated
updated Dec 8th 2019. Please send an issue or PR if you can replace any of the "not sure" with a link. Thanks in Advance.
Nordic nrf52840 USB Dongle | Arduino Nano 33 BLE | Adafruit Feather nrf52840 | Particle Xenon | Sparkfun Pro nRF52840 Mini | |
---|---|---|---|---|---|
Arduino IDE | not sure | yes | yes | yes, needs j-link | yes, few adjustements |
Nordic nrf-connect for desktop | yes | not sure | not sure | not sure | not sure |
Run Nordic-SDK examples somehow | not sure | yes, issues, best to have a j-link | not sure | not sure | advanced-development-with-the-nrf5-sdk |
Run Arduino Examples using Nordic nrf-connect for desktop | not sure | not sure | not sure | not sure | not sure |
www.platformio.org | not sure but has potential | not sure but has potential | Yes have not tested | Yes have not tested | not sure but has potential |
my Gitpod of Openthread | yes download to nrf-connect for desktop | not sure but has potential | not sure but has potential | not sure | not sure but has potential |
Note: Easiest approach would be to get the Nordic dongle working on the Arduino platform, but I have had some issues doing the opposite with the Nano 33 BLE getting it to load Nordic SDK examples. It does work but it is a bit flaky and I am not yet sure of all pin assignments. (I bricked my Nano 33 BLE Sense and need a j-link to fix it). Best to see if I can get some of these boards working fully on both platforms.
- Use the particle debugger to drag and drop either the Nordic bootloader or Arduino Bootloader onto any of the nRF52840 boards.
- Create pins_arduino.h and variant.cpp files for each board.
- Brick several boards while I get the pins wrong.
- Find even correct pins don't make the programs work.
- Decide to just use the Arduino nano33IoT and Nano33BLESense
- Start updating my robotics course to use whichever board(s) I prefer.
https://github.com/hpssjellis/particle.io-photon-high-school-robotics
- Purchase class sets of the Arduino boards and start the new Robotics course in Sept 2020.
I think I should use the Nordic board for basic BLE, Arduino Nano 33 BLE Sense board for most sensory work. Still wondering how to connect Wifi to these boards for the occassional diagnostics when needed.
- Use the $18 USD Arduino Nano 33 IOT which has wifi but only bluetooth 4.2 but that should be compatible, except for long range BLE. Something I read is that both Radios can not operate at the same time, not sure if that is going to be a problem.
- Use $20.00 USD ESP8266 stacking Adafruit feather for Wifi support on whichever board I finally use or something with the $22.00 USD ESP32 also with stacking feather form factor.
- Use the Adafruit $27 USD Particle Argon, which has both the nRF52840 and ESP32 modules but might be very difficult to program without the Particle pay per use Cloud. However I just found the Adafruit Debugger and since it is supported by Adafruit it might allow better access to this board. Adafruit Steps here. LIke the segger edu this debugger is just a type of j-link with the correct connector for the particle boards.
- Any new board coming out with the nRF52840 and Wifi?
.
For pinout comparison chart pinout-comparison-chart.md
My Openthread and Nordic SDK Online Browser compatible Docker. (Yes it is amazing). My Gitpod Github Openthread This takes a very long time to build from scratch. First try the snapshot below, it takes less time to load. This snapshot was generated on Dec 4th, 2019 updated with the Nordic sdk. (Note: These are very confusing platforms if you are not use to either OpenThread or the Nordic SDK's. I will eventually simplify these for classroom use.)
For random links used while making this site random-links.md
.
.
Note: The dongle can plug directly into a computer USB port. They can also be powered by Cell phone chargers. The boards that need a USB cable are not necessarily better or worse they just need the cable. Both types can also be powered by an outside power source with varing levels of acceptable voltages. (Worth looking into, I know the Nano 33 BLE has some interesting features here, I think it can be powered by a 12 V battery. Better check)
$10.00 USD nRF52840 USB Dongle
The best, but most confusing set of examples are at the Nordic NRF5 SDK.
Community: Nordic Dev Zone These guys try really hard to answer your questions.
$19.00 USD Nano 33 BLE (needs USB cable)
$31.50 USD Nano 33 BLE Sense with headers The headers actually cover a few of the markings but worth it to get going fast. (needs USB cable)
This product is very new and has some issues as they are trying different programming structures than the Arduino is used to. The enormous open source Adruino community will get this thing working really well soon. The Sense has a huge number of sensers which will make creating much easier.
Community: Arduino BLE Forum or the Arduino BLE Sense Forum
Lots of users here with great suggestions. (Make sure you google questions first or get your hand slapped. Their search auto injects site:https://forum.arduino.cc
into a google search)
$25.00 USD Feather nRF52840 (needs USB cable) Has the interesting ability to use CircuitPython, also has a github dedicated to fixing broken bootloaders to get some of these products onto the Arduino platform Adafruit_DAP
Community: Adafruit Forum
$13.00 USD nRF52840 MDK USB Dongle (PCBA)
My First nRF52840 that I really liked, closest to the Nordic product but I am still having a few issues getting this working on lots of examples. This is probably the easiest Dongle to get working with the Nordic SDK.
Community: Community makerdiary
$15 USD Particle.io Xenon. Basically a nRF52840 (USB cable)
$27 USD Particle Argon As above but also with Wifi out of the box
$53 USD Particle Boron LTE North America As above but also with Celluar.
The Particle product is probably the most developed and easiest to use at the moment, however, in my opinion, it has the least open exposure to the SOC abilities. When this product is fully developed it will be very easy to use if you are willing to pay their proposed monthly fees!
Community: Particle Community
$18 USD USB840F, Open Source BLE 5, Thread, Zigbee USB Dongle. This USB dongle has no headers, not even sure if it actually has pins, comes in a case, and is fully secured. You need the factory key to work with it. Great for bussiness, bit too much of a pain for my level of hobby/education work.
Community:
$30.00 USD SparkFun Pro nRF52840 Mini - Bluetooth Development Board. (needs USB cable). I do not have one of these but looking at the specs looks like it can act as a usb drive for which you drop programs onto the drive and then the program runs. This might be a very useful method for a school stituation.
Community: Sparkfun community
$12.00 USD April USB Dongle 52840. No idea what this is, just found it, seems like only one is left. Kind of cute. The Page says "This USB dongle is very similar with Nordic’s USB dongle PCA10059. But it has less pinouts and button." Comes with a huge antenna.
Community: