Giga WiFi R1 (STM32H7) Unsupported Hardware

I know that the Arduino Giga R1 WiFi is not on the list of supported boards, but I am hoping someone here may know of a workaround? It has the STM32H7 much like the Portenta H7.

So far I have been unable to find anything, probably for a reason, but I obviously would like to find a way to make it work with Blynk.

try

#include <WiFi.h>
#include <BlynkSimpleWifi.h>

This will not compile with the Giga

ok
maybe copy the error messages here. I am lazy to try to compile it.

Just made the most basic of sketches:

#define SECRET_SSID "router"                      
#define SECRET_PASS "password"
#define BLYNK_TEMPLATE_ID     "wontcompileonthe"
#define BLYNK_TEMPLATE_NAME   "GiGa"
#define BLYNK_AUTH_TOKEN      "1234"

#include <WiFi.h>
#include <BlynkSimpleWifi.h>

char ssid[] = SECRET_SSID;        // your network SSID (name)
char pass[] = SECRET_PASS;

void setup() {
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}

void loop() {
}

Which compiles with the following errors (these errors do not occur with most other boards):

c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:166:12: error: 'Timer' does not name a type; did you mean 'time'?
     static Timer  blynk_millis_timer;
            ^~~~~
            time
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:167:12: error: 'Ticker' does not name a type; did you mean 'Socket'?
     static Ticker blynk_waker;
            ^~~~~~
            Socket
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp: In function 'void BlynkSystemInit()':
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:177:9: error: 'blynk_waker' was not declared in this scope
         blynk_waker.attach(&blynk_wake, 2.0);
         ^~~~~~~~~~~
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:177:9: note: suggested alternative: 'blynk_wake'
         blynk_waker.attach(&blynk_wake, 2.0);
         ^~~~~~~~~~~
         blynk_wake
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:178:9: error: 'blynk_millis_timer' was not declared in this scope
         blynk_millis_timer.start();
         ^~~~~~~~~~~~~~~~~~
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:178:9: note: suggested alternative: 'millis_time_t'
         blynk_millis_timer.start();
         ^~~~~~~~~~~~~~~~~~
         millis_time_t
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp: In function 'void BlynkDelay(millis_time_t)':
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:183:9: error: 'wait_ms' was not declared in this scope
         wait_ms(ms);
         ^~~~~~~
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:183:9: note: suggested alternative: 'wait_ns'
         wait_ms(ms);
         ^~~~~~~
         wait_ns
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp: In function 'millis_time_t BlynkMillis()':
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:188:16: error: 'blynk_millis_timer' was not declared in this scope
         return blynk_millis_timer.read_ms();
                ^~~~~~~~~~~~~~~~~~
c:\Users\timst\Documents\Arduino\libraries\Blynk\src\utility\BlynkDebug.cpp:188:16: note: suggested alternative: 'millis_time_t'
         return blynk_millis_timer.read_ms();
                ^~~~~~~~~~~~~~~~~~
                millis_time_t
Multiple libraries were found for "WiFi.h"
  Used: C:\Users\timst\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.0.2\libraries\WiFi
  Not used: C:\Users\timst\Documents\Arduino\libraries\WiFiNINA
exit status 1

Compilation error: exit status 1

are you able to compile it for Uno?

It will compile for almost any board that falls under AVR or MegaAVR including the Uno.

So problem solved then?

Pete.

No, the original question was in reference to the Arduino Giga R1 WiFi. He was asking if the basic sketch would compile for other boards which it does. This is a similar issue to Use Arduino OPTA and Portenta as it also uses the STM32H7 which Blynk does not natively support as of yet.

in BlynkDebug.cpp on line 133 change

#elif defined(ARDUINO) && (defined(ARDUINO_ARDUINO_NANO33BLE))

to

#elif defined(ARDUINO) && (defined(ARDUINO_ARCH_MBED))

cc: @vshymanskyy

1 Like

That worked like a charm, thank you @Juraj !

I think the relevant fix is already available on our github repo for quite some time.