IotaWatt solid red light - won't start

Hi,

I was in the process of connecting the unit to the wifi and was getting connected etc. I unplugged it as I was changing wifi networks. On plugging 5v in now the unit just shows a constant red LED and there are no flashes before that. It doesn’t start its wifi. I have the 9v sensor and 1 CT plugged in and have tried various combinations, but to no avail. Any suggestions? Thanks

That doesn’t sound good. There should be some kind of LED activity when first powered up. Can you give me a little more background?

How long have you had the unit?
Were you able to configure anything initially, even wifi?
What do you mean by “changing wifi networks”? can you describe the steps you were taking to do that?

I bought the unit last year but have only got around to powering it up now for a project. I has doing the initial setup with my phone as a wifi hotspot but wanted to change over to another portable wifi hotspot. I had powered up the unit and had found the onboard IotaWatt(number) wifi SSID ok on my phone and had started to login to that. Having got that far with my phone I thought that if I pulled out the 5V power the unit would reboot and I could proceed to connect it to the portable wifi dongle. However, when I put power back in to the unit, no LEDs flash but the red light comes on constantly and stays on for as long as power is supplied. No SSID appears and nothing else happens.
Thank you

OK. That puts it in perspective. It looks as if the firmware is corrupted, and I was interested in how that might have happened. Your device was probably updating it’s year-old firmware when you unplugged it. That process has a lot of controls to reduce the probability of that happening, but you can’t eliminate the windows of exposure. I think you need to reflash that device with new firmware. There are a few ways to proceed.

The DIY method involves downloading running a python program on your computer and using that to load the firmware with a micro-USB cable. If that’s something you think you want to do, I’ll try to walk you through it if you tell me what kind of computer resources you have available.

The other approach is to send the device back to either OEM or to me if you are in the USA, and we can easily flash it and, in my case, run the factory diagnostics.

Hi

Thanks for your quick replies. I can try the Python route as I have that on my laptop. Let me know what to do next.

Thank you

OK. I’ll assume you are using windows 10 unless you advise differently. You’ll need a version of python 2.7 and you need to install ESPTOOL.PY from

The `files on the IoTaWatt will not match the new firmware, so you will need to power down the IoTaWatt, open it up (screws are under the rubber pads), and remove the SDcard. Clean that and copy the files in the directory SD on github to the root.

Put the card back in the IoTaWatt and you will be ready to flash.

When you get that done, I’ll have
“update”: “MAJOR”,posted where to get a current firmware and how to use ESPTOOL to flash.

UPDATE: After you load the new files on the SDcard, edit config.txt with a text editor and change
"update": "MAJOR",
to
"update": "ALPHA",

Because I don’t want your device to try to update firmware again until you are running. The SD files in the github repo match the latest version. The MAJOR files are available, but they are buried in a release ZIP, so lets go with ALPHA.

The firmware is in the repo in the 02_03_05 release. Download that. It’s called firmware.bin.

Here’s the ESPTOOL command to load the firmware:

esptool.py --baud 921600 --port COM3 write_flash 0 C:\Users\Bob\Desktop\iotawatt.bin

modify with your COM port and path to firmware file.

1 Like

Hi Bob,

After a few tries I did indeed get that to work. Many thanks for the instructions.

1 Like

So, I have the solid red light as well. My IotaWatt history is:
Bought 2 months ago. Had some issue with the charlie release and emoncms but I found some other posts and set firmware settings to Alpha. That version of firmware fixed whatever issue I was having (cant remember the details now).

Unit was powered off a week or so and I reconnected, but cloud emoncms would not update. Tried some debugging but everything seemed connected and communicating. Local logging was working. Anyway, I now have a solid red light when logging on. Based on this thread, I assume it was updating firmware when I removed power at some point?

I will try the Python route, but I don’t look forward to that.

OK, there could be a lot of reasons for that. Would need the log to try to narrow it down.

What happened between these two states?

That would be in the category of lightning striking twice. The ESP has a very very very small window of exposure when loading new firmware. Basically, the new firmware is loaded to an alternate location in the flash and then once it’s verified to be correct using a hash, a single pointer to the new active firmware is altered. Probably takes a few microseconds and should not cause this problem.

That said, you have a bricked IoTaWatt and it needs fixing. You can try reflashing as above, or depending on where you are located, you can send it to OEM or me and we will reflash for you.

I think you are right. It turns out it was powered on and sitting on a desk a few days ago when this happened. I am working with a guy name Blake, and he was trying to get emoncms working again. He was logged in froma laptop to the iotawatt web server and lost connection. That is when the red light came on.

If you can point me to better instructions for the firmware, I would like to try. We have a test coming up this week, were were using the IotaWatt for. We have heater blankets on a Gas Turbine, and we were reading 14 CTs off the SCRs that feed the heaters.

I cant find the firmware.bin files on GitHub. But I think the link is taking me to a new charlie release.

Sounds interesting. Now I see why you weren’t using it for a week.

Don’t know what a Charlie release is. The auto update classes are ALPHA, BETA, MINOR, and MAJOR. If you were on the ALPHA, then the firmware is here 02_03_06, otherwise you probably want this 02_02_30.

Let me know how you make out.

Booya! I have never been so excited to see a flashing blue light!

I am a very basic user, but I was able to do this. For any one else like me reading this, these are my basic steps:

  1. Install Anaconda. This gets you basic python as well as some more user friendly tools. The key for me is it is a complete install I did not have to know much about.

  2. Add the esptool package from the link above. Basically, start a command prompt with admin privileges and type “pip install esptool”

  3. Plug the IotaWatt into your computer (assuming windows here). It will tell you some driver is not loaded. Google the driver, unplug the IotaWatt from your pc and install the driver (download should be something like CP210x_Windows_Drivers.exe).

  4. Plug the IotaWatt back in, and from a command prompt with admin priveledges, change directory to C:\Program Files\Anaconda3\Lib\site-packages. Run the command similar to “esptool.py --baud 921600 --port COM7 write_flash 0 C:\esptool\firmware.bin” You have to change the Com port to whatever yours is (it will tell you inthe system tray on windows 7) and change the location of where you stored firmware.bin.

  5. About 1 second after I hit Enter, it started flashing lights again!

2 Likes

It’s always nice to see someone prevail over Murphy’s Law. Glad it worked out so well, and thanks for the step by step rundown. I have not used Anaconda, will give it a try next time.

Hi
Just to let you know that I was able to recover the Iotawatt by flashing the SD card using the instructions above. Just a few wee points;
Obviously the .bin file is called “firmware.bin” and not iotawatt.bin
I had to run a port bridge to make the System recognise the Iotawatt when it was connected as it wasn’t coming up as a USB device for some reason.

I think the main point is not to interrupt the Iotawatt power supply in the first 10 or so minutes after turning it on as you don’t know what it’s doing the background and you might just interrupt something important.

However, I have 2 further problems now!

  1. I have connected the CTs to the Iotawatt and it’s not reading any current. I’m in the web interface and have chosen the correct CT (SCT013) but no current is being read. I don’t know what I can do to determine if this is a software or hardware issue?

  2. The voltage sensor input from the plug is showing a voltage as I insert the plug into the board, but once fully pressed home, the voltage drops to zero. I have to partially remove the plug from the board and it picks up a voltage again. I assume this is not a software issue?

Thanks for your help so far. I’d really like to get the unit working but if I can’t I’ll just buy another one!

I disconnect them all the time after only a few seconds. This isn’t necessary. It’s not really fragile.

With regard to the two problems, let’s take the voltage one first. Are you saying that with partial insertion of the VT connector, there is a correct voltage being reported? If so, that sounds like some kind of connection problem. It’s a pretty simple barrel plug, but they come in a variety of pin sizes. Did you get yours from the OEM shop?

The CTs will not read power without a voltage reference signal. So the voltage signal needs to be working solid first.

1 Like

Hey, this is Kerber again, 2 years late!. To rehash, I have 2 IotaWatt’s, one is fully operational and one has never really been used. It is a few years old and is a subject of the posts by me above.

It has been unused for 1.5 years now. It powers up and gives me the local AP SSID, but when I try and connect it fails and the AP is gone. I successfully accessed the AP for a few seconds and the web login came up but then it went away.

So I want to flash the firmware and the SD card with the latest. I am following the old thread and have a couple questions.

  1. On the latest Master branch on GitHub, there are only about 9 files under the SD folder. Is that all I copy to the SD card? Seems too small…

  2. I cannot find a firmware.bin anywhere on GitHub. I assume the ones linked above are too old to use.

Do I need to create a firmware.bin from the files on GitHub? If you give me the steps, I will be glad to try. Thanks!

  1. One other Item, are you still on Python 2 or have you changed to Python 3?

The files in the SD directory are all that you need. IoTaWatt will create the various logs.

The latest release is on Github here.
The firmware is firmware.bin.

I don’t use python directly, but I use it implicitly with platformio within VSCODE. For the purpose of loading the firmware, whatever esptool you use will dictate the version of Python required.