Giter VIP home page Giter VIP logo

everything-nrf52840-usb-dongles's Introduction

Everything About the nRF52840 USB Dongles

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

https://community.platformio.org/t/like-if-you-have-an-nrf52840-nordic-usb-dongle-arduino-nano-33-ble-adafruit-sparkfun-april-makerdairy-fanstel-particle-or-any-other/11112/9

and here

https://community.platformio.org/t/same-bootloader-same-softdevice-different-board-different-pins/11411/2

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

Big Picture

I want to make the best high school robotics program.

  1. 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.

  2. A Machine Learning Javascript Tensorflow.js Program.

  3. A cryptocurrency internet of things program using IOTA and a microcontroller. My hackster here. Waiting for IOTA software to mature. Githubs: iota-community

  4. Now I need to update my high school course to include BLE and Openthread, but which boards to purchase?

Basic Concept

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.

The Problem

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.

My (our) Solution

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

IDE Working Tutorials Chart

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.

Present thinking (New Jan 2020):

  1. Use the particle debugger to drag and drop either the Nordic bootloader or Arduino Bootloader onto any of the nRF52840 boards.
  2. Create pins_arduino.h and variant.cpp files for each board.
  3. Brick several boards while I get the pins wrong.
  4. Find even correct pins don't make the programs work.
  5. Decide to just use the Arduino nano33IoT and Nano33BLESense
  6. Start updating my robotics course to use whichever board(s) I prefer.

https://github.com/hpssjellis/particle.io-photon-high-school-robotics

  1. Purchase class sets of the Arduino boards and start the new Robotics course in Sept 2020.

Present thinking (Old Dec 2019):

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.

  1. 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.
  2. 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.
  3. 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.
  4. Any new board coming out with the nRF52840 and Wifi?

.

Important links

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.)

Open in Gitpod

For random links used while making this site random-links.md

.

.

The different Boards

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)

Nordic

$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.

Arduino

$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)

Adafruit

$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

MakerDiary

$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

Particle

$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

Fanstel

$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:

Sparkfun

$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

April USB Dongle

$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:

Any others...

everything-nrf52840-usb-dongles's People

Contributors

hpssjellis avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.