DIY GUY Chris
Published © Apache-2.0

How to Make a Colorful Arduino Uno

Learn how to create a custom Arduino Uno with a unique color silkscreen and RGB LED matrix, leveling up your electronics projects!

IntermediateFull instructions provided4 hours12
How to Make a Colorful Arduino Uno

Things used in this project

Hardware components

ATmega328
Microchip ATmega328
×1
SparkFun Serial Basic Breakout - CH340C and USB-C
SparkFun Serial Basic Breakout - CH340C and USB-C
×1
USB Cable, USB Type C Plug
USB Cable, USB Type C Plug
×1
JLCPCB Customized PCB
JLCPCB Customized PCB
×1
Female Header 8 Position 1 Row (0.1")
Female Header 8 Position 1 Row (0.1")
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Hot Plate, Convection
Hot Plate, Convection
Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
Solder Paste, Rework
Solder Paste, Rework

Story

Read more

Schematics

Schematic

GERBER

BOM

Code

LED ¨Pixels test

Arduino
I used the Cylon example of the FastLED library to test the Pixels
#include <FastLED.h>

// How many leds in your strip?
#define NUM_LEDS 9

// For led chips like Neopixels, which have a data line, ground, and power, you just
// need to define DATA_PIN.  For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806, define both DATA_PIN and CLOCK_PIN
#define DATA_PIN 9
#define CLOCK_PIN 13

// Define the array of leds
CRGB leds[NUM_LEDS];

void setup() { 
	Serial.begin(57600);
	Serial.println("resetting");
	FastLED.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS);
	FastLED.setBrightness(20);
}

void fadeall() { for(int i = 0; i < NUM_LEDS; i++) { leds[i].nscale8(250); } }

void loop() { 
	static uint8_t hue = 0;
	Serial.print("x");
	// First slide the led in one direction
	for(int i = 0; i < NUM_LEDS; i++) {
		// Set the i'th led to red 
		leds[i] = CHSV(hue++, 255, 255);
		// Show the leds
		FastLED.show(); 
		// now that we've shown the leds, reset the i'th led to black
		// leds[i] = CRGB::Black;
		fadeall();
		// Wait a little bit before we loop around and do it again
		delay(10);
	}
	Serial.print("x");

	// Now go in the other direction.  
	for(int i = (NUM_LEDS)-1; i >= 0; i--) {
		// Set the i'th led to red 
		leds[i] = CHSV(hue++, 255, 255);
		// Show the leds
		FastLED.show();
		// now that we've shown the leds, reset the i'th led to black
		// leds[i] = CRGB::Black;
		fadeall();
		// Wait a little bit before we loop around and do it again
		delay(10);
	}
}

Credits

DIY GUY Chris

DIY GUY Chris

51 projects • 338 followers
I'm having fun while making electronics projects, I am an electrical engineer in love with "Do It Yourself" tasks.

Comments