From 19782f23251152264c9efbbcb7da1b053e3bdd0a Mon Sep 17 00:00:00 2001 From: Evan Strasnick Date: Sun, 6 Oct 2019 15:14:45 -0700 Subject: [PATCH 1/2] Add support for new Arduino Nano 33 IoT. Note RGB data pins different from other SAMD boards --- RGBmatrixPanel.cpp | 13 ++++++++----- examples/PanelGFXDemo_16x32/PanelGFXDemo_16x32.ino | 13 ++++++++----- examples/colorwheel_32x32/colorwheel_32x32.ino | 9 ++++++--- .../colorwheel_progmem_32x32.ino | 14 +++++++++++++- examples/plasma_16x32/plasma_16x32.ino | 10 ++++++---- examples/plasma_32x32/plasma_32x32.ino | 10 ++++++---- examples/scrolltext_16x32/scrolltext_16x32.ino | 9 ++++++--- examples/testcolors_16x32/testcolors_16x32.ino | 10 ++++++---- examples/testshapes_16x32/testshapes_16x32.ino | 9 ++++++--- examples/testshapes_32x32/testshapes_32x32.ino | 9 ++++++--- examples/testshapes_32x64/testshapes_32x64.ino | 11 +++++++---- library.properties | 2 +- 12 files changed, 79 insertions(+), 40 deletions(-) diff --git a/RGBmatrixPanel.cpp b/RGBmatrixPanel.cpp index 45f3161..be80890 100644 --- a/RGBmatrixPanel.cpp +++ b/RGBmatrixPanel.cpp @@ -106,7 +106,11 @@ void RGBmatrixPanel::init(uint8_t rows, uint8_t a, uint8_t b, uint8_t c, ) { #if defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_ESP32) // R1, G1, B1, R2, G2, B2 pins - static const uint8_t defaultrgbpins[] = { 2,3,4,5,6,7 }; + #if defined(ARDUINO_SAMD_NANO_33_IOT) + static const uint8_t defaultrgbpins[] = { 4,5,6,7,8,9 }; + #else + static const uint8_t defaultrgbpins[] = { 2,3,4,5,6,7 }; + #endif memcpy(rgbpins, pinlist ? pinlist : defaultrgbpins, sizeof rgbpins); #if defined(ARDUINO_ARCH_SAMD) // All six RGB pins MUST be on the same PORT # as CLK @@ -147,7 +151,7 @@ void RGBmatrixPanel::init(uint8_t rows, uint8_t a, uint8_t b, uint8_t c, addrbport = portOutputRegister(digitalPinToPort(b)); addrbmask = digitalPinToBitMask(b); addrcport = portOutputRegister(digitalPinToPort(c)); - addrcmask = digitalPinToBitMask(c); + addrcmask = digitalPinToBitMask(c); plane = nPlanes - 1; row = nRows - 1; swapflag = false; @@ -870,10 +874,10 @@ void RGBmatrixPanel::updateDisplay(void) { ((ptr[i+WIDTH*2] << 2) & 0x0C); CLKPORT = tick; // Clock lo CLKPORT = tock; // Clock hi - } + } #elif defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_ESP32) for (int i=0; i #include "image.h" // Precomputed colorwheel image is here +// Most of the signal pins are configurable, but the CLK pin has some +// special constraints. On 8-bit AVR boards it must be on PORTB... +// Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro), +// Pin 11 works on the Arduino Mega. +// Pin 8 works on the Adafruit Metro M0 or Arduino Zero, +// Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB +// Matrix Shield, cut trace between CLK pads and run a wire to A4). +// Pin A6 works on the Nano 33 IoT +// On other 32-bit SAMD boards it must be on the same PORT as the RGB +// data pins (D2-D7)... Pin 8 works + #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA -#define OE 9 +#define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT +//#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 #define A A0 #define B A1 diff --git a/examples/plasma_16x32/plasma_16x32.ino b/examples/plasma_16x32/plasma_16x32.ino index 728cf82..e942b6a 100644 --- a/examples/plasma_16x32/plasma_16x32.ino +++ b/examples/plasma_16x32/plasma_16x32.ino @@ -11,16 +11,19 @@ // Most of the signal pins are configurable, but the CLK pin has some // special constraints. On 8-bit AVR boards it must be on PORTB... // Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro), -// Pin 11 works on the Arduino Mega. On 32-bit SAMD boards it must be -// on the same PORT as the RGB data pins (D2-D7)... +// Pin 11 works on the Arduino Mega. // Pin 8 works on the Adafruit Metro M0 or Arduino Zero, // Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB // Matrix Shield, cut trace between CLK pads and run a wire to A4). +// Pin A6 works on the Nano 33 IoT +// On other 32-bit SAMD boards it must be on the same PORT as the RGB +// data pins (D2-D7)... Pin 8 works #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA -#define OE 9 +#define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT +//#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 #define A A0 #define B A1 @@ -126,4 +129,3 @@ void loop() { matrix.swapBuffers(false); } - diff --git a/examples/plasma_32x32/plasma_32x32.ino b/examples/plasma_32x32/plasma_32x32.ino index 13d3251..df9e945 100644 --- a/examples/plasma_32x32/plasma_32x32.ino +++ b/examples/plasma_32x32/plasma_32x32.ino @@ -11,16 +11,19 @@ // Most of the signal pins are configurable, but the CLK pin has some // special constraints. On 8-bit AVR boards it must be on PORTB... // Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro), -// Pin 11 works on the Arduino Mega. On 32-bit SAMD boards it must be -// on the same PORT as the RGB data pins (D2-D7)... +// Pin 11 works on the Arduino Mega. // Pin 8 works on the Adafruit Metro M0 or Arduino Zero, // Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB // Matrix Shield, cut trace between CLK pads and run a wire to A4). +// Pin A6 works on the Nano 33 IoT +// On other 32-bit SAMD boards it must be on the same PORT as the RGB +// data pins (D2-D7)... Pin 8 works #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA -#define OE 9 +#define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT +//#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 #define A A0 #define B A1 @@ -121,4 +124,3 @@ void loop() { angle4 -= 0.15; hueShift += 2; } - diff --git a/examples/scrolltext_16x32/scrolltext_16x32.ino b/examples/scrolltext_16x32/scrolltext_16x32.ino index 795af98..111d237 100644 --- a/examples/scrolltext_16x32/scrolltext_16x32.ino +++ b/examples/scrolltext_16x32/scrolltext_16x32.ino @@ -11,16 +11,19 @@ // Most of the signal pins are configurable, but the CLK pin has some // special constraints. On 8-bit AVR boards it must be on PORTB... // Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro), -// Pin 11 works on the Arduino Mega. On 32-bit SAMD boards it must be -// on the same PORT as the RGB data pins (D2-D7)... +// Pin 11 works on the Arduino Mega. // Pin 8 works on the Adafruit Metro M0 or Arduino Zero, // Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB // Matrix Shield, cut trace between CLK pads and run a wire to A4). +// Pin A6 works on the Nano 33 IoT +// On other 32-bit SAMD boards it must be on the same PORT as the RGB +// data pins (D2-D7)... Pin 8 works #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA -#define OE 9 +#define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT +//#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 #define A A0 #define B A1 diff --git a/examples/testcolors_16x32/testcolors_16x32.ino b/examples/testcolors_16x32/testcolors_16x32.ino index 010be58..90027db 100644 --- a/examples/testcolors_16x32/testcolors_16x32.ino +++ b/examples/testcolors_16x32/testcolors_16x32.ino @@ -12,16 +12,19 @@ // Most of the signal pins are configurable, but the CLK pin has some // special constraints. On 8-bit AVR boards it must be on PORTB... // Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro), -// Pin 11 works on the Arduino Mega. On 32-bit SAMD boards it must be -// on the same PORT as the RGB data pins (D2-D7)... +// Pin 11 works on the Arduino Mega. // Pin 8 works on the Adafruit Metro M0 or Arduino Zero, // Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB // Matrix Shield, cut trace between CLK pads and run a wire to A4). +// Pin A6 works on the Nano 33 IoT +// On other 32-bit SAMD boards it must be on the same PORT as the RGB +// data pins (D2-D7)... Pin 8 works #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA -#define OE 9 +#define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT +//#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 #define A A0 #define B A1 @@ -69,4 +72,3 @@ void setup() { void loop() { // Do nothing -- image doesn't change } - diff --git a/examples/testshapes_16x32/testshapes_16x32.ino b/examples/testshapes_16x32/testshapes_16x32.ino index 61ae36f..9984959 100644 --- a/examples/testshapes_16x32/testshapes_16x32.ino +++ b/examples/testshapes_16x32/testshapes_16x32.ino @@ -12,16 +12,19 @@ // Most of the signal pins are configurable, but the CLK pin has some // special constraints. On 8-bit AVR boards it must be on PORTB... // Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro), -// Pin 11 works on the Arduino Mega. On 32-bit SAMD boards it must be -// on the same PORT as the RGB data pins (D2-D7)... +// Pin 11 works on the Arduino Mega. // Pin 8 works on the Adafruit Metro M0 or Arduino Zero, // Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB // Matrix Shield, cut trace between CLK pads and run a wire to A4). +// Pin A6 works on the Nano 33 IoT +// On other 32-bit SAMD boards it must be on the same PORT as the RGB +// data pins (D2-D7)... Pin 8 works #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA -#define OE 9 +#define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT +//#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 #define A A0 #define B A1 diff --git a/examples/testshapes_32x32/testshapes_32x32.ino b/examples/testshapes_32x32/testshapes_32x32.ino index 8cc5dba..dbd97d5 100644 --- a/examples/testshapes_32x32/testshapes_32x32.ino +++ b/examples/testshapes_32x32/testshapes_32x32.ino @@ -12,16 +12,19 @@ // Most of the signal pins are configurable, but the CLK pin has some // special constraints. On 8-bit AVR boards it must be on PORTB... // Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro), -// Pin 11 works on the Arduino Mega. On 32-bit SAMD boards it must be -// on the same PORT as the RGB data pins (D2-D7)... +// Pin 11 works on the Arduino Mega. // Pin 8 works on the Adafruit Metro M0 or Arduino Zero, // Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB // Matrix Shield, cut trace between CLK pads and run a wire to A4). +// Pin A6 works on the Nano 33 IoT +// On other 32-bit SAMD boards it must be on the same PORT as the RGB +// data pins (D2-D7)... Pin 8 works #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA -#define OE 9 +#define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT +//#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 #define A A0 #define B A1 diff --git a/examples/testshapes_32x64/testshapes_32x64.ino b/examples/testshapes_32x64/testshapes_32x64.ino index 6572c70..dbc57de 100644 --- a/examples/testshapes_32x64/testshapes_32x64.ino +++ b/examples/testshapes_32x64/testshapes_32x64.ino @@ -9,16 +9,19 @@ // Most of the signal pins are configurable, but the CLK pin has some // special constraints. On 8-bit AVR boards it must be on PORTB... // Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro), -// Pin 11 works on the Arduino Mega. On 32-bit SAMD boards it must be -// on the same PORT as the RGB data pins (D2-D7)... +// Pin 11 works on the Arduino Mega. // Pin 8 works on the Adafruit Metro M0 or Arduino Zero, // Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB // Matrix Shield, cut trace between CLK pads and run a wire to A4). +// Pin A6 works on the Nano 33 IoT +// On other 32-bit SAMD boards it must be on the same PORT as the RGB +// data pins (D2-D7)... Pin 8 works -#define CLK 8 // USE THIS ON ADAFRUIT METRO M0, etc. +#define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA -#define OE 9 +#define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT +//#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 #define A A0 #define B A1 diff --git a/library.properties b/library.properties index a24c83e..4e30462 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=RGB matrix Panel -version=1.1.1 +version=1.1.2 author=Adafruit maintainer=Adafruit sentence=Arduino library and example code for the 16x32 RGB matrix panels in the shop From 1ca11f121f68f22bb8df9140d13dc7eaf9c4f750 Mon Sep 17 00:00:00 2001 From: Evan Strasnick Date: Sun, 6 Oct 2019 15:24:23 -0700 Subject: [PATCH 2/2] Add suggested clock pin --- examples/PanelGFXDemo_16x32/PanelGFXDemo_16x32.ino | 1 + examples/colorwheel_32x32/colorwheel_32x32.ino | 1 + examples/colorwheel_progmem_32x32/colorwheel_progmem_32x32.ino | 1 + examples/plasma_16x32/plasma_16x32.ino | 1 + examples/plasma_32x32/plasma_32x32.ino | 1 + examples/scrolltext_16x32/scrolltext_16x32.ino | 1 + examples/testcolors_16x32/testcolors_16x32.ino | 1 + examples/testshapes_16x32/testshapes_16x32.ino | 1 + examples/testshapes_32x32/testshapes_32x32.ino | 1 + examples/testshapes_32x64/testshapes_32x64.ino | 1 + 10 files changed, 10 insertions(+) diff --git a/examples/PanelGFXDemo_16x32/PanelGFXDemo_16x32.ino b/examples/PanelGFXDemo_16x32/PanelGFXDemo_16x32.ino index b648062..884212a 100644 --- a/examples/PanelGFXDemo_16x32/PanelGFXDemo_16x32.ino +++ b/examples/PanelGFXDemo_16x32/PanelGFXDemo_16x32.ino @@ -21,6 +21,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/colorwheel_32x32/colorwheel_32x32.ino b/examples/colorwheel_32x32/colorwheel_32x32.ino index f9a078e..34387d8 100644 --- a/examples/colorwheel_32x32/colorwheel_32x32.ino +++ b/examples/colorwheel_32x32/colorwheel_32x32.ino @@ -22,6 +22,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/colorwheel_progmem_32x32/colorwheel_progmem_32x32.ino b/examples/colorwheel_progmem_32x32/colorwheel_progmem_32x32.ino index 79adb0d..f47fc29 100644 --- a/examples/colorwheel_progmem_32x32/colorwheel_progmem_32x32.ino +++ b/examples/colorwheel_progmem_32x32/colorwheel_progmem_32x32.ino @@ -26,6 +26,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/plasma_16x32/plasma_16x32.ino b/examples/plasma_16x32/plasma_16x32.ino index e942b6a..ecc3b1c 100644 --- a/examples/plasma_16x32/plasma_16x32.ino +++ b/examples/plasma_16x32/plasma_16x32.ino @@ -22,6 +22,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/plasma_32x32/plasma_32x32.ino b/examples/plasma_32x32/plasma_32x32.ino index df9e945..5d6e372 100644 --- a/examples/plasma_32x32/plasma_32x32.ino +++ b/examples/plasma_32x32/plasma_32x32.ino @@ -22,6 +22,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/scrolltext_16x32/scrolltext_16x32.ino b/examples/scrolltext_16x32/scrolltext_16x32.ino index 111d237..3991b64 100644 --- a/examples/scrolltext_16x32/scrolltext_16x32.ino +++ b/examples/scrolltext_16x32/scrolltext_16x32.ino @@ -22,6 +22,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/testcolors_16x32/testcolors_16x32.ino b/examples/testcolors_16x32/testcolors_16x32.ino index 90027db..b156c2d 100644 --- a/examples/testcolors_16x32/testcolors_16x32.ino +++ b/examples/testcolors_16x32/testcolors_16x32.ino @@ -23,6 +23,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/testshapes_16x32/testshapes_16x32.ino b/examples/testshapes_16x32/testshapes_16x32.ino index 9984959..b4b270a 100644 --- a/examples/testshapes_16x32/testshapes_16x32.ino +++ b/examples/testshapes_16x32/testshapes_16x32.ino @@ -23,6 +23,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/testshapes_32x32/testshapes_32x32.ino b/examples/testshapes_32x32/testshapes_32x32.ino index dbd97d5..a9cfb5e 100644 --- a/examples/testshapes_32x32/testshapes_32x32.ino +++ b/examples/testshapes_32x32/testshapes_32x32.ino @@ -23,6 +23,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10 diff --git a/examples/testshapes_32x64/testshapes_32x64.ino b/examples/testshapes_32x64/testshapes_32x64.ino index dbc57de..d2b8361 100644 --- a/examples/testshapes_32x64/testshapes_32x64.ino +++ b/examples/testshapes_32x64/testshapes_32x64.ino @@ -20,6 +20,7 @@ #define CLK 8 // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. //#define CLK A4 // USE THIS ON METRO M4 (not M0) //#define CLK 11 // USE THIS ON ARDUINO MEGA +//#define CLK A6 // USE THIS ON NANO 33 IoT #define OE 9 // USE THIS ON EXCEPT ON NANO 33 IoT //#define OE 11 // USE THIS ON NANO 33 IoT #define LAT 10