// Arduino NeoPixel LED Test // Copyright (C)2026, Philip Munts dba Munts Technologies. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // // * Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. #include #include // Configure a NeoPixel LED #ifdef ARDUINO_CYTRON_MAKER_NANO_RP2040 Adafruit_NeoPixel NeoPixelChain(2, 11, NEO_GRB + NEO_KHZ800); MuntsTech::GPIO::NeoPixel::Pin_Class NeoPixelLED(&NeoPixelChain, 0); #elifdef ARDUINO_SEEED_XIAO_RP2040 MuntsTech::GPIO::Arduino::Pin_Class NeoPixelPowerPin(11, OUTPUT, true); Adafruit_NeoPixel NeoPixelChain(1, 12, NEO_GRB + NEO_KHZ800); MuntsTech::GPIO::NeoPixel::Pin_Class NeoPixelLED(&NeoPixelChain, 0); #elifdef ARDUINO_SEEED_XIAO_RP2350 MuntsTech::GPIO::Arduino::Pin_Class NeoPixelPowerPin(23, OUTPUT, true); Adafruit_NeoPixel NeoPixelChain(1, 22, NEO_GRB + NEO_KHZ800); MuntsTech::GPIO::NeoPixel::Pin_Class NeoPixelLED(&NeoPixelChain, 0); #elifdef ARDUINO_SPARKFUN_PROMICRO_RP2040 Adafruit_NeoPixel NeoPixelChain(1, LED_BUILTIN, NEO_GRB + NEO_KHZ800); MuntsTech::GPIO::NeoPixel::Pin_Class NeoPixelLED(&NeoPixelChain, 0); #elifdef ARDUINO_SPARKFUN_PROMICRO_RP2350 Adafruit_NeoPixel NeoPixelChain(1, LED_BUILTIN, NEO_GRB + NEO_KHZ800); MuntsTech::GPIO::NeoPixel::Pin_Class NeoPixelLED(&NeoPixelChain, 0); #endif #define RED 0x00100000 #define GREEN 0x00001000 #define BLUE 0x00000010 void setup() { Serial.begin(115200); Serial.println("\n\n\ecArduino NeoPixel LED Test\n"); Serial.flush(); NeoPixelChain.begin(); } void loop() { // Toggle the LED NeoPixelLED.setColor(RED); NeoPixelLED.write(!NeoPixelLED.read()); delay(500); // Toggle the LED NeoPixelLED.setColor(BLUE); NeoPixelLED.write(!NeoPixelLED.read()); delay(500); // Toggle the LED NeoPixelLED.setColor(GREEN); NeoPixelLED.write(!NeoPixelLED.read()); delay(500); }