Last time I settled on using Würth Elektronik LED #1315050930002 for my prototype flashlight since it had the best balance of easy soldering and brightness output. Unfortunately I still had some trouble getting the soldering down. Overall my progress for this contest was more on paper than on PCB. But thankfully the paper progress led to a cool new project idea, which I'll describe in my summary post at the end.
The complexity of my project lies more in the physical design and software control of the LEDs than advanced use cases of the LEDs themselves. If each of the 1315050930002 LEDs can output roughly 1 candela of light, there will be limited useful range for this as a flashlight. Thinking about it as more of a desk lamp now. But that's fine!
I'd like for my light to be able to store specific lighting color profiles to switch between at the press of a button rather than just using dials or something for inexact values. Luckily the LED itself (DIN → internal controller → actual colors) does most of the heavy lifting. The challenge is figuring out:
- How should the human user tell the light what to do?
- How can the Arduino interpret those human decisions?
- And what “modes” make sense for a small handheld RGB flashlight or desk lamp?
Thus began my journey into control architecture.

Würth Elektronik LED #1315050930002 is basically a tiny NeoPixel/WS2812-style smart pixel with 4 pins (VDD, VSS, DIN, DOUT).
1 - VSS: Ground pin, will connect to Arduino Zero pin GND.
2 - DIN: Data In. Will connect to Pin ~6 on Arduino (PWM).
3 - VDD: Power supply. +5V pin on Arduino.
4 - DOUT: Data out. Would go to the next LED in series (I think) but I'm starting with only one LED for now.

This is about all I'd need (save for the memory card, power input, and the optional capacitor). My soldering skills are unfortunately not up to par, so I wasn't able to actually get this working even with sample code from Arduino.
I found in interesting learning about all the different pins on the Arduino, and the differences between PWM and SPI. The Neopixel library by Adafruit has all kinds of great tools built for controlling these LEDs. I wish I had gotten the physical construction down better in time. I'll keep progressing with this though. I tried running this sample code but didn't get any output from the LED: https://github.com/adafruit/Adafruit_NeoPixel/blob/master/examples/simple/simple.ino.
Regarding the controls for the device, I'll need more time to test options. Not sure whether dials are better than buttons for what I need. Ideally I'd also like a way for users to calibrate their profiles to their particular vision needs. More planning needed! I've seen plenty of RGB flashlights on the market but they all just let you use a single LED at a time. I want something more robust.
To any readers: What features would you like in an RGB flashlight or desk lamp?
I'll document my soldering attempts more in my next post. I shall prepare now for my public shaming.