Amazon Echo ESP8266 control, with natural speech commands

well done @chrome1000, Everything is working including the elusive “Routines”. In conclusion the only anomaly is the ESP8266 2.4.2 board problem, i don’t know what is wrong with it to stop everything compiling, including my older sketches too. Which only proves it must be the update to 2.4.2.

The device name doesn’t need to have any relationship to the callback name. You can name either of them however you like.

That said, if you were to use a single ESP to emulate multiple devices (Switch One, Switch Two, Switch Three…), giving your callback functions names that relate their associated device names would make the code easier to follow and debug.

@chrome1000 many thanks for your help, all devices are up and running now, funnily enough the only issue i had was that OTA on Sonoff devices didn’t work, (all other devices like wemos d1 mini and my homemade esp-01 switches) worked OTA fine. i needed to unwire them (sonoffs) and hard flash via the laptop, now reflashed and OTA now works again, very strange…must be a bug in the esp8266 board version, by the way i’m still having to use version 2.3.0 due to the compiling errors using 2.4.2. i confirm everything in the Alexa app is working including the always on issue is now working correctly and so are Groups, routines and timers etc…really good project. I’ve ordered some wifi bulbs, so will incorporate these when i get them too.Hope all this helps other people that are experiencing the same issues.

Certain ESP8266 variants like the Sonoff and ESP-01 don’t have enough memory to make use of OTA.

You can do OTA on Sonoffs provided your code is small enough. The device needs enough memory to store the existing code and the new code, so with a 1MB device your code can’t be larger than 512K.
You may also need to edit your boards file in the IDE to ensure you’re not allocating any unnecessary memory to SPIFFS.
It’s also possible to replace the flash chips on the ESP8266 based Sonoffs if you have a steady hand…

It also makes a difference which flash mode you use when compiling your code. DOUT was always the mode to use, but I’ve had a few issues with one mode working via direct flash mode and another being needed for OTA. Do a few tests to make sure what works with your particular versions of everything and add some notes at the top of your code which reminds you which settings to use.


1 Like

I have had good results with Sonoff using OTA, Core 2.4.2 and DOUT flash mode…

@PeteKnight @Gunner Thank you both! Always learning.

nice article @PeteKnight , i’ve ordered 10 of those chips to mess around with.

yeah @Gunner i meant to follow up, my issue as i first thought to be 2.4.2 was infact in conclusion the sonoff memory was not enough for this particular OTA sketch considering the size of the already existing sketch that the sonoffs were running. I too can confirm 2.4.2 works fine OTA, I thought it was strange that i didn’t encounter the same OTA issue when updating a wemos d1 mini with the same update sketch as the sonoffs, of course they have 4MB.compared to the 1MB on the sonoff. The only anomaly being that the OTA worked on my homemade esp-01 switch which only has 512kb? Anybody hazzard a guess as to why it was only all 3 sonoffs that failed the OTA update, all 5 devices had the exact existing OTA sketch on them, i was updating all 5 devices with the same new espalexa sketch, the esp-01 and wemos d1 both OTA success whilst all 3 sonoffs failed (needed connecting to laptop and hard flashed)? Just for info, now all are running the new OTA Espalexa sketch, OTA updates are now possible on all 5 devices.

yeah exactly right @chrome1000, memory limitation.

I uploaded this sketch to a NODEMCU ESP8266 D1 Mini and in the serial monitor I just get a few characters of garbage such “⸮$F⸮⸮rJ⸮” and nothing else happens. What am I doing wrong?

I have confirmed the ESP8266 is on my wifi network but I never got the FAKEWEMO SSID to configure it. It is also connected to Blynk but Alexa cannot find anything. I don’t understand why it is configured to my wifi. I tried other sketches with it hard coded in but I overwrote them with this sketch. I am stumped?

Is there a way to do a full reset on the ESP8266?

Your serial monitor is set to the wrong baud rate.

In the Arduino IDE choose Tools, Erase Flash, All Flash Contents.then upload your code.


So, is that like a Mazda Ranger pickup :stuck_out_tongue:

I don’t think it matters if you are using a NodeMCU or a Wemos (LOLIN) D1 Mini as they are both running the same ESP8266 chip…

Your BAUD rate in your serial monitor needs to match your sketch and in the IDE you can chose this option


1 Like

Opps… looks like I was beaten to the punch by @PeteKnight

1 Like

My ESP8266 is connected to my WiFi network and the device is connected to Blynk, but Alexa cannot find any new devices? I have two Gen 2 Echo Dots and an Echo Show. What could be the issue here?

What skill needs to be enabled for Amazon Alexa? My device is online and connected to Blynk but Alexa cannot find any new devices. I am really stumped. I hope someone can help.

In the serial monitor I get this:

*WM: Request redirected to captive portal
*WM: Handle root
*WM: WiFi save
*WM: Sent wifi save page
*WM: Connecting to new AP
*WM: Connecting as wifi client…
*WM: Connection result:
*WM: 3
*WM: freeing allocated params!

And after that nothing more…

If you’re using the WemoManager version of the code, update to the Espalexa version from my August 8 post.

I am using Espalexa version. Connected to WiFi and Blynk but no devices found. Is there a bill that needs to be activated for this to work?

I think I may be using a version from April? When I get home from work I will try the August 8th version. Not sure if that is the one I used, but the version I used did use the Expalexa libraries.

Nope. No Alexa skill necessary. I don’t know if it will make a difference, but try discovering through the Alexa app on your phone or tablet rather than by asking Alexa verbally. That’s what works for me.

Have tried discovery by phone app, website and verbally. Nothing works.

I just got home and checked and I am using the code from Aug. 8th. Connects to wifi and Blynk but Alexa cannot find the devices. I do not know what else to try to make this work.