declan_freemangleason (
2018-02-11 20:47:22

@declan_freemangleason has joined the channel

declan_freemangleason (
2018-02-11 20:47:23

@declan_freemangleason set the channel purpose: 💡💡💡

declan_freemangleason (
2018-02-11 20:48:04

@riyadth Done

riyadth (
2018-02-11 20:48:11

@riyadth has joined the channel

declan_freemangleason (
2018-02-11 20:48:23

@adamrideoutredeker @Sam Rosen

Sam Rosen (
2018-02-11 20:48:28

@Sam Rosen has joined the channel

adam_rideout_redeker (
2018-02-11 20:48:28

@adamrideoutredeker has joined the channel

rose_bandrowski (
2018-02-11 20:48:56

@rose_bandrowski has joined the channel

Kenneth Wiersema (
2018-02-11 20:49:16

@Kenneth Wiersema has joined the channel

rose_bandrowski (
2018-02-11 20:49:26

@rose_bandrowski set the channel purpose: 💡💡💡 make the robot look cool!

riyadth (
2018-02-11 20:51:06

@riyadth set the channel topic: Arduino programming and associated electronics for BLING!

riyadth (
2018-02-11 20:52:42

Spartronics Bling repository on Github: Bling wiki:

riyadth (
2018-02-11 20:52:52

@riyadth pinned a message to this channel.

} Riyadth Al-Kazily (
rose_bandrowski (
2018-02-11 20:54:04

I'm hoping we can get that particle board painted black so the lights stand out more. No guarantees

riyadth (
2018-02-11 20:56:57

A huge question that needs to be answered soon is: Where are the lights going, and what "shape" do they form? One idea I had, which may be on the "complicated" side, is to cut the LED strips down to something like 8 or 10 inches long, then stick them to a square of polycarbonate in horizontal rows. We wire them back up with extension wires so they all light up again, then put a translucent white piece of plastic in front of them. Then we can use the individual LEDs as "pixels" on a screen to show low-res 8-bit style icons/avatars.

riyadth (
2018-02-11 20:58:07

Other options are to run the LEDs on the scissor lift, but that's probably a very bad idea.

whobbs1496 (
2018-02-11 21:32:03

@whobbs1496 has joined the channel

Cruz_Strom (
2018-02-11 23:03:46

@Cruz_Strom has joined the channel

randy_groves (
2018-02-12 06:12:12

@randy_groves has joined the channel

peter_hall (
2018-02-12 06:55:51

@peter_hall has joined the channel

rose_bandrowski (
2018-02-12 08:56:51

@riyadth oh my gosh that would be so cool

Terry (
2018-02-12 11:49:16

@Terry has joined the channel

Terry (
2018-02-12 11:54:57

@riyadth I really like that idea with the LED’s being able to display 8-bit icons on a translucent poly barrier. We could use some poly protection on some portions of the robot internals anyway.

riyadth (
2018-02-12 12:31:00

Do realize that the primary purpose of polycarbonate panels on the robot is not protection, but for marketing & sponsor stickers :-)

riyadth (
2018-02-12 12:37:39

And I'm a tad concerned about the weight of the bling system (seeing as how we're close to our maximum limit anyway). The Arduino is tiny and light, but we also need to add a voltage converter (12V to 5 V) and the LED strips themselves. I think that totals up to at least a pound in weight, maybe two. If we add extra polycarb to hold the LEDs, and more to diffuse light, then we probably need to think about thin plastics with lots of holes in them.

riyadth (
2018-02-13 21:12:49

For those wanting to get started with Arduino, here is a good getting-started overview about programming: There are also more videos in the series, covering more advanced topics.

} SparkFun Electronics (
riyadth (
2018-02-14 14:19:39

If there is not enough space/weight available on the robot for advanced bling (ie, the "translucent icon projector"), we should still consider some fun bling project to display in the pit. So come up with some creative ideas!

Darwin Clark (
2018-02-14 18:44:42

@Darwin Clark has joined the channel

Mark Tarlton (
2018-02-15 18:11:20

@Mark Tarlton has joined the channel

Ted Larson Freeman (
2018-02-16 20:28:11

@Ted Larson Freeman has joined the channel

riyadth (
2018-02-16 22:27:18

I have updated the Bling repository wiki with a page describing how the RoboRIO should communicate with the Arduino, and select different Bling displays. It's not complete, and may have errors, but it gives us a place to start. If you are interested in making dynamic bling a reality, let's chat this weekend.

chris_mentzer (
2018-02-16 23:37:06

@chris_mentzer has joined the channel

ronan_bennett (
2018-02-17 15:22:21

@ronan_bennett has joined the channel

riyadth (
2018-02-22 18:21:26

I realized that we probably need an "all lights off" mode for the bling, and we should probably start up with that mode selected. Maybe a '0' command turns all the lights off? (I think it might be useful because we may need to reduce power usage to minimum while running the flipper motor, and starting with the lights off will be less distracting as the team is setting up the robot.)

riyadth (
2018-02-22 18:21:36

What do you all think of that?

ronan_bennett (
2018-02-22 18:38:10

I definitely think turning bling off while the flipper is running is a good idea. Last time I checked the roboRIO code had ‘0’ as an off mode, but we should make sure the arduino is set up the same way.

riyadth (
2018-02-22 18:47:38

@adamrideoutredeker We should chat about getting your project code into the Spartronics/Bling repository. Can you submit a pull request? Looking at your repository it looks like the Arduino code already defaults to all LEDs off, and my earlier comment is late to the party. I like that you guys are two steps ahead of me :-)

riyadth (
2018-02-25 10:29:13

@adamrideoutredeker I reviewed and merged your bling code into the Spartronics Bling repository. Thanks for submitting it, and it looks good.

riyadth (
2018-02-25 10:31:25

I made a comment on the review that we should strive for more consistent code formatting. It makes a huge difference when sharing code, or even trying to debug your own code a week after you wrote it. Luckily, the Arduino editor can do all the hard work for you. Here is a quick article about code formatting and Arduino:

Bald Engineer
riyadth (
2018-02-25 10:34:26

Basically, I encourage you to always check your code formatting before you submit a merge request, and fix up any inconsistent areas in a new commit if necessary. When working on a larger team (in my day job), I will often reject pull requests that are not neat and tidy, because we all have to work with each other's code.

riyadth (
2018-02-25 10:35:12

I would appreciate it if you could auto-format the two Arduino sketches that you submitted, commit the changes, and open a new pull request. I'll happily merge those changes in as well.

whobbs1496 (
2018-02-26 09:06:04

Did we finish mounting the bling before we bagged?

riyadth (
2018-02-26 09:23:28

*Thread Reply:* I don't know if the mounting was completed, but that might be more of a question for the electonicpneumatics channel. But I do believe that the code on the Arduino has not been loaded yet. It is easy to do at any time (even at competition, but we could get it done before we get there. @adamrideout_redeker can load the software if he's available. If not, I can do it on Wednesday. (We just need to unplug the USB cable from the RoboRIO and plug it into a laptop for a few seconds...)

riyadth (
2018-02-26 09:19:43

Here's a project like the one I suggested for the pit:

} Tom Nardi (
adam_rideout_redeker (
2018-02-26 11:40:57

I won't be able to come today due to sports but should be there on Wednesday.

peter_hall (
2018-02-26 14:05:02

@adamrideoutredeker Is your code online for n git hub?

adam_rideout_redeker (
2018-02-28 16:51:37

yes, it's under the Spartronics/Bling repository in a folder called Roborio_functionality

justice_james (
2018-02-28 22:49:03

@justice_james has joined the channel

adam_rideout_redeker (
2018-03-21 15:42:06

Sorry I can’t be at today’s meeting, hopefully we’ll be able to mount bling at the event.

riyadth (
2018-03-28 19:04:54

A great web article on LED strips:
declan_freemangleason (
2018-03-29 08:25:49

Can someone describe why bling wasn't working when we put it on the robot? @adamrideoutredeker @riyadth

whobbs1496 (
2018-03-29 08:28:45

The bling wasn’t bright enough to ever see it

riyadth (
2018-03-29 08:28:58

More context please. When we put it on the robot originally? The bring strip was connected to the 12v power source, instead of the 5v power source it required.

riyadth (
2018-03-29 08:29:48

Has the “backup” strip been tested? Were animations playing correctly?

declan_freemangleason (
2018-03-29 08:36:09

I don't think the backup strip has been connected. That's probably the problem.

riyadth (
2018-03-29 08:50:08

If not, then @whobbs1496 comment on brightness is premature

riyadth (
2018-03-29 08:52:37

The original strip lit up a few LEDs but never played an animation, which would be MUCH brighter

riyadth (
2018-04-18 21:26:14

@adamrideoutredeker @ronan_bennett Do you guys want to get the bling stuff working on ATLAS before the 4th of July parade? I think we can use all the good work you did for THEMIS. If so, you should join the new <#CAAE87VHV|atlas-restoration> channel

ronan_bennett (
2018-04-18 21:33:39

*Thread Reply:* Yep, I’m definitely willing to help out.

adam_rideout_redeker (
2018-04-18 21:44:34

*Thread Reply:* For sure

binnur (
2018-05-12 11:18:15

@binnur has joined the channel

riyadth (
2018-05-29 16:25:46

@randy_groves This is the place to ask your Arduino question :-)

randy_groves (
2018-05-29 16:27:13

I've got an Arduino YUN, which may or may not complicate things. Finally figured out how to connect via USB to the serial terminal in the Arduino IDE. Trying to load the Roboriofunctionality.ino file, however results in a complaint - are we using AdafruitNeoPixel? If so, there seems to be a missing library - or I'm not loading it correctly (which is certainly possible).

randy_groves (
2018-05-29 16:28:48

Just found the README - I'll check that.

randy_groves (
2018-05-29 16:30:45

THAT works better!

riyadth (
2018-05-29 16:30:50

Your Arduino IDE has a library manager. You need to install it.

riyadth (
2018-05-29 16:30:59


randy_groves (
2018-05-29 16:36:11

Yeah - that's what the README told me. I can compile and load it now.

randy_groves (
2018-05-29 16:37:24

So - newbie assumption - anything I load survives a power cycle, correct?

riyadth (
2018-05-29 17:04:33


dana_batali (
2018-05-30 09:19:48

@dana_batali has joined the channel

randy_groves (
2018-06-03 20:41:55

What are the specs again for the NeoPixel strip?

riyadth (
2018-06-03 20:42:53

Our strip uses the WS2812b controller chip in each LED

riyadth (
2018-06-03 20:43:02

And it has 150 LEDs

riyadth (
2018-06-03 20:43:38

I think the strip is this one:
riyadth (
2018-06-03 20:43:45

But you can get cheaper ones on Amazon...

riyadth (
2018-06-03 20:48:48

(Beware of the super-cheap LED strips. They are usually junk.)

riyadth (
2018-06-03 20:51:23

Note that the LED strips can consume a lot of current. I have read that an estimate of 60mA per LED is a good, conservative number. That means that our 150 LED strip can consume up to 9A of current at 5VDC. So you'll need a beefy power supply to light up the whole strip.

Harper Nalley (
2018-10-24 18:51:06

@Harper Nalley has joined the channel

Camden_Greenhalgh (
2018-10-24 19:19:34

@Camden_Greenhalgh has joined the channel

Martin_Vroom (
2018-10-24 21:04:07

@Martin_Vroom has joined the channel

Kate_Swietlik (
2018-10-25 07:27:06

@Kate_Swietlik has joined the channel

emerson_nicholas (
2018-10-25 18:28:51

@emerson_nicholas has joined the channel

Mitchell Teresi (
2018-11-26 15:41:21

@Mitchell Teresi has joined the channel

Jake_Benjamin (
2019-01-05 15:26:48

@Jake_Benjamin has joined the channel

Lane_Johnson (
2019-02-02 08:41:22

@Lane_Johnson has joined the channel

riyadth (
2019-02-02 09:10:18

@channel This channel has been too quiet for too long. I suggest some discussion about what we want our robot bling to do, and where on the robot it should go. Also, I encourage everyone to post a link to some interesting uses/implementations of bling. I'll start with this:

riyadth (
2019-02-02 09:11:37

And of course, the Adafruit reference on NeoPixels is amazing and awesome:
riyadth (
2019-02-02 09:21:23

An alternative to the Arduino (less exciting, but may give us ideas for light patterns to implement?):

} REV Robotics (
declan_freemangleason (
2019-02-02 10:49:24

Camden has a couple of patterns implemented so far: robot disabled (alternating red), robot driving reverse, robot driving forward, and robot autonomous.

Those are all drivetrain states because I told him that was the most useful and should be his MVP before he works on something else. If we do want something else then we might want two strips on the robot.

declan_freemangleason (
2019-02-02 10:49:45


Camden_Greenhalgh (
2019-02-02 10:49:56

I know

riyadth (
2019-02-02 11:06:40

Binnur suggested to me that lights pointing downward (under the robot chassis, reflecting off the carpet) could be a good effect. We could do something like that for a secondary (artistic?) bling system, while having the more prominent strip somewhere high and visible on the robot... Just a thought.

declan_freemangleason (
2019-02-02 12:18:21

*Thread Reply:* I think this is a great idea! We want the drivers to be able to see the prominent strip, but downward lighting has a great effect. What does @peter_hall think about this?

riyadth (
2019-02-02 11:08:03

And do we want animations to be tied to our alliance color? Such as disabled could be just the alliance color instead of always red...

binnur (
2019-02-02 11:37:10

*Thread Reply:* With a marketing hat on, I’d say ‘don’t associate the failure states w/ alliance colors’. However, I like the idea of detecting successful scoring and celebrating it w/ alliance colors!

Camden_Greenhalgh (
2019-02-02 12:58:28

*Thread Reply:* Ooh! Good idea! I just chose red because it was 255, 0, 0, and the shortest word.

Jeffrey (
2019-02-02 16:29:32

@Jeffrey has joined the channel

john_sachs (
2019-02-19 21:39:22

@john_sachs has joined the channel

Merrill_Keating (
2019-04-28 08:29:31

@Merrill_Keating has joined the channel

riyadth (
2019-04-28 09:54:51

The off-season is a great time for bling projects. Post some ideas to the channel! There are lots of articles about RGB LEDs on the Internets. Here is an advanced and flexible bling system for radio controlled models:

riyadth (
2019-09-18 09:29:05

Animatronic bling is the best bling!

} Riyadth Al-Kazily (
Max Morse (
2019-11-07 00:19:33

@Max Morse has joined the channel

Maya Shaw (
2019-11-07 22:06:46

@Maya Shaw has joined the channel

riyadth (
2019-11-13 16:56:35

Here's some creepy bling... Animatronic eyes!

riyadth (
2019-11-13 22:19:38

Inspiration for dressing up our LEDs

} Yoctopuce Sarl (
🦏 Harper Nalley
🥛 Harper Nalley
binnur (
2019-11-14 20:55:41

Started a documentation on our developer notebook for Arduino and Bling development. Let us know what we should include!

👍 riyadth, Darwin Clark
declan_freemangleason (
2019-11-20 14:59:50

@binnur @riyadth The RoboRIO will support driving Neopixels (or any WS2812 LEDs) directly from the PWM pins (but not over PWM) using the FPGA. Information on frc-docs isn't finished yet, but there's an example here (, and a video here (

} Austin Shalit (
👍 binnur, riyadth
riyadth (
2019-11-22 10:48:57

@Harper Nalley I think I know what was up with the 'fade' sketch you were working on. The analogWrite() function only works on specific pins on the Arduino, and pin 13 (where the on-board LED is connected) was not one of them. You will need an external LED hooked up to one of the supported pins (in the set of { 3, 5, 6, 9, 10, 11 })
riyadth (
2019-11-22 10:49:39

The Arduino Language Reference page gives details on all the functions in the basic Arduino system:
Harper Nalley (
2019-11-22 15:29:14

Ooohh, okay, thank you!

Harper Nalley (
2019-12-05 15:00:53

@riyadth is the bling light strip able to vary the brightness of each LED or is it a binary off/on?

riyadth (
2019-12-05 15:04:03

It is variable. The intensity is set by the size of each R/G/B primary value. In other words, the red channel can have an intensity of 0 (off) to 255 (fully on), or anything in between. Same for the green and blue channels. So an RGB triplet of (255,0,0) is red at 100%, blue and green off. And (127,0,0) is red at 50%, blue and green off. I think the NeoPixel library might have a separate intensity control API which scales all the LED channel intensities for you, so you don't have to do the math. (It may be in the FastLED library, not NeoPixel... I can't remember).

:clio: Harper Nalley
binnur (
2019-12-05 16:07:40

*Thread Reply:* are you thinking setBrightness() to specify brightness level for all pixels? here are some api examples from the neopixel guide

:clio: Harper Nalley
Jacob Miles (
2019-12-05 17:34:09

@Jacob Miles has joined the channel

binnur (
2019-12-10 22:00:51

Interesting idea to use bling for the camera led ring to provide a more controllable experience — fixed the link for the relevant thread

Chief Delphi
Reading time
1 mins 🕑
2 ❤
riyadth (
2019-12-11 09:51:29

*Thread Reply:* I think it's a good idea, especially since the intensity of the light could be varied for distant and close targets (so that we get the best signal-to-noise ratio). One thing to be aware of for camera lighting is that we want the light to be directed in a fairly focused beam. The NeoPixels are meant to be looked at directly, and so they have a very wide angle of view. As such, they won't be as efficient as individual focused LEDs in a ring. Of course that's an easy problem to solve - add more NeoPixel LEDs to compensate :-)