Makuna / NeoPixelBus

An Arduino NeoPixel support library supporting a large variety of individually addressable LEDs. Please refer to the Wiki for more details. Please use the GitHub Discussions to ask questions as the GitHub Issues feature is used for bug tracking.
GNU Lesser General Public License v3.0
1.17k stars 258 forks source link

Arduino Nano 33 IoT Support #384

Open moooorph opened 3 years ago

moooorph commented 3 years ago

Arduino Nano 33 IoT (Arm® Cortex®-M0 32-bit SAMD21) support requested due to identical issues with Nano 33 BLE while using the onboard WiFi/BLE (u-blox NINA-W10) -> interrupt issues with standard methods, PWM requested (see NeoNrf52xMethod.h)

Tested with: NeoPixelBus 2.6.0 + Arduino Nano 33 IoT + ArduinoBLE.h and standard Arm method (NeoArmMethod.h) LED output deactivated: BLE working / LED output activated: BLE no connection possible (interrupts/timing)

Makuna commented 3 years ago

This will require specific hardware support for that platform. The ARM support is a bitbang method and will be interrupted by lower level services like BLE and WIFI as you found out.

I do not own one of these boards myself.

Makuna commented 3 years ago

@moooorph I got a Seeeduino XIAO for a holiday gift, so I am now actively working on it. If you are interested in testing it on the Nano 33 IOT let me know. I am working on i2s method first. Then probably a i2c method. The PWM feature looks heavy interrupt based so that will be the last method I will look into.

moooorph commented 3 years ago

@Makuna excuse my delay. I decided to swap my project to an ESP32 platform (multiple reasons) and can use RMT now which is my most preferred solution acc. the described timing issues. Anyway I could try to test your XIAO methods with the Nano IoT