ESP8266 Board

I found an interesting ESP8266 board and want to know if it is compatable with Blynk.

The Cactus Micro by: Tindie

http://tinyurl.com/hnut7y2

Brg,
Richard

99% sure it will work, but it’s not the cheapest of the bunch. It uses an integrated serial port, so in effect you would always use the ESP as WIfi shield for the Arduino, but it’s a nice all-in-one solution :slight_smile:

I’ve just started using Blynk with a Cactus micro rev2 (last year it cost only $9 on eBay).

It’s working great using the ESP8266_Shield.ino example in the Blynk library.
All you have to modify in that example is to pull pin 13 (Cactus WiFi enable pin) to HIGH in the beginning of setup ().
In the Blynk app, I’ve set the board definition to the Arduino Micro.

Good luck.
Yuval

3 Likes

Hello. I tried the ESP8266_Shield.ino example in the Blynk library.
My Cactus doesn’t connect to the wifi. I get the message “[1538] Failed to disable echo”. I added the set of pin 13. The code is:

void setup()
{
pinMode (13, OUTPUT);
digitalWrite (13, HIGH);
Serial.begin(9600);
…

Can anybody help me, please? My Cactus Micro Rev2 is all original. Must I upload any different firmware?

If you search the forum for “echo” you will see lots of people have the same problem.

It is a case of meticulously working through all the solutions offered and if this still fails use an easier setup (ESP board with a USB connector in standalone mode).

Thanks for your suggestion, Costas.
I already searched “echo” but I’m too ignorant to understand the solutions. What is an “ESP board with a USB connector in standalone mode”? Are you suggesting to change my hardware or to use it with different code? In this case, which code?
Anyway why could Yuval_Tsur use ESP8266_Shield.ino example? He was using the same hardware…

@davide I’m sure your current system can work with Blynk but you need to fix the “echo” issue.

It can take a few minutes, if you are very lucky, or it could take a few weeks or more to fix the problem.

I have had echo issues and eventually got my system to work but I don’t remember which one of the 10 possible factors that can cause the problem I had. When I came back to my system some time later “echo” had returned so for me I abandoned the notion of a WiFi shield for an Arduino.

ESP’s with USB ports:

I am honour bound to put this one at the top of the list based on the name of this forum.

https://www.sparkfun.com/products/13794 Sparkfun Blynk board

https://www.wemos.cc/product/d1-mini-pro.html WeMos D1 Mini Pro

https://www.wemos.cc/product/d1-mini.html WeMod D1 Mini

https://www.aliexpress.com/item/New-Wireless-module-CH340-NodeMcu-V3-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266/32683073762.html LoLin NodeMCU V3

http://www.banggood.com/Geekcreit-Doit-NodeMcu-Lua-ESP8266-ESP-12E-WIFI-Development-Board-p-985891.html NodeMcu

Probably lots more.

Based on price I am a fan of the WeMos products but as they are so cheap you get a very low level of support.

If you enter some of the board names in the search box for this site you will see details of Blynkers that are using them.

But what I would recommend Blynkers do is to provide details of the Projects they are planning to build and then other Blynkers can suggest an appropriate system (from less than $3).

It’s not worth my time messing about with “echo” issues when the fix is buy a “superior” system for just $5. I have dozens of Nano’s and quite a few ESP’s without USB ports, so one day I might look at echo again but it is very low on my priorities.

HTH

On same subject;

Cactus micro is connecting wifi but then blynk gives login timout error. This may help @Costas i think.

This is the code

// Cactus Micro rev 2.
// Use Lilypad Arduino USB settings
#include <espduino.h>
#define BLYNK_PRINT Serial
#include <BlynkSimpleStream.h>
#include <SimpleTimer.h>
SimpleTimer timer;
char auth[] = "xxxxxxx";


#define PIN_ENABLE_ESP 13
#define SSID "xxxxx"
#define PASS "xxxxxx"
boolean wifiConnected = false;
ESP esp(&Serial1, &Serial, PIN_ENABLE_ESP);

void wifiCb(void* response)
{
 uint32_t status;
 RESPONSE res(response);
 if(res.getArgc() == 1) {
 res.popArgs((uint8_t*)&status, 4);
 if(status == STATION_GOT_IP) {
 Serial.println("WIFI CONNECTED");
 wifiConnected = true;
 } else {
 Serial.println("WIFI OFFLINE");
 wifiConnected = false;
 } 
 }
}


void setup() {
 // Write to ESP8266
 Serial1.begin(19200);
 // Write to Console
 Serial.begin(19200);
 // Enable ESP8266
 esp.enable();
 delay(500);
 esp.reset();
 delay(500);
 while(!esp.ready());
 // Setup WiFi
 esp.wifiCb.attach(&wifiCb);
 esp.wifiConnect(SSID, PASS);
 while(!wifiConnected)
 {
 esp.process();
 }
 Blynk.begin(Serial1, auth);

  
}
void loop() {
 esp.process();
 if(wifiConnected)
    {
    Blynk.run();
    }
}

This is the serial screen output

mode : sta(18:fe:34:f2:94:5e)
add if0
scandone
WIFI OFFLINE
add 0
aid 9
pm open phy2,type:2 0 0
cnt

connected with xxxxx, channel 6
dhcp client start…
ip:10.10.10.18,mask:255.255.255.0,gw:10.10.10.1
WIFI CONNECTED
[8046]
___ __ __
/ _ )/ /_ _____ / /__
/ _ / / // / _ / '/
/
//_, /////_
/
__/ v0.4.4 on Lilypad USB

[8050] Connecting…
[10053] Login timeout
[13053] Connecting…
[18055] Connecting…