nRF5 action!
-
@scalz said in Minimalist SAMD21 TQFP32 Pro Mini:
These antennas are not for long range, so the adafruit board. How to miniaturize antennas without loosing performance..
Good point. Looks as though the aliexpress module I referenced above, though, does have some kind of antenna connector on it:
So, maybe plugging something (?) into that would give better range?Also, I just now read that these 832 modules can communicate with the older NRF24L01's. Is that true? That would be nice.
-
@NeverDie
yes these one looks better. looks like you can also tune ant (there are some footprints).
note the "meandered" antenna. it reduces antenna size, needs some tuning, a bit less efficient vs others type. but maybe better than chip antenna i think. and you have the ipex in case, cool!
Not so cheap (not fcc) but interesting i agree.Yes, indeed! it's compatible with nrf24 thx to @d00616
You should try, i'm using my nrf52 board (aeos) with my esp32 gw (halo)
And the cherry, with VS Micro, and multiple serial monitors in same ide
-
@scalz said in Minimalist SAMD21 TQFP32 Pro Mini:
And the cherry, with VS Micro, and multiple serial monitors in same ide
Guys I have been developing with VS Code (free) for Arduino type coding. been very happy with it. It does not have multi serial monitors (not that I know of).
Anyone else using VS Code?
-
@Terrence said in Minimalist SAMD21 TQFP32 Pro Mini:
@scalz said in Minimalist SAMD21 TQFP32 Pro Mini:
And the cherry, with VS Micro, and multiple serial monitors in same ide
Guys I have been developing with VS Code (free) for Arduino type coding. been very happy with it. It does not have multi serial monitors (not that I know of).
Anyone else using VS Code?What are its advantages that are the reason for your preferring it?
-
@NeverDie I prefer it over the Arduino platform, not VS Micro.
It is a super lightweight editor, but really powerful with added extensions.
In Windows Explorer, right click a folder and click on "Open with Code' and the folder and all code files are there.I have been using Visual Studio for work for a decade. It is a very heavy capable environment, but too heavy for simple ino projects.
I used VS Micro 3 years ago or so, but I can't compare the two.
https://code.visualstudio.com/
Here is a snip showing the Arduino extension.
-
I received the adafruit nrf52 feathers today, and I'm really quite shocked: adafruit doesn't supply any demo code (at least none that I can find) which would allow two nrf52 feathers to talk to one another. In fact, most of the demo code has nothing to do with bluetooth at all! This is very disappointing.
-
@NeverDie I guess they just rely on mySensors for the communication
-
@Yveaux said in Minimalist SAMD21 TQFP32 Pro Mini:
@NeverDie I guess they just rely on mySensors for the communication
Wait, does mysensors demo code already work using the nrf52832?
If not, does anyone know of some demo code somewhere that demos two 832's communicating (like there's plenty of demo code already for the NRF24L01)? I really don't want to figure this out from scratch using just the datasheet. Been there and done that already with the RFM69, and I don't want to have to do it again with the NRF52832. If there is not already a good "load and go" demo somewhere, then I'm going to return these modules to Amazon.
-
@NeverDie
Adafruit only provides examples for Bluetooth.regarding mysensors, i have answered here https://forum.mysensors.org/post/70297
-
sidenote i forgot to say:
your adafruit board should have a bootloader inside, so you can burn a sketch from arduino just by using ftdi (and allows some other features like ota etc). This is why i've also added dtr signal on my aeos in case.
But I've not tried this configuration yet, and if i'm not wrong adafruit added freertos to their core files.
So, i have no idea if burning a mysensors sketch by using adafruit boards in Arduino (so their core) will work out of the box.As, for the moment, i burn my mcus by using swd programmer (like for the atsam), and use the sandeep core files, in Arduino board manager, with custom board definition regarding my boards as i have not this adafruit board,I made mine before, else i would have ordered one :).
I hope my explanations are clear, don't hesitate in case
-
@scalz
I've been able to run Blink on the Adafruit NRF52 by compiling the Adafruit example Blink program within the Arduino IDE and then uploading it to the Adafruit NRF52 over the USB cable using the Arduino IDE, if that's what you mean. That part seems to work as intended, and it behaves just like any other Arduino in that respect. It's just that I had wrongly imagined that NRF52's would be communicating with each other using Bluetooth, and instead it sounds like (?) they'll actually be using a different, non-Bluetooth mode, for that--which is fine by me.If I understand you correctly, I should be able to just upload the mysensors demo code (one for a gateway and one for a node) to my two Adafruit NRF52's, and that's all it should take for them to then be communicating in a normal mysensors way. Is that right? If so, that would be very welcome news indeed.
-
@NeverDie
yes, you just need to do this
-
@scalz
Are you sure? I just tried compiling the SerialGateway example inside the Arduino IDE with the board set to "Adafruit Bluefruit NRF52 Feather, " and it won't even compile. Looking at mysensors.h file, I think I can see why:// Enable radio "feature" if one of the radio types was enabled #if defined(MY_RADIO_NRF24) || defined(MY_RADIO_RFM69) || defined(MY_RADIO_RFM95) || defined(MY_RS485) #define MY_SENSOR_NETWORK #endif // HARDWARE #if defined(ARDUINO_ARCH_ESP8266) #include "core/MyHwESP8266.cpp" #elif defined(ARDUINO_ARCH_AVR) #include "drivers/AVR/DigitalWriteFast/digitalWriteFast.h" #include "core/MyHwAVR.cpp" #elif defined(ARDUINO_ARCH_SAMD) #include "core/MyHwSAMD.cpp" #elif defined(__linux__) #include "core/MyHwLinuxGeneric.cpp" #endif
The library seems to have no recognition capability for either the NRF52 nor for any board based on it.
What do I need to modify to get it to work? Anyone know?
-
@NeverDie what MySensors library are you using? Nrf52 is only supported in development.
-
Yveaux is right, you need to use development branch of Mysensors, and just need to enable this define:
#define MY_RADIO_NRF5_ESBYou can also get more details here:
https://www.openhardware.io/view/376/MySensors-NRF5-Platform
-
I had been using the publicly released Mysensors library, but after your suggestions I switched over to the developers release.
So, now a new obstacle: if I compile using the board set as an Adafruit Bluefruit nRF52 Feather, I get the following fatal compile error:
Build options changed, rebuilding all In file included from C:\Users\CoolerMaster\Documents\Arduino\mysensors sketches\GatewaySerial_v002\GatewaySerial_v002.ino:85:0: C:\Users\CoolerMaster\Documents\Arduino\libraries\MySensors/MySensors.h:352:2: error: #error No support for nRF5 radio on this platform #error No support for nRF5 radio on this platform ^ exit status 1 Error compiling for board Adafruit Bluefruit nRF52 Feather.
However, if I switch over to the "Generic nRF52" board from Nordic Semiconductor, it compiles just fine, but it hangs while uploading.
-
@NeverDie
yep that's what i was talking, regarding adafruit&core in board manager.
That would be easier to just use sandeep core only (as adafruit core is an extension using bootloader), and then use one of the boards available for nrf52.You could try that :
- select NRF52 generic or DK in board manager (so this uses sandeep core)
- Select Softdevice : no
- Programmer : J-link
- Connect SWD programmer
- upload sketch
this should work, you'll just loose the adafruit bootloader feature i think.
-
I tried using the ST-LINK V2 programmer that I got from Amazon, but I think maybe (?) it's junk: almost nothing seems to recognize it after I've plugged it in. I've installed the USB driver for it from the ST website, and I've tried connecting to it using the ST-LINK utility program. It did recognize it long enough to identify its firmware and to actually (or so it said) upgrade its firmware to the current version. However, even that program can't seem to "connect" with it for anything else other than upgrading the firmware. Arduino doesn't see it at all.
So, maybe I need a better programmer? Is the DK for the 52832 from Nordic the one to get, or should I get something else (preferably something which might also work with the 52840 when that becomes available)?
An actual J-Link from Segger is priced at >$400. Are the cheap Aliexpress knock-offs just as good?
https://www.aliexpress.com/item/V9-the-LINK-J-LINK-ARM-emulator-support-A9A8-V9-4-high-speed-download-speed/32806221560.html?spm=2114.01010208.3.1.JlcJUT&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10065_10151_10068_10130_10084_10083_10119_10080_10082_10081_10110_10178_10136_10137_519_10111_10060_10112_10113_10155_10114_437_10154_10056_10055_10054_10182_10059_303_100031_10099_10078_10079_10103_10073_10102_10120_10052_10053_10142_10107_142_10050_10051,searchweb201603_49,ppcSwitch_4&btsid=55ccaf9e-4381-4041-87de-32344016ca8e&algo_expid=281f8f71-cf63-4236-b1e7-4fbf7703f3dc-0&algo_pvid=281f8f71-cf63-4236-b1e7-4fbf7703f3dc
-
So, I went ahead and ordered this:
https://www.aliexpress.com/store/product/1PC-JLI-V9-J-LINK-ARM-emulator-support-A9A8-V9-3-high-speed-download/1710342_32790881245.html?spm=2114.12010615.0.0.5qtBo0since it has e-packet delivery. Hopefully it's not a complete waste of money. Unfortunately, I guess there's not much more I can do until it arrives....
Anything else I should get to go with it? Like maybe:
https://www.amazon.com/ARM-JTAG-20-10-ARM-Micro-JTAG-adapter/dp/B009UEO9ZY/ref=pd_sim_21_1?_encoding=UTF8&pd_rd_i=B009UEO9ZY&pd_rd_r=C8G4T1QSJT3YVC6CQADF&pd_rd_w=CsX9i&pd_rd_wg=OIb04&psc=1&refRID=C8G4T1QSJT3YVC6CQADF
and/or
https://www.amazon.com/Gikfun-J-link-Emulator-Adapter-Converter/dp/B00RBHOSTY/ref=pd_sim_21_3?_encoding=UTF8&pd_rd_i=B00RBHOSTY&pd_rd_r=C8G4T1QSJT3YVC6CQADF&pd_rd_w=CsX9i&pd_rd_wg=OIb04&psc=1&refRID=C8G4T1QSJT3YVC6CQADF
and/or something else?Is there by any chance some kind of bit-bang equivalent that someone has already developed? With arduino's being so cheap, I'd think there'd be a way to use one as a programmer, or at least as some kind of uploader, to an ARM mcu. I mean, how hard can it be?
-
Since it seems I'll be forced to use a programmer, the adafruit advantages completely go out the window. Therefore, I ordered a couple of these, which will probably (?) be just as good in the end, but a whole lot cheaper:
https://www.aliexpress.com/item/nRF52832-Bluetooth-4-1-BLE-Module-M4-Transparent-Transmission-SMA-512K-FLASH-64K-RAM-pass-through/32798522093.html?spm=2114.01010208.3.17.YON8eD&ws_ab_test=searchweb0_0&aff_platform=aaf&cpt=1499046377472&sk=e2Vzr3v&aff_trace_key=0cb03246d5ed4112b865663460b55419-1499046377472-08913-e2Vzr3vI like that they have through-holes and not just castellated connectors. That will make them much easier to wire up.
-
I also ordered this as my final insurance in case the J-Link Segger knock-off turns out not to work:
https://www.aliexpress.com/item/2PCS-LOT-Link-OB-ARM-emulator-debugger-j-link-programmierer-downloader-link-statt-V8-SWD-Best/32813752595.html?spm=2114.13010608.0.0.RyKjDrIf none of that extra hardware works, then I'll probably switch to Linux to see if I have more luck using that instead of Windows.
-
@NeverDie
I think this is because you need to install Zadig, open it, choose your swd programmer in list and change the driver. Then it should work.
-
Thanks! I'll give that a try.
BTW, I noticed this nRF52830 module, which is interesting because it includes a trace antenna and is allegedly just 15.4mmx15.4mm in size: https://www.aliexpress.com/item/PTR5618-Nordic-nRF52832-Module-BLE-4-0-Module-Free-shipping/32758284869.html?spm=2114.10010108.100009.2.98oryP&traffic_analysisId=recommend_2037_null_null_null&scm=1007.13482.37805.0&pvid=c8de9a80-7258-4a83-a683-1ef7c7104607&tpp=1
Granted, it doesn't expose as many pins though.
-
@NeverDie
oki cool.
Raytac has also modules with pcb antenna, and interestingly, from their datasheet, perform worse than their chip antenna version.
I prefer to clarify it a bit! We can't say pcb antenna are always better than chip antenna.
But it's sure that you can't get the best performance with an antenna which is not adapted to the usecase.
Also, when doing very tiny pcb, the gnd plane can be too small regarding the wavelength etc, decreasing even more the antenna efficiency.
The more tiny, the less range..that's not a problem for a wearable, that you wear, close to your phone.
-
@scalz said in Minimalist SAMD21 TQFP32 Pro Mini:
@NeverDie
I think this is because you need to install Zadig, open it, choose your swd programmer in list and change the driver. Then it should work.Ok, I tried this just now. The good news is that Zadig recognizes the ST-LINK V2 usb dongle when I plug it in (it shows up at "STM32 STLink"). The bad news is that I'm not sure which of those drivers I should install. Following the SandeepMistry directions on github, there is nothing called "Interface 2" that I can see. So, I tried all four USB drivers, each in turn, that Zadig offers up, but with none of them does the Arduino IDE subsequently recognize the St-LINK V2 dongle.
So, it does seem like I'm getting closer, thanks to your suggestions, but I'm still not there yet. Any more suggestions?
-
Also, Sandeep's preceding directions call for:
Download mbed Windows Serial driverMaybe this is where it all falls apart. I'm able to download the driver, but I can't install it. When I try to, the installation quickly terminations and I get the following error message: "the driver could not be installed. No mbed microcontrollers were found."
-
@scalz said in Minimalist SAMD21 TQFP32 Pro Mini:
Also, when doing very tiny pcb, the gnd plane can be too small regarding the wavelength etc, decreasing even more the antenna efficiency.
The more tiny, the less range..that's not a problem for a wearable, that you wear, close to your phone.As long as it's within range of a gateway, then it's good enough. Fortunately, it's really cheap to make gateways using ESP8266's, so you can have lots of gateways sprinkled around if needed. Of course, that's yet another trade-off, as it's not free, and it's arguably not even desirable either. Still, for tiny antenna's (like maybe for a soil moisture sensor in an indoor flower pot), being inconspicuous may make it worth the price.
-
Anyone here ever gotten the st-link v2 to work with the arduino and nRF52832? Seems like most published instructions pertain to the J-Link instead.
-
I'm cutting my losses. The googling I've done on this issue is not giving me much reason for optimism about the use of an ST-LINK V2 for this configuration. In fact, just the opposite.
I may get the DK to tide me over until the Segger J-Link and the other hardware arrives.
-
Just noticed that the ESP32S integrates both Wi-Fi and Bluetooth BLE. I guess it's not exactly on-point with what we're discussing here, as I doubt (?) it includes Nordic's proprietary radio modes that mysensors will be using (instead of Bluetooth BLE per se) in the nRF52832, but, golly gee, for just $5, that sounds like quite a package!
http://www.ebay.com/itm/ESP-32S-ESP32-WLAN-BLE-IoT-Modul-Dual-Core-CPU-Ethernet-Port-MCU-ESP8266-/182490173587?hash=item2a7d431093:g:7YIAAOSw4YdYyQW8If Mysensors ever did use BLE, I'd imagine it might make an excellent gateway (and cheap enough that you could easily afford quite a number of them to, say, guarantee solid radio communications throughout your house).
Why is it that mysensors is opting for the Nordic proprietary mode instead of the BLE standard? Is it just too cumbersome or something?
-
@NeverDie
Mysensors isn't opting especially for "nordic mode".
You're mixing a bit things.. So far Mysensors was using nrf24, and the nrf52 is compatible. That's all! Pretty cool to have the feature available i think.
Then, regarding, BLE etc, i can only say, there might be some nice feature in future, but that will need some patience BLE is another protocol like Mysensors is.Yep, esp32 is very nice, and i like my "Halo" esp32 gw. But I wouldn't use it without a strong battery, the radio modes are too much power hungry..
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Anyone here ever gotten the st-link v2 to work with the arduino and nRF52832? Seems like most published instructions pertain to the J-Link instead.
Yes, but I use Linux. I have all three supported programmers working. After adding an udev rule to fix permissions for any type of adapter they working very well. If you haven't luck, the CMSIS-DAP is an alternative to ST-Link or J-Link.
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Why is it that mysensors is opting for the Nordic proprietary mode instead of the BLE standard? Is it just too cumbersome or something?
There are some reasons I haven't implemented Nordics proprietary standard and I have no intension to use BLE as MySensors transport.
Like @scalz I think MySensors is a protocol and BLE is another protocol. MySensors is optimized to build a network of up to 255 nodes can communicate with low latency and BLE is a complex protocol for a limited number of nodes. There are a lot of use cases for both.
In my opinion, Nordic's BLE code and SDK is not Open Source friendly. I think you can't create LGPL code based on Nordics BLE SDK examples. To Compile code, you have to agree Nordics License or you have to choose.
For MySensors, I think the Apache implementation NimBLE should a good BLE implementation to start with. This Implementations looks more efficient than Nordics implementation and I like the OTA update/bootloader concept. At https://www.kickstarter.com/projects/redbearinc/bluetooth-5-ready-ble-module-nano-2-and-blend-2 is a demo video of a 32 node BLE network. It looks like there is a high latency in communication.
To support Nordics SoftDevice or another BLE implementation, the MySensors nRF5 code must be extended to use the hardware abstraction for e.g. random number generation, accessing flash memory or interrupt handling. When it's done a MY_RADIO_NRF5_BLE can be implemented.
Another option could be to use BLE packages without the BLE protocol, then its possible to communicate with any BLE MCU which allows direct access to the radio. Actually you can use the ESB protocol with BLE modulation, but I think this is incompatible to other BLE MCU.
BTW: The nRF52840 cannot communicate with 250kbit nRF24. This rate is depreciated since nRF52822 release.
-
@d00616 said in Minimalist SAMD21 TQFP32 Pro Mini:
Thanks for your post!I have all three supported programmers working.
It's great that you have that perspective to share. Which of the three do you most prefer, and why? Also, if picking one for use under a Windows environment, which would you recommend most?
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
It's great that you have that perspective to share. Which of the three do you most prefer, and why? Also, if picking one for use under a Windows environment, which would you recommend most?
The J-LINK is integrated into my nRF51 Dev Boards. Arduino-nrf5 uses openocd but I have also used the original software. The CMSIS-DAP is part of some RedBear boards I use.
For any other board without an integrated programmer I use the cheap ST-Link clones and an extra USB to 3.3V serial converter. Be careful I have two versions looking identical but with completely different pin assignments.
The arduino-nrf5 cannot address different devices. This is the reason I like to use different programmers. I can connect two devices and address them by choosing another programmer.
-
Just received my nRF52832 DK, and it included 5 additional nrf52832 chips in it. Wasn't even expecting that.
-
First impression after a quick looking it over: other than having a built-in J-Link, it looks like the DK will be of no extra benefit with respect to the mysensors nRF52832 implementation.
-
@NeverDie why won't it be helpful?
-
@Terrence
Since it has a built-in J-Link, it should be helpful in programming the nrf52832 that's already soldered onto the DK. However, will it be helpful in programming an off-board nrf52832 like the adafruit board or, say, the sparkfun board? I don't know.Maybe I haven't found the right starting point. I went to the url given on a small card in the DK, but it's mostly links to datasheets, white papers, app notes, a couple phone demo apps, software that can be downloaded, etc. I'm not finding a tutorial. Contrast that to what, for example, cypress semiconductor has for their bluetooth evaluation board, which is a whole video series of something like 50 video tutorials that walks you through from A to Z on how to use it.
-
I'm finally able to get some primitive sketches (such as Blink and printing to Serial) to run on the NRF52 DK using these settings:
Somewhat strangely, setting the LED pin LOW turns the LED to "ON", and setting it HIGH turns it OFF. Go figure.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Contrast that to what, for example, cypress semiconductor has
Wow, cypress is knocking it out of the park on helping us. You would think Nordic would pick up the pace.
Thanks. I will check those videos out.
-
OK, using the mysensors example scripts, I have the nRF52832 serving as a serial gateway, and it is receiving messages from an nRF24L01 light sensor that's running on an arduino UNO.
So, apparently, it works.
Anyone know whether the nRF52 DK can be used to program other nRF52832's? If not, I guess I'll have to wait for the J-Link programmer I ordered to test out that part of it and get nRF52832 to nRF52832 communication working.
-
Here's the really good news. I tried a very quick range test with the above configuration, and it seems to be noticeably better than with two nRF24L01's. I check the datasheets, and, indeed:
nRF24L01: -85dBm sensitivity at 1Mbps
nRF52832: -93 dBm sensitivity, 1Msps nRF modeSo, for an nRF52832, that's an 8dBm improvement in link budget just from improved sensitivity alone. i.e. more than twice the range. Nice.
-
Looks as though the nRF52840 will have the same nRF mode receive sensitivity. However, it will have a receive sensitivity of -103dBm in 125ksps BLE mode. which is huge.
-
It's somewhat strange that the F-antenna never caught on with the nRF24L01, which typically used some kind of meandering antenna.
However, as proven by the ESP8266's evolution, the F-antenna is superior.
So, its presence in at least some of the nRF52832 implementations (such as that pictured below) should help as well.
-
I found it on some modules from Sunfounder on red PCB but they have fake nrf24 chip and still performed bad but a little better than the other chinese clones (range 7 meters indoor instead of 5)
-
Presently the parts cost is higher for an nRF52832 (and surely for an nRF52840) than for an RFM69 plus an atmega328p. So, I'm struggling to justify it.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Presently the parts cost is higher for an nRF52832 (and surely for an nRF52840) than for an RFM69 plus an atmega328p. So, I'm struggling to justify it.
With only 5$ for the EBytes modules there's not much difference I think ? And for that you have a smaller size, easier soldering (compared to SMD atmega), incredibly more capable hardware that's really future proof for both MCU and radio module, lower power consumption for TX and even more for RX, ...
-
@Nca78
You're right. Especially after outfitting the atmega328p with an RTC, the cost is more of a wash. I think the RFM still wins on range, but maybe the 832 will be "good enough"...
-
I'm guessing that if I were to desolder the rFM52832 from the DK, then I could use the DK to program other chips using the SW pins by using the J-link that's part of the board.
-
@gohan said in Minimalist SAMD21 TQFP32 Pro Mini:
I found it on some modules from Sunfounder on red PCB but they have fake nrf24 chip and still performed bad but a little better than the other chinese clones (range 7 meters indoor instead of 5)
Interestingly, the antenna on the DK is sort-of hockey stick shaped. I guess they didn't need to compress it, since the board is so large anyway.
-
am reading your findings with great interest. Thanks for the updates.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
You're right. Especially after outfitting the atmega328p with an RTC, the cost is more of a wash. I think the RFM still wins on range, but maybe the 832 will be "good enough"...
The question is, when 832 modules are available. After announcing the nRF52832 with its preview DK, I have waited from 06/2015 to 08/2016 until modules are available for an acceptable price at aliexpress or ebay.
I think the atmega is a slow 8-bit MCU with less RAM. The limited RAM requires to transmit additional nonce packages, when signing is enabled. SoftSigning hashing is 76 times faster. A faster CPU allows to shorten the active time:
- atmega328 14000µs
- nRF51 1739µS
- ESP8266 380µS
- nRF52 183µS
The NRF24 has problems with clones, range and the limitation of packages to 32 bytes. The nRF52 allows to change the packet format to support >32 bytes packages.
At the moment sleep modes are only implemented for 328 and nRF5.
OTA updates are available for 328 and ESP8266. For nRF5 it requires to implement a boot loader. The internal flash should have enough capacity to store a simple bootloader and a firmware update.
If you plan to do a lot of writes into EEPROM the 328 has a real EEPROM. The SAMD requires an external EEPROM, the nRF5/Teensy/STM32F emulating the eeprom in Flash. The nRF5 is using the NVM driver, which allows much more writes to the emulated EEPROM. The price for NVM is some time for log cleaning after some hundreds writes.
IMHO the best MCU for creating new battery powered sensors is the nRF5 stating with a ~3€ board, if required in combination with RFM modules.
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
I'm guessing that if I were to desolder the rFM52832 from the DK, then I could use the DK to program other chips using the SW pins by using the J-link that's part of the board.
I think it's simpler to use one of the ST-LINK v2 clones. The DK board should be good for development, debugging and current measurement.
-
@d00616 said in Minimalist SAMD21 TQFP32 Pro Mini:
I think it's simpler to use one of the ST-LINK v2 clones. The DK board should be good for development, debugging and current measurement.
What exactly do I need to do to get it work? I tried it from Windows, and failed. I seem to recall you said you got it to work from Linux after changing a definition. Would you mind showing the steps, or providing a link on how to do that?
-
@d00616 said in Minimalist SAMD21 TQFP32 Pro Mini:
IMHO the best MCU for creating new battery powered sensors is the nRF5 stating with a ~3€ board, if required in combination with RFM modules.
The board you linked to is an nRF51. Which do you prefer? nRF51 or nRF52?
-
Looks as though the nRF52832 beats the nRF51832 on Rx sensitivity at 1mbps. The nRF51832 is:
• -90 dBm at 1 Mbps
versus -93dBm at 1Mbps for the nRF52832.On the other hand, the nRF51832 has -96dBm receive sensitivity at 250kbps, and the nRF52832 appears to lack that mode altogether. So, in a way, that make sthe nRF51832 seem a bit more attractive on range, even if one has to pay a price on bitrate.
-
@d00616 Now that you mention it, that board you linked to ( https://www.aliexpress.com/item/BLE4-0-Bluetooth-2-4GHz-Wireless-Module-NRF51822-Board-Core51822-B/32633417101.html?spm=2114.search0104.3.18.Q9naea&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10065_10151_10068_10130_10084_10083_10119_10080_10082_10081_10110_10178_10136_10137_10111_10060_10112_10113_10155_10114_5360016_10154_438_10056_10055_10054_10182_10059_100031_10099_10078_10079_10103_10073_10102_10120_10189_10052_10053_10142_10107_10050_10051,searchweb201603_5,ppcSwitch_4&btsid=f45d662b-6a09-4449-9bee-1ea58d9beab8&algo_expid=53f99b5d-bb10-4b34-a548-2a3e4c0cd96e-2&algo_pvid=53f99b5d-bb10-4b34-a548-2a3e4c0cd96e ) would be an interesting way to control an RFM69, especially if it could do an OTA sketch uploade. Can it?
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
The board you linked to is an nRF51. Which do you prefer? nRF51 or nRF52?
I prefer to use nRF52 controllers when the price doesn't matter.
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Now that you mention it, that board you linked to would be an interesting way to control an RFM69, especially if it could do an OTA sketch uploade. Can it?
OTA sketch upload is on my todo list, but not at the first position
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
On the other hand, the nRF51832 has -96dBm receive sensitivity at 250kbps, and the nRF52832 appears to lack that mode altogether.
The 250kbps mode is working with the nRF5232 but this was the last chip supporting this mode.
-
This module is interesting because it looks as though it would be relatively easy to attach to most simple sensor projects:
https://www.aliexpress.com/store/product/NRF52832-Bluetooth-4-2-module-Bluetooth-5-program-PCBA-serial-transmission-cost-effective/1383441_32818791344.html
-
I found some useful connectors:
1.27mm pitch seems to be what's most common with nRF52 stuff.
-
what would you use those connectors for?
-
@gohan said in Minimalist SAMD21 TQFP32 Pro Mini:
what would you use those connectors for?
The J-Tag ones for connecting a J-tag programmer to an nRF5 board (e.g. the adafruit one has holes for such a 2x5 connector already on its PCB).
The 1.27mm headers I think I might use for connecting some of the small nRF5 boards which have 1.27mm pitch through-holes onto some prototypes rather than just soldering them down. That way I can easily move them to the next version of the prototype without creating a lot of desoldering work.
I've ordered all of the above earlier today. I'm just providing the links in case others may want to do the same.
-
@NeverDie Thanks for the nrf link, but I liked the units with coin cell better. I purchased 2.
-
Attractive form factor, but I believe that it's just a beacon. If not, how do you connect it to anything?
-
@Terrence said in Minimalist SAMD21 TQFP32 Pro Mini:
@NeverDie Thanks for the nrf link, but I liked the units with coin cell better. I purchased 2.
This module looks great. Both oscillators and the inductor is placed ob board. But the SWDIO and SDCLK are not connected. You can only flash via OTA update. Don't flash MySensors until you have moved the used Flash by NVM driver. The NVM would overwrite the DFU bootloader. It's possible that the nRF5 code needs changes to support running on an nRF5 with Softdevice.
@scalz is playing/plans to play with Nordics OTA update.
-
A couple more interesting finds.
-
This one is small but includes a PA, so you can allegedly get 20dBm+ in TX:
https://www.aliexpress.com/item/PTR5618PA-Nordic-nRF52832-Module-PA-module-BLE-4-0-Module-Free-shipping/32761051086.html?spm=2114.search0104.3.9.W4RMn3&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10065_10151_10068_10130_9947_10084_10083_10119_10080_10082_10081_10136_10110_10178_10137_10111_10060_10112_10113_10155_10114_10154_438_10056_10055_10054_10182_10059_100031_10099_10078_10079_10103_10073_10102_10120_5360020_10189_10052_10053_10142_10107_10050_10051-9947,searchweb201603_5,ppcSwitch_4&btsid=66711830-6dac-41e4-9674-fe24475ac9f5&algo_expid=4a176404-eb42-4313-9eae-531e59e60ccf-1&algo_pvid=4a176404-eb42-4313-9eae-531e59e60ccf -
This one allegedly includes not only a PA, but an LNA too:
https://www.aliexpress.com/item/nRF52832-LNA-PA-Range-Extension-EV-Board-best-sol-for-the-coming-Bluetooth-5-0-and/32778491443.html?spm=2114.search0104.3.2.W4RMn3&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10065_10151_10068_10130_9947_10084_10083_10119_10080_10082_10081_10136_10110_10178_10137_10111_10060_10112_10113_10155_10114_10154_438_10056_10055_10054_10182_10059_100031_10099_10078_10079_10103_10073_10102_10120_5360020_10189_10052_10053_10142_10107_10050_10051-9947,searchweb201603_5,ppcSwitch_4&btsid=66711830-6dac-41e4-9674-fe24475ac9f5&algo_expid=4a176404-eb42-4313-9eae-531e59e60ccf-0&algo_pvid=4a176404-eb42-4313-9eae-531e59e60ccf
Awfully expensive though.
-
-
@NeverDie Yes, I got to thinking about that after I pulled the trigger.
-
@d00616 Thanks.
-
Lastly, I'm quite intrigued by this one, which is an nRF51832, because it is only 11.4mmx9.5mm in size:
https://www.aliexpress.com/store/product/PTR5528-Fingertip-size-nRF51822-Module-Ultra-Low-Power-Bluetooth-4-0-Low-Energy-RF-Module-Free/130096_1705429590.html?spm=2114.12010108.0.0.TRBTKqHas anyone seen anything else which is that small or even smaller?
-
@Terrence
Maybe you'd like this one (or similar) a little better, as it has some additional sensors already built into it:
https://www.aliexpress.com/item/Free-Ship-Bluetooth-4-0-temperature-sensor-pressure-sensor-acceleration-sensor-gyroscope-light-nRF51822-bluetooth-4/32705653095.html?spm=2114.10010108.1000013.6.5TTgVd&traffic_analysisId=recommend_2088_3_82199_new&scm=1007.13339.82199.0&pvid=71d80c46-bd50-4ed5-bdc6-1d6253d9e038&tpp=1
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
What exactly do I need to do to get it work? I tried it from Windows, and failed. I seem to recall you said you got it to work from Linux after changing a definition. Would you mind showing the steps, or providing a link on how to do that?
I have updates my documentation: https://www.openhardware.io/view/376
I have tested all three programmer types with Windows 10. It looks like Zadig installs the correct drivers for J-Link and ST-Link adapters. The CMSIS-DAP requires the serial driver from mbed.
-
@d00616
Thanks! I had been using a computer running Windows 7, and I got no joy with Zadig and st-link v2 on that. However, you just now mentioned Windows 10, so I'll give that a try.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Maybe you'd like this one (or similar) a little better, as it has some additional sensors already built into it:
This is the discussion to this board: https://forum.mysensors.org/topic/6951/nrf5-multi-sensor-board-12-14/1
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
hanks! I had been using a computer running Windows 7, and I got no joy with Zadig and st-link v2 on that. However, you just now mentioned Windows 10, so I'll give that a try.
I think the best option for beginners is to use an CMSIS-DAP/DAPLink adapter. Firmware and drivers are open source and there is an integrated serial port.
The ST-Link adapter is initialized with an ST-Link driver by libwdi. If you have luck you can find an old variant.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Has anyone seen anything else which is that small or even smaller?
Yes. 9x9mm with antenna: https://de.aliexpress.com/store/product/PTR5628-Nordic-nRF52832-Module-BLE-4-0-Module-Free-shipping/130096_32760971926.html but photo and product description are different. I had a discussion with the manufacterer end of 2016 at this time the module was shown as 9*9mm module. The PTR5628 has no 32kHz oscillator, you have to use the unprecise RC oscillator.
-
@d00616
9mmx9mm would be great. However, are you certain? Product description says 15.4mmx15.4mm.Pitty the lack of 32khz crystal, but for a lot of sensor nodes perhaps it won't matter much.
I did find this after making my prior post:
https://www.aliexpress.com/item/nRF51-M0-Ultra-small-Bluetooth-BLE-Module-4-0-Module-LIS3DH-Support-10-GPIOs/32697055436.html?spm=a2g0s.13010208.99999999.295.t9NHvJ
which is allegedly 8.5mmx10.5mm and allegedly does have a 32Khz crystal, but the trade-off is that it's an nRF51832, not an nRF52832.
-
@d00616 said in Minimalist SAMD21 TQFP32 Pro Mini:
I think the best option for beginners is to use an CMSIS-DAP/DAPLink adapter.
Thanks for the tip! Based on your recommendation, I ordered this:
http://www.adafruit.com/product/2764
because I could expedite the shipping.Hopefully it works.
-
@d00616
The smallest size I found was this:
https://www.aliexpress.com/item/Bluetooth-UART-Wireless-Data-Transceiver-DA14580-Module-for-Arduino/32666222427.html?spm=a2g0s.13010208.99999999.284.fiUAYv
It's just 5mmx6.2mm! So, at least the size is very much awesome. It does have an M0 Cortex core, but it's not a Nordic Semi chip: http://www.dialog-semiconductor.com/sites/default/files/da14580_ds_3v4.pdf
so I have no idea if, or to what degree, it can be easily programmed from within the familiar Arduino IDE the way the Nordic chips apparently can. Do you happen to know if it would be trivially easy? Or would getting it to work be a project unto itself?
-
@gohan said in Minimalist SAMD21 TQFP32 Pro Mini:
what would you use those connectors for?
Once outfitted with the connectors, the modules should then fit quite easily into these for prototyping:
https://www.aliexpress.com/item/6-X-8CM-spacing-1-27-universal-board-thickness-1-6mm-sided-HASL-PCB-test-board/32774106087.html?spm=a2g0s.13010208.99999999.288.lLgJVvNot sure if there exist 1.27mm pitch breadboards, but I haven't found any on Aliexpress.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
It's just 5mmx6.2mm! So, at least the size is very much awesome. It does have an M0 Cortex core, but it's not a Nordic Semi chip: http://www.dialog-semiconductor.com/sites/default/files/da14580_ds_3v4.pdf
so I have no idea if, or to what degree, it can be easily programmed from within the familiar Arduino IDE the way the Nordic chips apparently can. Do you happen to know if it would be trivially easy? Or would getting it to work be a project unto itself?Didn't check in detail but Nordic uses "soft devices", and that's what is compatible with the Arduino platform. That's also why it can work on both NRF51 and NRF52.
-
Unfortunately, I don't think the da14580 will work with the current mysensors library: it appears to be bluetooth only. I only did a quick speed read of its datasheet, but I didn't see any mention of the Nordic proprietary modes (or anything like them) that the mysensors library relies on.
-
I have ordered one like this. It's pretty small already, less than 2*1cm :
https://www.aliexpress.com/item/nRF51822-04-BLE4-0-WIFI-Wireless-Bluetooth-Module-TTL-Low-Power-Consumption/32682158906.htmlIt has very limited I/O and is made to be used in addition to a MCU using UART to communicate, but the SWDIO and SWDCLK pins are broken out so I will see if I can reprogram it.
It has a datasheet to at least get a valid footprint (as I don't plan to use the serial protocol) :
https://4tronix.co.uk/picobot2/WT51822-S4AT.pdfAnd it has been featured on Nordic's website where they say it's supposed to have FCC certification (and CE too, but that's just declarative...).
http://www.nordicsemi.com/node_206/node_305/Product-Related-News/Nordic-powered-Bluetooth-Smart-module-simplifies-development-of-wireless-wearables-toys-and-smart-home-solutionsThey also claim a 50m range which is way better than the 10m of the da14580 you link above.
So if it can be reprogrammed without problem it looks like a perfect candidate for basic nodes like door, I2C etc
-
Both the price and size are certainly nice. I think d00616 would probably point out that it lacks a 32Khz crystal, but since I lack experience with the nRF5's, I don't know how significant that is or isn't. Anyone know?
BTW, it would also be nice to know whether or not the OTA sketch upload capability will work on an nRF51, or only an nRF52 (and also whether it will work on an nRF52832 or only the future nRF52840). Anyone know?
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Both the price and size are certainly nice. I think d00616 would probably point out that it lacks a 32Khz crystal, but since I lack experience with the nRF5's, I don't know how significant that is or isn't. Anyone know?
Right, it sucks for low power at it needs recalibration every 4 seconds to stay accurate enough, generating 10uA extra consumption. But I'm not sure if this is needed for bluetooth only (because it has to wake up regularly and listen during a precise time window), or also for "nrf24" mode because in that mode we don't need to be precise or regular listenin.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
BTW, it would also be nice to know whether or not the OTA sketch upload capability will work on an nRF51, or only an nRF52 (and also whether it will work on an nRF52832 or only the future nRF52840). Anyone know?
Nordic's DFU bootloader is also working with nRF51 chips. https://devzone.nordicsemi.com/documentation/nrf51/4.4.1/html/group__bootloader__dfu__description.html
At the moment the MySensors implementation is not compatible with a SoftDevice. This requires to change interrupts, use some SoftDevice system calls and move the NVM driver Flash area out of the DFU bootloader area.
I have started a new thread for OTA update discussion: https://forum.mysensors.org/topic/7146/nrf5-ota-updates
@Nca78 said in Minimalist SAMD21 TQFP32 Pro Mini:
Right, it sucks for low power at it needs recalibration every 4 seconds to stay accurate enough, generating 10uA extra consumption. But I'm not sure if this is needed for bluetooth only (because it has to wake up regularly and listen during a precise time window), or also for "nrf24" mode because in that mode we don't need to be precise or regular listenin.
That's correct. If required, the calibration task must be implemented or is part of the SoftDevice. At the moment the radio doesn't require a precise RTC for nRF24 compatibility. For battery powered sensors listening for commands a time slotted protocol is required. Then this protocol relies on a precise RTC.
-
I'm leaning more toward the nRF52 platform over the nRF51, in part for its superior range but also because I'm guessing it will be a little easier for the person who is implementing the OTA sketch uploads to implement it first on an nRF52 (more resources, less constrained).
-
So, is the speed of the Cortex on an nRF5 already good enough that one can simply emulate an atsha signing component, and thus that part now completely disappears from the BOM?
-
@NeverDie you can run soft signing on any device. It emulates the atsha204a equally well. The performance of the MCU only affects the speed of the calculations, not the quality of the result.
-
@NeverDie but remember that if you use soft signing it is your own responsibility to protect the hmac key from readout by an attacker with physical access to the device.
-
@Anticimex said in Minimalist SAMD21 TQFP32 Pro Mini:
@NeverDie but remember that if you use soft signing it is your own responsibility to protect the hmac key from readout by an attacker with physical access to the device.
Thanks! Good to know. Speaking only for myself, I don't think I'll be losing any sleep over the prospect of an attacker gaining physical access to one of my home devices with the intent of extracting the hmac key. I'm more likely to win a lottery than have that happen--and I don't even play lotteries.
-
@NeverDie that is probably correct, I just feel a responsibility to inform everyone of any known weaknesses in the security infrastructure
-
@Anticimex
I don't mean to trivialize it. For commercial applications, the atsha204a would of course make sense.But, at least for now, it sounds likely that $2.73 will buy you the hardware for a nice little home wireless node, minus sensors and power supply. That's today's price for a NRF51822-04 MINI that NCA78 linked to above. And, of course, that price will continue to drop. Pretty cool!
-
Which library is most recommended for exploiting the RTC that's on an nRF52832? Likewise, what's the best library for sleeping the nRF52832? Since I have the DK, I'd like to take some current measurements while running some demo code for that. That will establish a baseline for comparing future measurements.
-
I just now ordered this:
https://www.sparkfun.com/products/13746?_ga=2.39569123.1141912816.1499956888-1087552930.1495048698It's like a regular FTDI, but it can also power your project at 3.3v at up to 600ma! Previously I had to make my own hacked FTDI interface to do that. Ordinary 3.3v FTDI's will burn out under the load of, say, an ESP8266, or a 20db Tx power amplified nRF24L01.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
Which library is most recommended for exploiting the RTC that's on an nRF52832? Likewise, what's the best library for sleeping the nRF52832? Since I have the DK, I'd like to take some current measurements while running some demo code for that. That will establish a baseline for comparing future measurements.
Sleeping is implemented by hwSleep(). This function uses one RTC. If you need advanced RTC access, you have to cooperate with this RTC, because the interrupt routine must reset the state registers. On nRF51 the other RTC is used for millis(). The nRF52 has one RTC free.
-
In case anyone else either has, or is thinking of getting, the nRF52832 DK, it looks as though there is indeed a way to use its programmer to program an offboard nRF52832 without desoldering the nRF52832 that's on the DK. Here's the existence proof photo where an 832 DK is being used to program Sparkfun's nRF52832 breakout board over the two SW lines:
The caption reads "For faster programming, an nRF52832 Development Kit can be used to program the nRF52832 Breakout Board."
I haven't yet found the instructions on how to do it though.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
@d00616
9mmx9mm would be great. However, are you certain?I'm convinced! I pulled this picture off the FCC website, and, indeed, it is 9x9mm:
(https://fccid.io/2AA72-PTR5628)So, thanks for mentioning its size, or else I never would have known!
-
So, what's the smallest nRF52 module that also includes a 32Khz crystal? I think I might want to standardize as much as possible on a single module rather than juggle a bunch of different ones.
-
@NeverDie said in Minimalist SAMD21 TQFP32 Pro Mini:
So, what's the smallest nRF52 module that also includes a 32Khz crystal? I think I might want to standardize as much as possible on a single module rather than juggle a bunch of different ones.
What do you think about creating an table with known modules including integrated hardware, available ports and size?
I think, most small modules comes without 32kHz crystal. This is mostly an option. Maybe for the 9x9mm module. But I think the antenna is no good choice for indoor usage.
I have a lot of RedBear BLE Nano 2 (18x21mm) modules. It's complete including 32Khz crystal and a 3-13V voltage converter. With 2.54mm pins it's easy to solder.
I have asked the manufacturer(cdebyte) of the nice nRF24 and nRF52 modules if it's possible to build an module including the nRF52, an RGB LED, an button and 5V protected inputs with the layout like the popular nRF24 modules plus two optional pins (6/8 IO Ports!). I think such type of nRF52 module makes it easy to migrate to 32 Bit using existing boards or build new boards.
-
I just now noticed that Ebyte also has a storefront on aliexpress.
https://cdebyte.aliexpress.com/store/2077046?spm=2114.12010108.0.0.7Yid4a
For me, it's much better than ebay, because it includes free e-packet delivery to the US. So, unlike ebay, I will hopefully get their modules much sooner than September! The estimated delivery time from Ebyte if ordered through Aliexpress is 12-20 days.
https://www.aliexpress.com/store/product/CDEBYTE-E73-2G4M04S-BLE-4-2-5-0-long-distance-100m-2-4GHz-SMD-ARM-Core/2077046_32820692238.html?spm=2114.12010615.0.0.TZClHR[Edit: Also, on Aliexpress, Ebyte gives a coupon for $5 off if you order >$45]