nRF5 action!
-
@Toyman Have you received your Fanstels yet? I'd like to compare notes with someone on the LNA part of it.
-
When you combine my BT832XE gateway with the LNA on this external "booster," the result is really great reception range, even at 2Mbps:

I think this combo will be hard to beat. In fact, I can receive even from nRF24L01's that are far away (further away than a nRF24L01 with PA+LNA can receive). :) -
Well my NRF51822 has been running 25days approx sending every 60secs on a cr2032.
No signs of problems yet.

-
@rmtucker I don't recall whether you already have, but would you mind posting a photo of your node?
@NeverDie
Its just the waveshare ble400 board but i have cut one of the tracks to prevent the residual drain from the on board regulator.
And i have an external cr2032 battery holder feeding it.
I would love to make a small pcb for the NRF core to plug in to instead of the big motherboard as below, but i failed dismally at the design side of things.
-
@rmtucker I don't recall whether you already have, but would you mind posting a photo of your node?
@rmtucker said in nRF5 Bluetooth action!:
I would love to make a small pcb for the NRF core to plug in to instead of the big motherboard as below
Here you go: https://www.openhardware.io/view/510/Button-cell-Temperature-Humidity-sensor#tabs-bom
This should be even smaller and less expensive than what you wished for. I made it for the Si7021 because I had some extras laying around. The BME280 would also be a good choice.
-
@rmtucker said in nRF5 Bluetooth action!:
I would love to make a small pcb for the NRF core to plug in to instead of the big motherboard as below
Here you go: https://www.openhardware.io/view/510/Button-cell-Temperature-Humidity-sensor#tabs-bom
This should be even smaller and less expensive than what you wished for. I made it for the Si7021 because I had some extras laying around. The BME280 would also be a good choice.
-
@NeverDie
That would be perfect but i would have to order everything from china.
Well maybe not the led and resistor.
I also prefer the si7021 also it has far less consumption and quite accurate.@rmtucker said in nRF5 Bluetooth action!:
I also prefer the si7021 also it has far less consumption and quite accurate
As long as the humidity is less than 80%. Otherwise, you need to turn on its "heater" to avoid permanently ruining its humidity accuracy.
-
@rmtucker said in nRF5 Bluetooth action!:
I also prefer the si7021 also it has far less consumption and quite accurate
As long as the humidity is less than 80%. Otherwise, you need to turn on its "heater" to avoid permanently ruining its humidity accuracy.
@NeverDie it's not that quick, it happened only to the one I put in bathroom with very high humidity for a long time.
Other sensors reached over 90% humidity sometimes and spent many days in the 75-85 range but just a nightly use of aircon seems to have maintained their hability to measure humidity.
So my feeling is unless you are in a very humid environment you should have no problem with the si7021.I'm in a tropical country and problem happened during rainy season, >80% humidity at 30°C makes a lot of humity in the air, I don't think you get close to that level in European countries or most of the US.
-
@NeverDie it's not that quick, it happened only to the one I put in bathroom with very high humidity for a long time.
Other sensors reached over 90% humidity sometimes and spent many days in the 75-85 range but just a nightly use of aircon seems to have maintained their hability to measure humidity.
So my feeling is unless you are in a very humid environment you should have no problem with the si7021.I'm in a tropical country and problem happened during rainy season, >80% humidity at 30°C makes a lot of humity in the air, I don't think you get close to that level in European countries or most of the US.
@Nca78 I'm just taking what the datasheet says at face value. In practical terms, I think it's fairly rare to see >80% humidity in an indoor "conditioned space" (well, maybe a bathroom is an exception to that sweeping generality) but outdoors it happens by definition anytime the air temperature approaches the dew point. That certainly does occur in quite a lot of geographies.
So, for that reason, I think of the si7021 as more of an indoor TH sensor. From what I can tell, the BME280 doesn't have this issue, so it would therefore seem to be a good choice for outdoors.
Of course, the si7021 sensor modules are made in Asia, and if it's tropical asia (Thailand for instance?), it may have already been exposed to high humidity. So, that's a bit of an unknown factor hanging in the background.
Anyhow, thanks for the additional insight that maybe the si7021 really needs to soak in high humidity for a long time before it gets ruined. Otherwise, it can spring back from brief exposures. I certainly hope that's the case. Running its heater does consume a significant amount of current.
-
It turns out that on the nRF52832, pins 9 and 10 are assigned to NFC by default. The following code allows them to behave "almost" like regular GPIO pins:
//Make pins 9 and 10 usable as GPIO pins. NRF_NFCT->TASKS_DISABLE=1; //disable NFC NRF_NVMC->CONFIG=1; // Write enable the UICR NRF_UICR->NFCPINS=0; //Make pins 9 and 10 usable as GPIO pins. NRF_NVMC->CONFIG=0; // Put the UICR back into read-only mode.Well, good enough for a blink demo anyway.
-
Is there some particular trick to reading the built-in temperature sensor? I've tried it a number of ways, but after doingNRF_TEMP->TASKS_STARTI can never get NRF_TEMP->DATARDY to return true, no matter how long I wait. If I just try reading NRF_TEMP->TEMP anyway, it always returns zero.[Edit: Nevermind. The answer was right in front of me. It obviously should have been:
NRF_TEMP->TASKS_START=1;Because the PPI uses the former syntax, and the regular code uses the later syntax for the same thing, I sometimes interchange the syntax by mistake.
Anyhow, problem solved. :)
-
When you combine my BT832XE gateway with the LNA on this external "booster," the result is really great reception range, even at 2Mbps:

I think this combo will be hard to beat. In fact, I can receive even from nRF24L01's that are far away (further away than a nRF24L01 with PA+LNA can receive). :) -
@rmtucker said in nRF5 Bluetooth action!:
I would love to make a small pcb for the NRF core to plug in to instead of the big motherboard as below
Here you go: https://www.openhardware.io/view/510/Button-cell-Temperature-Humidity-sensor#tabs-bom
This should be even smaller and less expensive than what you wished for. I made it for the Si7021 because I had some extras laying around. The BME280 would also be a good choice.
@NeverDie said in nRF5 Bluetooth action!:
@rmtucker said in nRF5 Bluetooth action!:
I would love to make a small pcb for the NRF core to plug in to instead of the big motherboard as below
Here you go: https://www.openhardware.io/view/510/Button-cell-Temperature-Humidity-sensor#tabs-bom
This should be even smaller and less expensive than what you wished for. I made it for the Si7021 because I had some extras laying around. The BME280 would also be a good choice.
I'm realizing now that I can get a decent temperature reading from just the nRF5x chip itself. With calibration it should get even better.
-
Today I finally received the PTR9618PA that I ordered a while back:


Like the Fanstel modules, it lacks a 32.768Khz crystal oscillator. Also, as you can see from the second photo, the PA/LNA chip is the 2401C: http://www.skyworksinc.com/Product/3213/RFX2401C
-
@NeverDie said in nRF5 Bluetooth action!:
@rmtucker said in nRF5 Bluetooth action!:
I would love to make a small pcb for the NRF core to plug in to instead of the big motherboard as below
Here you go: https://www.openhardware.io/view/510/Button-cell-Temperature-Humidity-sensor#tabs-bom
This should be even smaller and less expensive than what you wished for. I made it for the Si7021 because I had some extras laying around. The BME280 would also be a good choice.
I'm realizing now that I can get a decent temperature reading from just the nRF5x chip itself. With calibration it should get even better.
@NeverDie said in nRF5 Bluetooth action!:
@NeverDie said in nRF5 Bluetooth action!:
I'm realizing now that I can get a decent temperature reading from just the nRF5x chip itself. With calibration it should get even better.
I used the internal temperature in the past but i can not remember how i did it?
Do you have some example code to remind me? -
@NeverDie said in nRF5 Bluetooth action!:
@NeverDie said in nRF5 Bluetooth action!:
I'm realizing now that I can get a decent temperature reading from just the nRF5x chip itself. With calibration it should get even better.
I used the internal temperature in the past but i can not remember how i did it?
Do you have some example code to remind me?@rmtucker said in nRF5 Bluetooth action!:
Do you have some example code to remind me?
/* * This example sketch shows how you can manage the nRF5 pin mapping as part of your code. * You can use the method for any nRF51822 or nRF52832 board or module. * * Most components, like UART, SPI, Wire Bus, of the nRF5 series chips don't * have a fixed pin mapping. There are some pins with restrictions like analog * inputs, NFC or pins near the radio module. Please refer the latest * documentation about pin restrictions at http://infocenter.nordicsemi.com * * To use the custom pin mapping you have to do following steps: * * 1. Install "arduino-nrf5" like described at * https://github.com/sandeepmistry/arduino-nRF5/ * 2. Install the "My Sensors nRF5 Boards" with the board manager like * explained at https://github.com/mysensors/ArduinoBoards * 3. Copy the files "MyNRF5Board.cpp" and "MyNRF5Board.h" from * "MyNRF5Board" example into your sketch. * 4. Modify pin mappings in "MyNRF5Board.cpp" and "MyNRF5Board.h" to fit * your requirements. * 5. Select "MyNRF5Board nrf52832" or "MyNRF5Board nrf52822" as your board. * Choose the correct parameters and programmer in the Tools menu. */ // Many thanks to d00616 for this framework! //------------------------------------------------------------------------------------------------------------------------------------------------------------------------ //Simple program to demonstrate that both the LED and Serial and Temperature are working correctly on the breakout board: // https://www.openhardware.io/view/471/Ebyte-nRF52832-Small-Breakout-Board //Note: Compile and upload from Arduino IDE using "MyNRF5Board nRF51822" as the board and with 16K RAM, RC Oscillator, and no bootloader as the options. // #define MY_CORE_ONLY #include <nrf.h> #include <MySensors.h> void setup() { hwPinMode(LED_BUILTIN,OUTPUT_D0H1); digitalWrite(LED_BUILTIN,HIGH); NRF_CLOCK->INTENSET=B11; //enable interrupts for EVENTS_HFCLKSTARTED and EVENTS_LFCLKSTARTED Serial.begin(9600); Serial.println(); Serial.println("Starting..."); NRF_CLOCK->TASKS_HFCLKSTART=1; //start the high frequency crystal oscillator clock while (!(NRF_CLOCK->EVENTS_HFCLKSTARTED)) {} //wait until high frequency crystal oscillator clock is up to speed and working NRF_TEMP->TASKS_STOP; NRF_TEMP->EVENTS_DATARDY=0; NRF_TEMP->INTENSET=1; //enable EVENTS_DATARDY temperature interrupt while (!(NRF_TEMP->INTENSET==1)) {} //wait until completed } uint32_t blinkCounter=0; uint32_t rawTemperature=0; float celsius=0.0; //rawTemperature converted to Celsius void loop() { NRF_TEMP->TASKS_START=1; while (!(NRF_TEMP->EVENTS_DATARDY)) {} //wait until temperature measurement is complete rawTemperature=NRF_TEMP->TEMP; celsius=((float)rawTemperature)/4.0; Serial.print(celsius); Serial.println(" degrees Celsius"); Serial.print(blinkCounter++); Serial.println(", HIGH"); digitalWrite(LED_BUILTIN,HIGH); delay(500); Serial.print(blinkCounter++); Serial.println(", LOW"); digitalWrite(LED_BUILTIN,LOW); delay(500); } -
I made a prototype of my CR2032 buttoncell project using the earlier small nRF51822-4 beakout board. I have it running the MySensors passive sensor code. It reports to the serial gatewaqy once every minute.

-
cool.
you could add some clearance for the antenna, better I think for antenna radiation.