nRF5 action!
-
Looks like I was wrong earlier about the voltage reference being Vcc when doing an analog read on a pin. Instead, it seems to be a fixed reference. In any case, I'm getting better results with an expression like this, which is independent of Vcc:
millivolts = (analogRead(PIN)*3000/4095)
What are others here doing in this case?
-
Looks like I was wrong earlier about the voltage reference being Vcc when doing an analog read on a pin. Instead, it seems to be a fixed reference. In any case, I'm getting better results with an expression like this, which is independent of Vcc:
millivolts = (analogRead(PIN)*3000/4095)
What are others here doing in this case?
@NeverDie
As mentioned earlier by someone the nrf52 is preset to 0.6v internal ref and a 1/5 divider so 0 - 3v is the max input so your calculation is correct.
The nrf51 is different because the ref can be set to a few different settings but the default is vdd. -
I don't think sendSignalStrength function is implemented yet, but you should be able to get this info with:
int16_t transportGetSendingRSSI(void) int16_t transportGetReceivingRSSI(void) -
@Toyman
it has been explained above in the topic ;)
you have to follow -
I don't think sendSignalStrength function is implemented yet, but you should be able to get this info with:
int16_t transportGetSendingRSSI(void) int16_t transportGetReceivingRSSI(void) -
-
@Toyman
it has been explained above in the topic ;)
you have to follow -
Regarding the PCB/KiCad comments.
I was trying out KiCad and copied the NRF52832 DC/DC schematic from the datasheet.It might be of help for someone.
https://github.com/Omemanti/KiCAD/tree/master/NRF52832PS. been at KiCad for a couple of hours, been used to Eagle, so please double check.
-
@NeverDie
As mentioned earlier by someone the nrf52 is preset to 0.6v internal ref and a 1/5 divider so 0 - 3v is the max input so your calculation is correct.
The nrf51 is different because the ref can be set to a few different settings but the default is vdd.@rmtucker said in nRF5 Bluetooth action!:
@NeverDie
As mentioned earlier by someone the nrf52 is preset to 0.6v internal ref and a 1/5 divider so 0 - 3v is the max input so your calculation is correct.
The nrf51 is different because the ref can be set to a few different settings but the default is vdd.I've lately found that I seem to get a more accurate measurement if I multiply by 3131 instead of 3000. Just an empirical result with no real theory behind it.
-
What's going to be the best way to reduce the sleep current and Tx current on the nRF52? Since I'm feeding off a supercap for power, it's noticeably worse (by an order of magnitude) on the same task than the atmega328p+rfm69 combo. I've already increased the datarate to 2mbps, and it's inherently lower Tx current should give it a natural advantage.
I guess I'll try reducing Tx power and see if that makes much of a dent....
I suppose reducing 3 separate packets to one single packet, and maybe turning off ACK requests might also help. Then, maybe all of the LONG_WAIT's can be eliminated. Is the radio still awake even if the CPU is sleeping during a "wait" period? If so, that might be a large chunk of the wasted power.
I wonder if the mysensors mesh networking (which I don't intend to use) might be getting in the way, and possibly keeping it awake longer than it otherwise would be? Can I disable the mysensors meshnetworking just to be sure?
Sorry for the shotgun blast of questions, but I'm trying to get a sense of what will yield the highest payoff.
-
Since I'll be reducing Tx power in an attempt to reduce current consumption, I'll be using a scanner program to try to find empty channels. The only one I know of is: https://github.com/nRF24/RF24/tree/master/examples/scanner
for the nRF24L01, but it seems to work well enough if you let it run awhile. Anyone else using one that they like? -
Since I'll be reducing Tx power in an attempt to reduce current consumption, I'll be using a scanner program to try to find empty channels. The only one I know of is: https://github.com/nRF24/RF24/tree/master/examples/scanner
for the nRF24L01, but it seems to work well enough if you let it run awhile. Anyone else using one that they like?@NeverDie said in nRF5 Bluetooth action!:
Since I'll be reducing Tx power in an attempt to reduce current consumption, I'll be using a scanner program to try to find empty channels. The only one I know of is: https://github.com/nRF24/RF24/tree/master/examples/scanner
for the nRF24L01, but it seems to work well enough if you let it run awhile. Anyone else using one that they like?Nevermind. I see now that there's an entire entry on it:
https://forum.mysensors.org/topic/2454/node-cant-see-gateway-less-than-10m-away/11 -
I don't know if it is actually related, but I'll post the link to this programmer :)
adafruit.com/product/3571@gohan said in nRF5 Bluetooth action!:
I don't know if it is actually related, but I'll post the link to this programmer :)
adafruit.com/product/3571Not sure it's even legal to use this if you ever plan to sell PCBs on openhardware.io ...
You may use the J-Link EDU for non profit educational purposes only! Non-profit educational purposes means that you >may not use the J-Link EDU and its J-Link software.
- direct or indirect in or for a profit organization or business purposes or other undertaking intended for profit
- direct or indirect in any other commercial environment (e.g. office)
- to develop, debug, program or manufacturer a commercial product (or parts thereof)
- to use it to either earn money or reasonably anticipate the receipt of monetary gain from it.
-
@gohan said in nRF5 Bluetooth action!:
I don't know if it is actually related, but I'll post the link to this programmer :)
adafruit.com/product/3571Not sure it's even legal to use this if you ever plan to sell PCBs on openhardware.io ...
You may use the J-Link EDU for non profit educational purposes only! Non-profit educational purposes means that you >may not use the J-Link EDU and its J-Link software.
- direct or indirect in or for a profit organization or business purposes or other undertaking intended for profit
- direct or indirect in any other commercial environment (e.g. office)
- to develop, debug, program or manufacturer a commercial product (or parts thereof)
- to use it to either earn money or reasonably anticipate the receipt of monetary gain from it.
-
In my testing, NRF5_PA_LOW did offer some modest reduction in overall current consumption, but it's no silver bullet.
The range with NRF5_PA_MIN is just a few feet, so I don't consider it practical for the vast majority of use cases.
So, further reductions in current consumption will have to come from somewhere (?) else.
I suppose the next step is to turn-off auto ACK's and any listening for ACK's by the mote. Hopefully (?) there's a switch in myconfig which does that.
-
I have checked the current with my nRF52 board with integrated shunt. I have measured 6.5µA while sleeping until timeout or sleeping until interrupt. It doesn't matter if RX/TX are connected but after flashing the firmware a reset by removing the voltage is required.
There was an bug, with any type of sleep(0) which is fixed by this PR https://github.com/mysensors/MySensors/pull/909
-
Unless I'm doing it unwittingly, I'm not doing any sleep(0)'s at present.