Tag Archives: NeoPixel

Trinket Powered LED RedHat Sign

My day job is working as a software developer for Redhat which is the world’s largest Open-Source software company. It’s a fun place to work with a vibrant culture — kinda like a geek summer camp at times — as many of us like to decorate our cubes with various nerdy projects, toys, artwork etc. I love to design and build things — check out my long running woodworking blog here for some of my designs and work with wood. As an engineer I also love to tinker with tech.

Early in 2016 I bought a Lulzbot TAZ6 for home and have been having fun getting involved in the Open-Source 3D printing, electronics and maker world. I also setup and run a 3D printing lab at work in the office.

A few months ago I designed and 3D printed a small Redhat logo which you can find on Thingiverse here.

Since then I have embarked on a more audacious building campaign to build my own interpretation of Janis’ LED Bridge Lamp. I want my bridge lamp to span from one wall of my cube to my bookcase  and incorporate some fun additions that I will reveal in upcoming posts.

On the road to this large design/print/build project I wanted to make neat mini billboard with the Redhat Shadowman logo that lights up and had some simple animations. The result of that work can be seen here:

Redhat Logo Sign Animated Rainbow Color
Redhat Logo Sign Animated Rainbow Color

I tripled the size of my original Redhat Shadowman logo in the x and y dimensions and printed the background in clear Colorfabb nGen filament. The letters, fedora and case are in black and red nGen filament. Every 2.01mm of z-axis height I would pause the print, swap, purge and resume the print which resulted in a nice 3 color print for the logo.

Remove supports so you can add the trinket
Remove supports so you can add the trinket

I designed the case so that it can be printed without any supports. Use a pair of nippers to remove the small bit of supports I added to the model (see photo above) which will allow you to easily access the USB port on the Adafruit Trinket which controls the LED strip.

The 3 color sign has 4 holes that snap nicely onto posts located on the inside of the bezel of the case. I don’t know why so many designers make the holes and posts the exact same size — it makes for unnecessary fussing with the print. I made my posts a few tenths of a millimeter narrower so I could snap on the logo without any fussing.

Back of case with negative image of Redhat logo
Back of case with negative image of Redhat logo

The back of the case also has a nice negative image of the Redhat Shadowman logo. The back also snaps nicely into the front section for clean lines and no need for additional hardware. nGen has enough flex in it that you can bend the case if you need to open it again in the future.

The circuit design is quite simple/straightforward:

Redhat Logo Sign -- Circuit Diagram -- Adafruit Trinket 5V + NeoPixels
Redhat Logo Sign — Circuit Diagram — Adafruit Trinket 5V + NeoPixels

Basically you are driving 10 NeoPixel RGB leds via an Adafruit Trinket 5V tiny arduino. I included the JST connection below in case I ever want to re-purpose bits from this project and because these LEDs were from the start of a new roll, so I figured I might as well use the cabling it came with in this case.

Completed circuit
Completed circuit

I used some 3M double sided tape to keep the wires secured and some M3 x 6mm screws to keep the Trinket mounted to the back of the case. The LED strip comes with some adhesive tape on the back to keep the strip in place. I find that tape on the strip to be a little fussy so make sure you clean/alcohol the inside of the case and firmly press/rub the strip to make sure it is well adhered.

Redhat Logo Sign in white
Redhat Logo Sign in white

The animations for this little prototype sign are pretty straight forward. The system comes up, does a wipe to make the sign glow white. After ~30 seconds it wipes to dark and then cuts over to 30 seconds of a pleasing rainbow animation. Then the loop repeats over and over again.

You can find the source code for this project on my GitHub account here. The animations could be easily augmented. You can create your own or re-use some of the animations from my earlier Adafruit Feather BLE + NeoPixel ring lamp.

Note that he regulator on a Trinket is only 500 milliamps so I make sure to limit the maximum brightness of the LED strip to make sure I don’t overload the system when the background is set to white.

If you’d like to download the STL models for the  Redhat Logo sign and case you can find them on Thingiverse here. If you build your own version of this project, I’d love to hear about it via a comment or contact page note.

Take care,
-Bill Rainford
@TinWhiskerzBlog
@TheRainford

Advertisements

Adafruit Feather BLE + NeoPixel Lamp

Like any red blooded engineer I like nice designs, shiny objects and blinking lights. One of the projects that burrowed its way into my subconscious and helped push me over the edge into buying a 3D printer earlier this year was the Adafruit Feather BLE + NeoPixel lamp with 3D printed Voronoi Shade that plays some animations by the Ruiz Brothers over at Adafruit. It’s a great addition to any office desk or maker workbench. After playing with the sample code which simply played a short animation when you pressed a button in the app I decided to augment the code to continuously play animations and add a few more to the mix.

Feather BLE light paired with iOS app
Feather BLE light paired with iOS app

You can view detailed step/by step instructions on printing this lamp  here on the Adafruit Learning System.  What follows in this post is a description of what changes/modifications I made to the build and additional functionality I added into the software running on the Bluefruit Feather.

Check out this video showing what I did with the software for this project here:

Software Revision Highlights:

  • Currently selected animation will loop continuously without interruption (Original sample plays 1 animation and stops until another button is pressed)
  • Cleaned up animation library/methods, fixed some issues with Adafruit sample code and finished off some incomplete methods
  • Added additional animations to the up, down, left and right buttons in the Adafruit Bluetooth application

You can find the source code for the demo used in the video here on GitHub.

3D Print complete, not gather up the required electronics
3D Print complete, now gather up the required electronics

Notes on Building This Project: 
I printed the base out of ABS filament and the Voronoi shade from light blue translucent PLA filament. I chose not to glue the shade onto the top ring of the base as I like to be able to show off the electronics. I friction fit the clear disk into the bottom of the lampshade so it stays securely as one piece. I also omitted the battery as I only plan to run the lamp in an office setting wherein I have access to plenty of USB ports.

Solder and assemble the light
Solder and assemble the light

BIG NOTE: As this caused me some headaches and wasted time. In the Adafruit Learning System write-up for this lamp, make sure to follow the Fritzing circuit diagram here and NOT from the step by step photograph here. The photograph shows one of the blue wires going into ‘BAT’ and not the expected ‘3V’. You should be powering the NeoPixels off the 3V pin.  

Flash the firmware and test the rig before final assembly of the case.
Flash the firmware and test the rig before final assembly of the case.

Once I finished all the soldering I fit the board, wires and ring into the bottom half of the base and flashed the firmware onto the device and made sure it lit up and worked as expected.

Lid screwed in place to help secure the NeoPixel ring
Lid screwed in place to help secure the NeoPixel ring

Next up I screwed on the top half of the base and started working on the animations I wanted to use and assigned them to various buttons in the Adafruit ‘Bluefruit’ application.

Running animations
Running animations

Last up was testing the completed lamp. It lights up a dark room more that I expected which is nice and is clearly visible in a well lit room. Some of the animations in the above video are far better in person as the DSLR tends to blend a lot of the mixed colors into shades of white — you’ll have to see it in person by building your own.

Red alert, incoming message
Red alert, incoming message

With the above lamp completed you can also tie it into the IfThisThenThat (IFTTT.com) ecosystem via Adafruit IO.  IFTTT allows Internet of Things (IoT) devices to react to a surprisingly large amount of interesting stimuli — if you get a certain type of email, if your phone shows up on your home wifi network, if an IoT sensor gets a certain reading your device and react to that message and carry out your desired task — its an incredible system and will be the focus of my next post, stay tuned.

-Bill
@TinWhiskerzBlog

P.S. If you build your own variant of this project, please leave a comment and share your thoughts and modifications.