I love the Shelly 1 WiFi relays and have flashed them with Blynk code.
Has anyone figured out how to program the Shelly1 PLUS using the Arduino IDE?
The excellent Shelly 1 is a generic ESP8266 and flashes easily like a Sonoff. The newer Shelly 1 PLUS has a single core ESP32. I’d love to figure out how to get this device on Blynk using the Arduino IDE.
All help welcome.
Thanks.
I think you’re talking about the Shelly Plus 1 (not 1 Plus).
I’ve not used one myself yet, but there’s a pinout and GPIO listing here…
I’ve never heard of a single core ESP32, but the image of the board in that link shows an ESP32-U4WD chip, which is a regular dual-core MCU. If that’s the chip that’s used in the devices you have then choosing ESP32 Dev Board in the IDE should be fine.
Pete.
Thanks for this @PeteKnight . I’ll take another crack at this device.
I’ve had great results with the Shelly 1s and now prefer them to Sonoffs.
I bought a couple of Plus 1s not realizing they were different. Now we’ll learn about them…
I’ve had far better success with Shelly devices compared to Sonoffs. I’ve had lots of Sonoffs die on me that I wouldn’t choose them again.
The only problem with Shelly is the way they discontinue some of their products quite quickly after launching them.
Pete.
1 Like
@PeteKnight
Looks like the Shelly Plus 1 is, indeed, a single-core ESP32.
Not currently supported by Arduino IDE.
opened 06:39PM - 14 May 21 UTC
Type: Feature request
Resolution: Wontfix
Type: Documentation
Type: Chip support
### Hardware:
Board: ESP32-DevKitM-1 (ESP32-U4WDH)
Core Installation ver… sion: 2.0.0-alpha1
IDE name: Arduino IDE
Flash Frequency: 40Mhz
PSRAM enabled: no
Upload Speed: 115200
Computer OS: Windows 10
### Description:
Is ESP32-DevkitM-1 (ESP32-U4WDH) supported? It's single core, so it gets the same error that the solo's were getting:
```
13:33:33.253 -> E (118) cpu_start: Running on single core variant of a chip, but app is built with multi-core support.
13:33:33.253 -> E (118) cpu_start: Check that CONFIG_FREERTOS_UNICORE is enabled in menuconfig
```
### Sketch: (leave the backquotes for [code formatting](https://help.github.com/articles/creating-and-highlighting-code-blocks/))
```cpp
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Blink
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(21, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(21, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(21, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
```
### Debug Messages:
```
13:33:33.159 -> ELF file SHA256: 0000000000000000
13:33:33.159 ->
13:33:33.159 -> Rebooting...
13:33:33.159 -> ets Jul 29 2019 12:21:46
13:33:33.159 ->
13:33:33.159 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
13:33:33.159 -> configsip: 188777542, SPIWP:0xee
13:33:33.159 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
13:33:33.159 -> mode:DIO, clock div:2
13:33:33.159 -> load:0x3fff0030,len:1252
13:33:33.159 -> load:0x40078000,len:12692
13:33:33.159 -> load:0x40080400,len:3100
13:33:33.159 -> entry 0x400805ec
13:33:33.253 -> E (118) cpu_start: Running on single core variant of a chip, but app is built with multi-core support.
13:33:33.253 -> E (118) cpu_start: Check that CONFIG_FREERTOS_UNICORE is enabled in menuconfig
13:33:33.300 ->
13:33:33.300 -> abort() was called at PC 0x400825e9 on core 0
13:33:33.300 ->
13:33:33.300 ->
13:33:33.300 -> Backtrace:0x400d4c55:0x3ffe3b800x40087045:0x3ffe3ba0 0x4008c269:0x3ffe3bc0 0x400825e9:0x3ffe3c40 0x40078f6b:0x3ffe3c90 |<-CORRUPTED
```
I was able to upload sketches to the device but not run them. Dang. Can’t use Plus 1s with Blynk. Back to ‘standard’ Shelly 1 with its generic ESP8266.
Thanks, Pete, for being so helpful. Much appreciated.