Powering Blues Wireless Notecard via 6V battery

Hi! I am sooo close to having my project complete, but I hit one last snag :frowning: Hoping it’s not too hard to figure out.

To recap, I have a SparkFun Blues Wireless MicroMod Starter Kit which I am trying to power via an external 6V lead acid battery. Everything works great when I power via USB-C, but the modem doesn’t turn on very consistently when powered via battery. I have seen the modem turn on ~once in ~ten attempts using the battery and I’ve never seen the modem successfully send logs to Notehub when powered via battery.

I understand that 6V is pushing it a bit for providing power to the board. So, I am using a buck regulator to drop the voltage a bit. I soldered the VOUT from the buck regulator to the VBAT/GND pins on the main board.

I have two different buck regulators. I have the SparkFun Buck Regulator Breakout - 3.3V (2A) and I have https://www.amazon.com/gp/product/B081N6WWJS/ which is an adjustable regulator which can handle inputs from 4-40V and outputs from 1.25-37V at 2A stable / 3A max.

First, I tried using the SparkFun regulator. The MCU boots fine when using it. Most of the LEDs on the board turn on, but I noticed the blue AEN light on the modem looking very dim. I measured the voltage at the AEN/GND and got a reading of 2.6V. In contrast, when I power the main board via USBC, I got a reading of 3.1V at AEN/GND.

I do not understand why an external 3.3V regulator would be an issue given there’s a 3.3V regulator built into the board itself, but I assume there’s some loss and I need to provide a little more juice. Please correct me if I’m misunderstanding because I thought any extra power I provided would just get dropped by the regulator before going through the system. Clearly that’s not the case!

So, I changed to using the adjustable regulator at 5V VOUT. Now, I measure the AEN/GND and see it at the expected 3.1V with the AEN LED shining brightly. A little confusing, but great! Progress!

After addressing that concern, I connected the battery and let my device run as if it were in production… and nothing! No green light turns on on the modem, it doesn’t succeed in dialing out. I do see an orange LED on the modem flicker on for a second or two when first connecting it to power. This behavior is the same with battery or USB.

So, I disconnect the battery, plug in USBC, and boom - works fine. I bounced back and forth trying this a few times and I saw the modem turn on once or twice when on battery power. Green LED flicked on and once I saw it establish a connection to Notehub, but I never saw it send my custom data to Notehub successfully. I’m not sure if it was only succeeding due to having been connected to USB power shortly prior or if it’s just dumb luck.

The power information on Blues website says:

Power Information
The Notecard’s main supply voltage (VMODEM_P) is used for the cellular modem and associated circuitry. The Notecard has on-board regulators designed for direct connection to a battery, so any voltage in the range of 2.5V to 5.5V may be provided.

The Notecard typically sits in an ~8µA@5V idle mode waiting for a request from the host MCU, however the Notecard current draw increases to the ~250mA range when the modem is active. Furthermore, when in a region requiring the use of GSM, it can spike to up to nearly 2A for a few milliseconds. The modem also draws 10’s of mA when the GPS is receiving or the CPU is performing session encryption. As such, it’s recommended that VMODEM_P be directly connected to a battery or other supply that is capable of such brief spikes. It is also recommended that PCB traces for VMODEM_P and GND be designed to handle such current.

The Notecard’s logic voltage (VIO_P) is provided by the Notecarrier or host system for digital communication; it will be either 1.8V or 3.3V. Although the Notecard typically draws very little current, this supply should be designed with a 150mA budget allocated to the Notecard.

I don’t feel I am violating any of these power concerns with the hardware specs I’m providing?

Am I missing something here? I was thinking about getting a regulator that can do 3A normal, but I don’t see an actual need for that. I don’t know what else I could change about my setup.

Thanks

I replaced the 22AWG wire going from VOUT of my regulator to VBAT/GND on my board with 18AWG and I think that’s helping. I’ve had the modem turn on and dial out successfully twice, but haven’t seen it send logs yet.

Maybe all the issues are with my wiring/connections? Going to investigate that more now.

I confess that I skimmed parts of your OP and could use a drawing or photo.
But I think if you get a robust 5 volt fixed regulator for the SLA, other power supplies will be happier with the stability and volt+ of headroom.

It would be surprising if a minor wiring size change in itself makes a difference. But their termination points are critical.

1 Like

The actual setup is a bit more complicated with some QWIIC connections etc, but the issue reproduces with a very barebones setup.

Here is a 6V battery with short, 18AWG wires running from it to a buck regulator. I’ve set the regulator to output ~5V. I soldered 18AWG wires to the VBAT and GND pins of the main board.

The green LED on the modem is on/blinking and it establishes a connection to Blues:

It sends a backlog of health data as it establishes a session connection:

and that’s it. It should write a note, send that note to my server as an outbound message, and then turn off the modem. Instead the modem hangs open forever until I kill power.

If I kill battery power and plug in USB - it functions exactly as I’d expect.

I’m going to look into being able to connect to the serial monitor without providing power to the device over USB. I’m not sure I can make much further progress without it, but if anything jumps out as wrong please shout at me :slight_smile:

I figured it out. I was a very, very stupid person who had tunnel vision for power related issues after having an initial voltage concern.

It’s literally the stupidest problem conceivable.

My setup code:

void setup()
{
  // Short delay on setup to allow Serial Monitor logging to initialize.
  // Without this, might miss `println` calls.
  delay(2500);

  Serial.begin(115200);
  while (!Serial)
    ; // wait for serial port to connect

  Serial.println("Beginning setup");

… so obviously it works when I connect a USB cable because it breaks out of the Serial loop… and then does nothing when I try to run it off of battery… and then magically fixes itself whenever I connect a serial monitor to debug.

The shaaame.

1 Like