AirGradient Forum

Can it work without Wi-Fi?

Can I buy a Airgradient One version 9 and it will work without Wi-Fi ?

I don’t mind not having UI with stats, I just want the readings

Do you know how to shut off the wifi ?

By default it will setup a wifi hotspot for your phone to connect to so you can configure the wifi network you want it on. If it doesn’t connect to Wifi (or maybe their dashboard) within 15 minutes, it will reboot itself and do the same process.

You could edit the code and flash the modifications so it doesn’t enable the wifi and doesn’t reboot if it isn’t connected, but out of the box, it will expect wifi

1 Like

Looking at the code - it seems simple enough

// set to true if you want to connect to wifi. You have 60 seconds to connect. Then it will go into an offline mode.
boolean connectWIFI=true;
1 Like

That code is for the Pro up to 4.2. Since you mentioned ONE v9, look at this file:

arduino/examples/ONE_V9/ONE_V9.ino at master · airgradienthq/arduino (github.com)

This highlighted line is where it notifies the hardware watchdog it is alive as part of sending data to the API, so if you aren’t intentionally connecting to wifi, somewhere you’ll need to call resetWatchdog(); every 3 minutes or so to keep it from self-rebooting, thinking something is wrong

1 Like

Missed that ONE v9 - but the code still seems to have a flag to disable wifi

1 Like

Correct, but I’m fairly certain you will also still need to add the resetWatchdog(); somewhere to prevent it from rebooting every ~5 min unless you don’t mind that

1 Like

Thank you SO much for your answers, when you are starting it is hard to find where to look !

Ok indeed I see the

L202  if (connectWIFI) connectToWifi();

Then I see

// Wifi Manager
void connectToWifi() {
  WiFiManager wifiManager;
  //WiFi.disconnect(); //to delete previous saved hotspot
  String HOTSPOT = "AG-" + String(getNormalizedMac());
  updateOLED2("180s to connect", "to Wifi Hotspot", HOTSPOT);
  wifiManager.setTimeout(180);
  if (!wifiManager.autoConnect((const char * ) HOTSPOT.c_str())) {
    Serial.println("failed to connect and hit timeout");
    delay(6000);
  }

}

But it does seem like the wifi hardware is up by default

I am looking at

“WifiManager by tzapu, tablatronix” tested with version 2.0.11-beta
#include <WiFiManager.h>

So I will ask them if I can disable the WiFi hardware. But it does not look like it can do it

Ok so I have no idea if this is true but GPT4 told me 2 alternatives:

  1. Desolder the WiFi chip from the board

I don’t really feel comfortable doing that

  1. It told me that if you never call Wifi-related code in an arduino, no wifi signal will be emitted

Do you know if this is right ?

It gave me this other example to disable it, if ran :

#include <WiFi101.h>

void setup() {
  WiFi.setPins(8,7,4,2);  // change these to any unused digital pins.
  WiFi.begin();
  delay(10000); // Wait for WiFi to connect.
  if (WiFi.status() == WL_CONNECTED) {
    WiFi.disconnect();
    WiFi.end();
  }
}

Surely I should reuse the other lib, but I wonder if this would work

But it feels quite stupid as it starts the Wifi, connects and then stops.

I am clueless on the intention here, especially if it told me before that no code would mean no signal emitted

As far as I know WiFi is disabled on the microcontroller by default. So if you remove all WiFi functions it should not be used.

The code that chat GPT gave you does not look correct at all.

I would remove the complete WiFiManager library and also the “SendToServer” functions as these are also calling the WiFi module. Then it should not use the WiFi module anymore.

1 Like

But still need to add the resetWatchdog() call somewhere if sendToServer() is removed

1 Like

Nice, thank you so much @MallocArray and @Achim_AirGradient

Will order my arigradient and share somewhere my code for other people wanting to avoid using wifi

Just saw these updates.

Feel free to look at a VERY quick edit of the existing code where I’ve tried to comment out any wifi stuff.

Might work, but a starting point to get it working I think ONE_V9-no-wifi.ino · GitHub

Any updates on this? I’m considering the purchase of an Air Gradient, but I’d like to use it in a location where WiFi is not allowed. I plan to just use the display to see the readings

(Then later I’d like to bring it back to my own bedroom where WiFi is allowed, so I’d like to be able to switch between modes somehow. Maybe I should look at other devices but I like the open-sourced nature of this)

I don’t think this is a core feature of what AirGradient is designed around.

As you said, it is open source so you could modify it to remove the wifi components either in the Arduino software or in the ESPHome configuration, but I don’t expect it is a priority for the developers at this time.

1 Like

Hi all,
For your reference, there is already an option available to modify AirGradient ONE Model I-9PSL to work offline.
A simple hack to make AirGradient One V.9 work out of the box without need of permanent WiFi connection (no coding or modifications required) is to use a dummy WiFi device during start up as follows:

  1. Have two devices with WiFi capability (e.g. two smart phones, a laptop and WiFi router, a laptop and smart phone). Notice none of the devices need internet connection, just WiFi capability.
  2. You’ll need the WiFi name and WiFi password of one of the devices to connect to AirGradient One . The second device is to access AirGradient One WiFi set up menu (I couldn’t make it work with a single device). Make sure tethering option (i.e. mobile hotspot) is turned on if using a smart phone, so AirGradient One can connect to the mobile device.
  3. Turn on AirGradient One and open WiFi menu in one of the devices as per instructions. Then input WiFi name and WiFi password of second device. Voila! it should connect to device after a few seconds (I had to keep turning device’s WiFi on/off until it was recognized by AirGradient).
  4. Turn off WiFi (i.e. tethering option for mobile hotspot) of device connected to AirGradient. You will notice AirGradient One will keep working (displaying sensors values) even though there is no WiFi device connected to it, so AirGradient leftmost led light will turn on as indication there is no WiFi connection.

The caveat of this hack is that AirGradient will reset every time is disconnected from power, so you’ll need to turn on WiFi device used for the hack every time AirGradient restarts to avoid getting into the WiFi connection loop.