MKRFOX1200 autonomy on batteries

pietervannuffel:
I'm feeding my MkrFox1200 a 3.7V Lipo, works fine

Can you please confirm that it still works fine? A fully charged single LiPO cell will provide 4.2V, is this still fine with your board? I totally need to find a rechargeable solution for a MKRFOX, and then apply a solar panel to charge it

Thanks

Still running fine. I use this battery.

edugimeno:
Can you please confirm that it still works fine? A fully charged single LiPO cell will provide 4.2V, is this still fine with your board? I totally need to find a rechargeable solution for a MKRFOX, and then apply a solar panel to charge it

Thanks

pietervannuffel:
Still running fine. I use this battery.

Good to know Pieter...And do you recharge it with a solar panel or anything or just charge it one time and let it work until it's depleted? In case you are charging it (solar panel or whatever) can you provide any details? Thanks!!

Karma for the follow up Pieter.

pietervannuffel:
Still running fine. I use this battery.

How did you connected it, on provided battery input pins or VIN? With some kind of voltage regulation or direct? And do you recharge them while MKR is working?

I ordered today Panasonic 3.7V 3400mAh Lithium Ion Rechargeable Unprotected Battery:
https://www.amazon.de

with some power shield / holder with protection and regulated outputs:
https://www.amazon.de

Hello,
I use a ht7333 regulator with two 1000uF and two ceramic caps.
A small solar panel connected to a tp4056 is loading a single 18650 lition cell.
Starting the device with loaded caps is better.
Soldered is better then on breadboard
It works good and for now it runs for test since 10 days without solar panel.

Andonoc:
Hello,
I use a ht7333 regulator with two 1000uF and two ceramic caps.
A small solar panel connected to a tp4056 is loading a single 18650 lition cell.

Andonoc, from what ather were saying above, it seems that the lithium battery can be connected directly to VBat plug, with no issues. Where are you using the regulator? Can you share an schematic?

Thanks

Hi
here how to connect the TP4056
TP4056
I use only modules with battery discharge protection(3 ic s on the pcb, not those with only one)

and here how is the datasheet schematic for the capacitors. I put ceramic caps and 1000uA electrolyts but you can try with other combinations.
HT7333

Then i soldered a on/off switch because often the mkrfox hang up booting with empty caps.

If you read in the FAQ of the mkrfox1200:

Q: Can I attach a Li-Po Battery to the board?
A: No, the board is designed to run with a 3V battery pack. A battery pack is made up of 2 AA or AAA batteries in series. No more tahn 3V must be applied otherwise the board will be damaged.

Powering the Arduino without solar panel maybe i will find another solution, like rechargable ni-mh, but with panel i dont think the LDO will make problems.

lifepo4 is another solution, but i dint find a cheap charging module.

Hi there
New to the discussion.

I have a MKRFOX1200 connected with 3x1,5v batteries to the green battery port - this one has send for over 6 months now - 1 time per hour.

Then I have build 3 other MKRFOX1200 boards - also with 3x1,5v batteries - but connected to vin port, sending 1 time per hour - and as Cristiano_Russo said - consumption increase when using the VIN port.

After 1 month the battery is done. The good thing about using the VIN port is, the board output to ex sensors always will be 3V.

Can anyone tell me - how I can use the VIN port and still have the board to go to totally sleep mode - so the consumption between sending is close to nothing.

I am using the #include <ArduinoLowPower.h> library - and the LowPower.deepSleep(10006060); command.

Hi.
On the official website, it says that this board could run up to 6 months with 2x AA or AAA batteries.
But for me the autonomy is less than one week...with AA battery and transmission every 10 minutes.
So I decide to measure the current during deepSleep, nothing connect to the mkrFox.
The result is 800 uA but in theory it should be less than 100 uA.
WHY??
The library is ArduinoLowPower.h
and the command is LowPower.deepSleep(30000);

Any idea??
Thanks in advance

Try the "hourly" builds of SAMD21 board libraries. They add a VERY_LOW_POWER directive to mkrfox that avoids to init pins as INPUT. The power consumption descend then to about 30-70uA

Hi!
Thanks a lot for the response.
You mean a new version for Arduino low power library?
The last I can find is Arduino_Low_Power-1.2.1. (2019-03-13) I already use this one.

Or do you mean a new Arduino Samd board manager (32-bits ARM Cortex-M0+) ?
I use the 1.6.21 (Seems not longer exists...) and there is a 1.8.1 available

Where can I find that?

I mean the Samd board manager:

At the bottom part there are instructions on how to use the so-called hourly builds. The problem for me is that they use gcc7 and some other different parts that made my tests not working fine, so i did a temporary fork here: GitHub - avelo/ArduinoCore-samd: Arduino Core for SAMD21 CPU

You can use that or just apply the differences there (they are very minor, just boards.txt and wiring.c modified) over your 1.6.21 directly

...by the way, with my code I'm having freezes sometimes after about 1 day running, but depending on the usage of some other electronic components, so It can work for you.. or not.

Thanks again...
I would like just to apply the differences but I don't find wiring.c
I have one : C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring.c
But the file is so different with this one:ArduinoCore-samd/wiring.c at master · arduino/ArduinoCore-samd · GitHub ...
I tried to add the code:

for (uint32_t ul = 0 ; ul < NUM_DIGITAL_PINS ; ul++ )
  {
    pinMode( ul, INPUT ) ;
}

But the current is still the same during sleep

With pins as INPUT, the current is 600µA
OUTPUT: 1.3mA
INPUT_PULLUP: 1.7 mA
INPUT_PULLDOWN: 150µA

With INPUT_PULLDOWN, the result is much better, but not as good as expected...

pchatill:
Thanks again...
I would like just to apply the differences but I don't find wiring.c
I have one : C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring.c
But the file is so different with this one:ArduinoCore-samd/cores/arduino/wiring.c at master · arduino/ArduinoCore-samd · GitHub ...
I tried to add the code:

for (uint32_t ul = 0 ; ul < NUM_DIGITAL_PINS ; ul++ )

{
    pinMode( ul, INPUT ) ;
}



But the current is still the same during sleep

That windows path is not the correct one, you are in the \avr\ folder. Have to be a \samd\cores\arduino\wiring.c
Don't know were it is located in windows, but probably it will be inside your user \AppData

And the trick is just to remove or comment the code to avoid pinMode initialization

Yes! I find the good one:
C:\Users\Patrick\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.6.21\cores\arduino
I will test next week.
Thank you avelo!!

I modified the wiring.c file and removed the lines:

for (uint32_t ul = 0 ; ul < NUM_DIGITAL_PINS ; ul++ )
  {
    pinMode( ul, INPUT ) ;
}

But I didn't noticed any change.
Then I upgraded the Arduino Samd board manager (32-bits ARM Cortex-M0+) 1.6.21 to 1.8.1
And now the current in deepsleep in 0 !! (I mean not measurable)
I'm not specialist and I can't explain why ...
If someone can provide some informations ...
Thanks

pchatill:
I modified the wiring.c file and removed the lines:

for (uint32_t ul = 0 ; ul < NUM_DIGITAL_PINS ; ul++ )

{
    pinMode( ul, INPUT ) ;
}



But I didn't noticed any change.
Then I upgraded the Arduino Samd board manager (32-bits ARM Cortex-M0+) 1.6.21 to 1.8.1
And now the current in deepsleep in 0 !! (I mean not measurable)
I'm not specialist and I can't explain why ...
If someone can provide some informations ...
Thanks

1.8.1 Incorporates exactly that changes (among others), so probably the code resulted messed anywhere in your 1.6.21...