Nova is a super tiny RP2040 board featuring an integrated 7x10 addressable LED matrix. This project aims to provide an easy-to-use platform for creating interactive and visually engaging projects.
- Compact size: Easy to integrate into various projects
- RP2040 microcontroller: Powerful and efficient
- Integrated 7x10 addressable LED matrix (WS2812-1010)
To get started with Nova, you'll need the following:
- Nova Board
- Arduino IDE
- Compatible power source (USB Type-C, battery, etc.)
-
Open Arduino IDE: Launch the Arduino IDE on your computer.
-
Open Preferences:
- Go to
File
->Preferences
(orArduino IDE
->Preferences
on macOS).
- Go to
-
Add Board URL:
- In the Preferences window, find the
Additional Boards Manager URLs
field. - Add the following URL to the field:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
- If there are already other URLs, separate them with commas.
- In the Preferences window, find the
-
Open Boards Manager:
- Go to
Tools
->Board
->Boards Manager
.
- Go to
-
Install RP2040 Core:
- In the Boards Manager window, type
RP2040
in the search box. - Look for
Raspberry Pi Pico/RP2040 by Earle Philhower
and click theInstall
button.
- In the Boards Manager window, type
-
Select the Nova Board:
- Once the installation is complete, go to
Tools
->Board
and selectRaspberry Pi Pico
.
- Once the installation is complete, go to
- It is recommended to use the FastLED library for controlling the LED matrix.
-
Open Library Manager:
- Go to
Sketch
->Include Library
->Manage Libraries...
.
- Go to
-
Search for FastLED:
- In the Library Manager window, type
FastLED
in the search bar.
- In the Library Manager window, type
-
Install FastLED:
- Find the FastLED library (Repo) and click the
Install
button.
- Find the FastLED library (Repo) and click the
Here’s a basic example of how to use the FastLED library to control a single LED on your Nova board:
#include <FastLED.h>
#define LED_PIN 22 // Data pin connected to LED0 (GP22)
#define NUM_LEDS 1 // Total number of LEDs (only LED0)
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
FastLED.setBrightness(10); // Set brightness to 10 out of 255
}
void loop() {
// Example: Set LED0 to red color
leds[0] = CRGB::Red;
FastLED.show();
delay(1000);
// Example: Turn off LED0
leds[0] = CRGB::Black;
FastLED.show();
delay(1000);
}