Low power WiFi application

You want to build a low power application that will run off batteries and every so often you want it to connect up to your network and send some data.

First you try a Parallax-ESP unit and find that it uses about 100ma of power and is always on. This can eat a battery fast. The esp8266 modules do have a sleep mode but in its configuration is not usable. The unit goes to sleep and then wakes up and tries to reboot itself and gets lost. Even the ESP01 units have to have a wire connected to a pin for this option to work.

Well how about using a XBEE WiFi module. These unit have an AT command structure and can be program outside of your application. Using the DIGI XCTU application you can get the configuration of these unit and even setup all the connection information it needs to use your WiFi network. Even better is that is has a sleep mode that uses no power while it's sleeping. You can set the sleep time and wake time and the unit will cycle through these events. Even better is if you monitor the CTS pin on the unit you can see when the unit is awake so you can package up your data and send a burst of data.

When the unit is awake though it does use a lot of power so limiting that time is important.

You may want to check these units out: XBEE WiFi Module



  • In the Parallax-ESP version for BadgeWX we added low power mode. I can't recall the technique nor numbers, and I'm certain it didn't drop current down to zero... However, it might be useful vs nothing else. Hmm. maybe there was also a block to enable low power..... not sure if that got published in the end, such are the dusty mind cobwebs.

    Sources will be in GitHub.

    As it happens, I'll be working on those over Easter break, so when I stumble across the relevant info I'll post it here. (In case you don't get there first!)

  • I see there is code in the ESP unit to put it to sleep but sadly it does not work because the ESP8266 unit doesn't know how to wake up and start running the code again. There sleep mode requires some pins to be shorted together to enable sleep mode to work correctly.

    The XBEE unit supports sleep mode out of the box without any special codes being sent to the unit. You configure it and it works.

  • Those pins are configured ready on the Parallax WiFi module., so that the timed and I/O wake-up modes will work.

    But there's also some other sleep modes which reduce the current a fair chunk without fully sleeping the module (ie. does not need those pins). More like a soft-sleep than a hardware-sleep.

    I think what you said earlier implied that the soft-sleep didn't work with ESP8266, but when we tested a couple of those modes with the Badge we could save a fair amount of current. (Although now you mention it, I think your right that only a couple of the sleep modes actually worked as expected, and a couple we couldn't get to do anything noticeable. I think there were 3 or 4 modes).

    Of course YMMV. Just mentioning what I recall in case it's helpful or worthy of some fresh investigations !

    BTW... I'm experimenting with some P2 wireless loading at the moment, and your fix for hiding the WiFi module from being grabbed by the dastardly SimpleIDE comport drop down might be handy right now :) - would you mind if I merge your code into my version?

  • iseriesiseries Posts: 841
    edited 2020-04-09 - 15:15:52

    I have all the code ready to put back into the current Parallax-ESP module. I only need to create a pull request.


  • Any reason to not consider BT-LE?
  • Bluetooth LE is limit in distance and only works as a device. So if you want to build a device that is discoverable through BLE that's fine but will not work if you want to connect to a network or a computer.

  • WiFi is not low-power and sleep modes have always been an issue on the ESP8266. I think they are supposed to have improved that on the ESP32 but the software support isn't nearly as mature. It sounds like what you really need is something more like LoRa, using special modulation to get low bandwidth a long distance with minimal power.
Sign In or Register to comment.