LED Diffuser for High Resolution 1701-D Warpcore

by Novel_Mutations Feb 7, 2017
Download All Files

Thing Apps Enabled

Please Login to Comment

thanks for providing this. I am preparing to make this. I am a complete novice when it comes to coding and electronics. Would using a Adafruit Feather Bluefruit M0 board work with your code files?

Sorry been away for a few days. I honestly know nothing about that board so I can't give a good answer. For the most part it should work but I am not 100% sure that fastLED supports the feather series of boards. Your best bet would be to check support for that board with each library I have #included at the start of the ino file. If all the libraries support that board then you will be fine.

Yes those look correct. I used the ones with ws2801 chips on them. They use 4 wires but the ws2811 ones only have three wires and should be compatible with the program by changing the setup line for the leds. With only three wires it should be easier to solder and assemble but it will still be a tight fit.

Thank you for this thing! Thumbs up to you!

  • Posted with 3D Geeks Thingiverse Browser App

I think I was experiencing the same memory overwrite issue as Jastool and others.

I am using a Pro Mini and I don't currently have the HC05 module connected. I am sending commands over the serial monitor.

In my case, sending a "?" caused the help settings to be resent to the monitor as expected. However, the default was not a fixed hue, it was fading. Sending a command to change the configuration was ignored and the help menu was resent.

I figured out it was rebooting the board. I then remembered seeing something about issues in this conversation. I re-read the comments and found the fix by Jastool. I tried that AND IT WORKED!!!

The default setting works as expected and I can send commands through the monitor and they work too! This is so cool!

Now I want to try connecting the HC05 so I can try to configure this without having the programming dongle attached.

I started to look through the tutorials linked on this thing. But I think I read on there that they connected the module one way and use what I think is software serial to talk to it. Does that sound right, or am I way off?

I will read through them again. But if you have any advice that can perhaps point me in a specific direction, that would be helpful.

I had thought about learning how to develop an application for my android phone to control this. But that might be a bit over ambitious for me. I might still do it. But it will take time. In the short term, I think I will look for the bluetooth terminal app that Jastool mentioned. That should work.

Thanks again, Novel_Mutations, for posting this thing. I really enjoyed this project. Also thanks to Jastool for finding the bug and providing a fix. That would have killed me if you hadn't posted it here.

Thanks again everyone.

Ok you are now the fourth or fifth person to confirm the bug so I will update the sketch despite not having time to try the fix myself.

How you talk to it over bluetooth really is up to you. In the end you are only sending it serial commands so any program that can send serial commands over bluetooth at the correct baud rate should work. The program I wrote for my Linux PC just sends commands to the bluetooth connector regardless of it actually being there or not. I get no feedback and if the bluetooth connection drops the interface keeps works but nothing on the waprcore changes.

I think one of the links I provided is a simple Android bluetooth terminal where once connected you should be able to type things in the same way you are in the Arduino serial monitor.

This is a work in progress, but I put together an app for controlling it.

I used an Sparkfun Bluesmirf Module, but I imagine a HC05 would work just as well.


Thank you it looks really nice. I added a link to it along with credit to you for creating it in the description.

Thanks for the advice.

I have already found an app in the play store that is, I think, a simple terminal program specifically for an HC05/6. I will start playing with that now. In case you haven't gathered yet, I am not a programmer by nature. I can hack some things together to make them work. But I am more of a hardware guy myself. But I do like to try to learn. So, maybe someday I will have a nice app for controlling this.

But for now, it will just run at warp 2 in standard mode at least until I get the simple stuff working.

Thanks again for all your help,

I'm not actually a programmer in anyway either. I am a hardware person that has had no choice but to figure out how to program things to make the things I wanted. I probably have many years on you so I am sure you will get to the same point. The program I wrote for Linux uses something called YAD (Yet Another Dialog) which lets you write dialog windows in bash scripts with a single line of code. You can actually write an entire simple program using it with a single line of code. http://smokey01.com/yad/

Thanks for that link. I will take a look at it. But I am not too experienced with Linux although I am trying to change that.


This diffuser is quite complicated and eats a lot of light.... Any chance for a simpler design with less material/faster printing? What issues did you see to cause the design to head this direction?

You are correct it does use a lot of plastic but I do not find it dims it too much. I run mine at around 20 out of 255 for the brightness because it is soooo bright especially at night. I would run it even lower but it makes the animations choppy. But if you are finding that you do not want to use it you could do something similar to the original by theplanetmike which is just a holder for the leds. It does not diffuse them at all so you would need wide angle LEDs. The reason I made the diffusers was to take the narrow 20degree beam from the LEDs and turn it into a column of evenly distributed light 360degrees around. This may be why you are feeling they are eating a lot of light because it is spread over such a large area. Either way the outer lens will diffuse whatever you put inside to some degree so I would just say experiment. Maybe having the LEDs facing backwards and bouncing off the back would work. Or you could put a strip inside a piece of polypropylene tubing just larger than the LEDs. Other types of white plastic tubing may work too.

My lights come Monday. I am printing your diffusers, but also will do some experimentation as well to save future users.

Yeah one of the reasons I uploaded them as a separate thing was because I knew not everyone would want to print it or have the same LEDs etc. I kind of figured that someone would have uploaded a different diffuser by now but so far they have either used mine or not used any at all. Please do keep sharing and keeping us up to date on your progress.

Any chance for sound being added?

Unfortunately Arduinos are not very good at audio. You would need to either upgrade to much faster processor or add an MP3 module with the sounds prerecorded which could be tough for syncing with the speed.

Thanks. I ordered a MP3 module. I figure it out.

If you do get it figured out please post it as a remix for others that would like to do the same.

Another question for you.

Would you recommend gluing all the diffuser sections together, then fitting the LEDs or fitting the LED's, then glueing?


In the end you have to have the entire thing glued together to finish the soldering. But with that said I think I solder sections together using a single diffuser is a good idea. That is how I did it and once I had all 7 - 5 LED segments soldered I glued the diffusers together and completed the soldering between the sections. My LEDs were easy enough to pull out that they were installed and removed the diffusers a few times during the build.

I now have everything printed. I decided to go with one section below the reaction chamber and two above. For no real reason other than the proportions appeal to me.

But I think I might be missing something about the assembly. You indicated somewhere below that you glued all the diffuser sections together then slid all the pieces over that. I haven't glued anything together yet. But I feel like the diffuser for the reaction chamber is shorter than it should be.

The magnetic constrictor diffusers are slightly longer than the constrictor lenses. But the chamber diffuser is significantly shorter than the chamber itself. This makes things not line up they way I would expect them to when I get above the chamber.

I hope that makes sense. I can post pictures if it would help. Am I just missing something?


Not missing anything just that my instructions are not that clear. I say:
"NOTE: the Constrictor diffusers have a blank spot where there is no LED. This is the end that connects to the reaction chamber diffuser and in each additional section it will be behind the phase adjustment coils."

Since there are no magnetic constrictors in the middle they end up inside the reaction chamber making up for the short reaction chamber diffuser. If you look at my first picture above you can see the one without any LEDs has the blank spot all facing right. You would attach the reaction chamber diffuser to the right side of that one. The one that has the LEDs installed already has it's blanks on the left and you would connect the left side to the other end of the reaction chamber diffuser.

In other words the two blank ends end up inside the reaction chamber attached to the short reaction chamber diffuser.


That makes things a bit more clear. Thank you. I think the only issue I am having then is with the base. There is a depression in the base that allows the bottom diffuser to sit lower than it should. This causes the alignment to be off everywhere above. If I leave off the base and stack things like you describe on a flat surface, things line up much more like you describe they should.

I guess I can shim the bottom most diffuser up off the bottom of the base. That would make things line up better.

I am going to try to go to a hobby shop tomorrow to find some music wire and aluminum tubing for the remaining pieces. I don't have any wire coat hangers in the house. I asked the wife and she said, "NO WIRE HANGERS!" I think she is channeling Joan Crawford. I knew it was only a matter of time before she lost her mind completely.

If I can't get the aluminum tubing, I will hit the auto parts store to see if I can get some brake line as you suggest.

Thanks again,

Ah you must be using the base with the flat bottom which I did not print so I didn't realize it allowed the diffuser to fit inside. I used the same end as the top which does not allow the diffusers to fit. To make a spacer you could print a short piece of another diffuser, just stop the print when it is long enough.

Yep! That's it!

Now that I have your confirmation, this should be an easy fix.


I started printing the reactor core yesterday. I have most of the parts printed now except for these diffusers. This is a rather ambitious project for me. I assume I need to print one reaction chamber difffuser plus one constrictor diffuser for each section. Is this correct?


There is only one total reaction chamber diffuser needed plus one constrictor diffuser per section.

Cool! Thanks.

Another question. Is there any trick to getting the chamber lens into the chamber piece? I pretty much destroyed my lens getting it in and I could not quite get it settled in correctly.


I cut the lens at the back exactly opposite of where the door window is. Then it was easy to feed in. When I originally made them I had to scale down the lens a little (that is the one i uploaded) and you may need to scale it down a little more if the door windows do not fit in their respective holes.

Ah! I thought about doing exactly that. But I thought I would ask. Thank you for the info about scaling in case the windows do not fit. I had trouble getting those into place. But I thought it might be caused by the fact that they were being distorted by the flexing of the lens as I got it in place.

I think it will be super easy if I cut the back like you suggest.


Think I'm going to attempt to make this for my father for Christmas this year. Question: Think clear PETG would work well?

I think so. The diffusers act as thousands of light pipes and PETG should transmit more light than PLA. I believe one of the makes used PETG for the lens and they are less white than mine but still look good.

Quick update - I'm 1/2 way through my second print of one, first one came out great but I ripped it off the bed too quickly after finish. Layer adhesion was good for PETG, but I was heavy-handed :^) Second one is in-process and I'm loving the look of it.

I would still use the broken one. Just glue it back together and if it is only one or two layers I would just use it as is because the ends line up with solid parts of the model.

Yup its earmarked to still be used, but truth be told it's only an hour print with very little material. BTW, great advice about the auto store for the 3/16" brake line - I picked up two lengths for $20 just now, and it should be more than enough.

You may need to drill out the holes a little but be sure to keep them close the correct size as these are the main thing that keep it together and make it strong. I put the rods in my drill and spun them while installing them to make them go through tight holes. The result is a warp core that could be used as a weapon.

P.s. please do post pictures (as you go would be cool).

You have my word, if I complete this, you'll get a good make with pics for sure, it's a pet peeve of mine that there's so few documented makes on awesome stuff around here :^)

So true and when the only reward for uploading a model is seeing pictures of peoples prints it can be very disappointing when no-one uploads any even though you know it has been printed at least once.

Currently all parts printed minus:
0/21 vertical tension members
4/7 Mag constrictor segments
2/7 Mag constrictor diffusers

LEDs and controller are in hand, as well as plenty of brake line. I plan on cannibalizing some wire coat hangers at-will when the time comes

Glad to hear it is going well.

Never use Arduino before, to make this that is the easiest board to get? Is there a parts list? Nano, UNO, NodeMCU?

Or I also have some raspberry Pi 3? I already have Pixel controller for WS2812B light strip for Chrismas lights setup, it will be cool to make a Vixen 3 sequence along with sound effects and run it on Falcon Pi Player.

You should find most/all the answers/information in the descriptions and comments of this and the main warpcore thing.

Hi, Thank you for this diffuser design. Question ... the print fails on the upper side of curved dome where LED shines when printing .3 vase layer with a .4 nozzle, wondering if it really needs to be there or can the design be changed that is just a straight U since you want the light to go horizontal and not vertical anyways? that if it can bridge with vase mode.

Sorry I just realized what you meant by a U shape. In my original reply I thought you meant a U shaped channel from top to bottom. But now I realize you meant just make each individual LED pocket U shaped with a flat top which would work but would require a fair bit of work to redesign the model which I myself do not have time to do right now.

0.3mm layer with a 0.4mm width gives almost no overlap so it would cause the layers to droop as well as poor layer adhesion. I would try increasing your extrusion width to at least 0.5mm. You may need to slow down a lot too because at those sizes the volume of plastic being extruded can exceed the hotends capability to melt the plastic fast enough.

I do not believe a U would work because the LEDs would not be held in-line with each constrictor segment and they would just all slowly migrate down to the bottom over time form gravity.

So I believe I fixed I fixed bambelbee's missing led between bottom and reaction chamber. Line 182 needs a minus one added to it so:

byte Bottom = NUM_LEDS + TopDiff - (Pulse + chases) - 1;

With making those changes LED 23 (first LED on bottom after reaction chamber) is lighting up.

When I get a chance I will upload the changes to my warpcore and if everything works as expected I will update the files on Thingiverse.

Sounds good. I sent you the final code i am using.

So now that i have it working and messing with my android app and sliding through the colors. I think I discovered maybe what is going on with the bottom lights that is making it look like it is "skipping" or "blinking" instead of "flowing" like the top section does. For these examples i am using color 26 and color 220. Screenshots are linked below. What it looks like is happening is on LED 11 the cycle is starting over, but it is "ahead" a color hue? When set to color 26 everything is flowing and glowing orange except LED 11 flashes green. When set to 220 everything is flowing pinkish except LED 11 is purple. Do you know what in your code might be causing that? Maybe that is also what BambelBee is noticing? When you are doing main hue like blue or something it isn't as noticeable, but give the bottom the look like it is skipping or blinking or going faster than the top. If you change the colors on yours to 26 or 220 you have the same issue? Do you know what in your code might be causing that?


Hello Jastool ,
Fine that you get a Android App that works with your Code.
Can you give me the Name of this App so that i can Change the Programm that the Led`s are Working ?

I have a custom program i am testing and writing with that will have a GUI to control the warp core. For my initial testing i used Bluetooth Terminal you can get free off the play store.

That almost sounds like a combination of things.

1) There is a color correction setting near the top of my sketch in the setup that may need some adjusting as it determines how the colors are mixed. Many colors are a combination of multiple emitters and if the balance is off they appear as different colors at different brightness levels due to one being low enough that it basically turns off and you only see the second color. Unfortunately to get the smooth pulse we have to fade to black which means each color goes through it full brightness scale (max to min) which will show the mixing issue.

2) The next thing is how I loop through things. Instead of counting time I count movements (TopChases) which causes it to start over every 15 LEDs. It may be possible that when this happens that something gets reset and thus appears slightly different then the rest of the time.

I can tell you if you use Slow Fade at warp one you will see how the color mixing is off as it passes by colors it can't reproduce correctly at all brightness levels. This was something I was willing to live with so I didn't investigate any further. (my purple shows a whitish purple chasing purple, yellow is chased by green, blue has a light purple chasing it etc.)

I should say that my Warpcore stays on Slow Fade at warp 1 with a brightness of 30 almost all the time. It changes color so slowly it is hard to see it happening if you watch it but every time you glance over it will be a different color.

Okay so for my controller i changed all Serial to Serial1, I commented out PrintInfo(); in the void setup, and i changed if bottom check (line 186 of my code) to get ride of the memory overwrite segment to if (Bottom > TopLEDcount&& Bottom < NUM_LEDS) {

Everything works now and i can change all settings through console and the bluetooth adroid app i made. Next is just gui. Will keep you posted.

Nice catch. How did you find the problem?

Me and my friend spent a couple hours looking through the FastLED code and doing the math between that and the code you had. I wanted to start over and just get standard mode going so I set it to just that, but after I did that it wasn't chasing all the way to warp core so we started looking at FastLED library thinking maybe it had to do with the version you had versus what i had now.

Well good job finding it. I think it may be the same problem as BambelBee had but with different symptoms. They set BottomLEDcount to 16 rather than 15. This would stop the over flow you found was causing your problem. Either way it shows there is a problem with my code. I would suggest removing your changes on line 186 and try changing BottomLEDcount to 16 or change line 31 from "define TopDiff TopLEDcount-BottomLEDcount" to "define TopDiff TopLEDcount-BottomLEDcount-1". If either of those fix the problem then I should change line 31 in my code.

With all that said I have been watching my warpcore ever since BambelBee mentioned there being a blank LED between the reaction chamber and the bottom segments and I wonder if I have that too. I have never run my code without the entire thing being assembled so it is hard to tell if it is skipping one LED. That spot does look a little abrupt so I may also have the same problem without knowing it until now.

So I noticed that too. I havent looked at it not all together either. What I saw though is it isn't skipping a segment, but for the bottom lights it is bleed over from the bottom reactor chamber light. It makes it look like the lights arent flowing. What I did was change the reaction chamber saturation code from 255 to 200 and that looks better. I noticed that happens on the top too if my ariduno and bt adapter are too close. Shows red an like leds don't start from top.

Looks like there may be a memory overrite segement. i kept the stuff and changed to
if (Bottom > TopLEDcount&& Bottom < NUM_LEDS) {

and now it is flowing in standard

So just for giggles i changed the void loop to:

void loop() {

void standard() {
ReactorHue = MainHue;

And it works with blue. Tried some delays which just changes the pulse rate. Only goes six or so LED's and doesn't go all the way to reactor chamber.

Okay. I got it finished. Hard sliding the diffuser into the shell. A friend of mine who is a programmer is going to help me with an android program so i can change the settings over blutooth through a GUI. For now fade looks cool =)

I am so glad to hear you have it assembled and working. It looks really good. I believe the pattern running is one I called Fade. It fades from one color to another while running. Rainbow changes colors with each LED so each segment looks like a rainbow of colors.

I don't know why that would be the default it goes to. In my sketch you will find the following at line 24:
define DefaultPattern 1 // 1-5 1=Standard 2=Breach 3=Rainbow 4=Fade 5=Slow Fade

By default it is set to 1 and should be running Blue and not fading unless you have changed it before uploading the sketch.

Also if you want to make it change before writing the Android program you can use the USB cable and follow these instructions https://tinyurl.com/y9j9q3dg

So at the moment i don't have the bluetooh plugged in so i can just do some testing with usb cable. So when i go to serial monitor and type in ?. The arduino appears to "lock up" as the lights stop and nothing is returned to serial monitor screen. If i disconnect usb and reconnect it starts working again. Altough trying to send a command just locks it up again.

Also if i upload the sketch whil having searial monitor open it returns the help:
**** Help ****
Input Format - <2, 160, 220, 255>
Input Fields - <Warp Factor, Hue, Saturation, Brightness, Pattern>
Warp Factor range - 1-9
Hue range - 1-255 1=Red 32=Orange 64=Yellow 96=Green 128=Aqua 160=Blue 192=Purple 224=Pink 255=Red
Saturation range - 1-255
Brightness range - 1-255
Pattern - 1-5 1=Standard 2=Breach 3=Rainbow 4=Fade 5=Slow Fade

Current Settings
<2, 160, 255, 160, 1>

Even though it shows that as current setting it is actually doing the fade not the blue warp 2 default and if i try sending any command it locks up. Seems something is wrong with the sketch? I didn't make any changes to your sketch just uploaded it. Any input is appreciated

Interesting. My first guess is it has something to do with the Serial Speed. My sketch is set to 115200 by default and you will want to make sure it is set the same in the serial monitor. The next thing I would try if that was not the problem would be to lower the speed in the sketch, re-upload it to the Arduino and try the serial monitor at the new speed.

Speeds in descending order are 115200, 57600, 38400, 19200, 9600 But the slower you go the longer it takes for the program to respond.

My next guess is something about the way the Pro Micro uses serial communication that is slightly different than the way it is done in the Pro Mini. I will look into it a little while you try the serial speeds.

I tried all the baud rates and still reacts the same. Again it just lock up when try to send a command. For the heck of it I tried cylon and demoreel100 and those worked fine. Also even though the default is set to warp 2 in your sketch it is still doing fade after i upload.

I did a little research and I wonder if it is because of the built in USB using Serial and the Hardware serial now being Serial1. What this means is to use the Bluetooth you will need to change were is says Serial in my sketch with Serial1 so it uses the serial port on pins 0 and 1 and not the USB serial port.

A good test would be to see if changing Serial to Serial1 in my sketch makes it work on the correct Default warp 2 mode and not Fade. This would mean you can't change the settings via USB but it should tell us if the issue is because of changes with Serial on the Pro Micro. If it works after changing to Serial1 we know it should work with Bluetooth on Serial1 and if it doesn't let me know and I will try and think of something else.

If you want to get a second opinion I would suggest joining the FastLED G+ group and ask over there if they know of any reason why a sketch using FastLED would work on a Arduino Pro Mini but have Serial problems on a Pro Micro.

So change everywhere it says serial to serial1 or is there a specific section?

Well i changed everyline that says Serial to Serial1 and only three out of the 37 lights are on and they are blue.

It would be all the ones that are Serial. <---Note the period after the capitalized Serial.. They would say Serial1. now.

Yeah i replaced them all with Serial1 and led 2, 12, and a reactor chamber llight are blue and flashing. i did hook up the bluetooth reciever and used a bluetooth terminal and it keeps displaying the current settings over and over like it is stuck in a reboot which is probably why the lights flicker every few seconds.

Ok I think we are getting somewhere with this. In my sketch in the void setup function comment out the last line that says PrintInfo(); . Then try again.

No lights or anything, but i did see current setting in bluetooth terminal

If i send a ? through bluetooth terminal it shows current settings.

That should mean that you can change the settings over bluetooth too. I believe the way I wrote it is it doesn't actually apply the settings until a certain call so I would try sending a <1> to see if it starts working.

I read somewhere that on a Leonardo (Or Pro Mini) that you can not have a call to serial print in the setup because it causes an infinite loop to occur. You may also find that without that PrintInfo(); in the setup it may work over USB with the normal Serial. rather than the Serial1. for the Bluetooth.

Did the <1> with bluetooth terminal and nothing. ? still displays. No lights at all. Tried ? and <1> in serial monitor no response.

Another thing to try would be to lower the baud rate now that we know the call to PrintInfo(); causes the loop maybe the rest of the communication issues are with the Serial speed. Also did you set up your bluetooth adapter to work with the current speed (they default to 9600).

So i have not lights, if i comment receiveSerial1Data(); i get blue lights, but only led like 2, 13 and one of the warp reaction chamber lights are on.

Ok lets try disabling serial in the sketch entirely and see if the rest of the sketch runs as it is supposed to.

We will comment out Serial.begin or Serial1.begin in the void setup

This should disable Serial in the sketch and that should tell us if Serial is what is causing the problems with the rest of the sketch.

Commenting that out had no effect on the lights and now it just doesn't communicate with ? commands and such. I didn't modifiy the bluetooth yet and i do have the rate set to 9600

It should not have communicated any longer so that part is ok.

If you had the baud rate in my sketch set to 9600 then any commands you sent may take a minute or two to take effect. FastLED blocks the serial interrupt routine for a lot of cycles and at that speed those cycles take a very long time.

I would set up the bluetooth adapter to work at 115200 and then try again. (with Serial1 NOT commented out).

But honestly I am running out of ideas and ways to trouble shoot this. It may be time to ask in the FastLED G+ group as this may be an issue with FastLED and the Atmega32u4 on the Pro Micro combined with Serial communication.

I just had a thought. Confirm you have the correct board selected in the Arduino IDE. It should be Pro Micro or Leonardo.

Hello Jastool i search a Programm for Android so i can Change the Color or Steel from the LED can you give me Help for this. ?
Bluetooth is going on my Arduino Nano.

If/when i get one working i can let you know.

Okay, so have it wired and having a lighting issue. Any input is appreciate.

I got the arduino pro micro you linked in the warp core shell comments. I have red wire hooked up to raw, light blue wire hooked up to gnd, white DI wire hooked to pin 3, and green cl wire hooked to pin nine. i added fastled library and uploaded as arduino/genuino micro. The verify and upload passed.

After uploading the cycling colors work down from LED 1-6 then LED 7-12 are just white then LED 13-37 are not lighting up at all. Is this an error with the way i am using the sketch or some sort of wiring issue. I have never used the Arduino program before but i looked through some tutorials and things before i uploaded your file. Here is a picture of the lights https://ibb.co/bwudJF

Let me know if you need more information or pictures.

It sounds to me that there may be a wiring issue. To check you could upload one of the fastled example programs (you will have to change the LED type and pins in the example sketch). If the example fails at the same point it is a wiring issue, could be a bad LED in place 7 or a short between wires or solder bridging connections. To check if it is a bad LED you could unsolder DI from LED 7 and connect it to DI of LED 8 and if it works from that point on then you know LED 7 is bad. If it the example fastled worked then it may be you need to change the LED type in my sketch to match your LEDs.

Thanks i will try some of those suggestions. After messing with it before bed last night i resoldered wires, it still only changes colors from 1-6, but 7-37 is solid white. I am using WS2801 for the lights.

Also out of curiosity after i upload your program what is it supposed to do by default? Lights 1-6 are doing a color cycle. What is the default order since i don't have a gui to control what the lights do?

Default is running at warp 2 with blue lights so it does sound like it works up to LED 6.

If default is running at warp two with blue lights that is not what it is doing. It isn't blue. It is cycling through all the rgb colors while moving to LED 6.

I accidentally deleted the other comment. I uncommented the line you mention and that was part of the issue why no lights were on for the fastled example. After i did that for the example LED 1 blinks red, led 2-6 are off, and LED 7-37 are solid white.

Also i do have the + from the power supply connected to the same Red wire chain that is connected to the RAW of the arduino.

Be sure to re-read through my recent comments as there were some over lapping your comments that you may have missed. Once you have re-read them let me know your thoughts.

The most important are DemoReel100 and last nights suggestion of bypassing LED 7 to see if its causing the issue.

Okay so i bypassed 7 and went to 8 and , 8 worked, but rest was solid. I kept going down the line until 11 and the rest of diffuser worked. Looks like i need to swap out LED 7, 9, and 10. i will do that now and see if whole diffuser works and keep you posted. Thanks for you help!

Glad you getting somewhere. Sometimes its hard to track down issues like this.

That did the trick, but now it got stuck and broke while sliding into the outer shell so fixing again, =(

Yeah I tend to make things very precise and leave very little room to work. I am sure you will get it all sorted out. Please be sure to upload pictures when its done.

So now that it broke, if it flashes to like led 17, but no lights after that, does that typically mean the issue is at that first bulb out?

Yes. They work by passing data from one to the next so if they stop working it will be at the one that stopped or possibly the one previous is no longer passing along the data. Sounds like it will most likely be a broken solder connection or possibly you have caused the wires to short between each other. Just go over them again and I'm sure you will find the issue. Also after this I am sure you will be much more confident soldering.

yeah i am way better than when i started, last half much better then first half.

So you think just the wires at that stopping point or you think i could have killed the bulb? is there an easy way of knowing?

Hard to say. If you shorted + to DI or DI you could have damaged the LED but I would look for wiring issues before LED issues. If you had shorted DI or DO to + you would most likely damage more than one LED. To prevent shorts you can use a small amount of Hot Glue or Nail Polish to insulate the bare wires but be warned that repairing things after gets much harder.

yeah well not sure if it is a short, because the power was off when the diffuser got stuck 3/4 of the way going through the outer shell, when i pulled out a series of three light wires broke when i was pulling to get the diffuser out. So the lights work up to those three and maybe like one or two work further down the chain, but the rest are out. I think i will take a break then just swap out those three with new ones later on and see if that fixes the chain.

Also you may be able to assemble the other parts around the diffuser instead of sliding the diffuser through them. I am not sure how easy that would be but it is an option to hopefully prevent future damage.

Once you are feeling up to it I would add flux to all those joints and then remelt the solder with a hot clean soldering iron. This should reflow the joint and make sure it is working. You can have a joint that looks connected but doesn't work and adding flux and reflowing will make sure it is not that. I can not stress enough to use flux, good solder and a clean iron for all soldering. The best technician can't do anything with a dirty surface and/or bad solder.

That sounds like the rainbow program in my program is running.

Comments deleted.

I believe the fastLed example called DemoReel100 is an easy reliable one to get working for testing. You could also try Cylon as it is similar to my sketch.

In my sketch you will find this line " FastLED.addLeds<WS2801,DATA_PIN, CLOCK_PIN, RGB>(LEDarray,NUM_LEDS); " and you will notice the WS2801 part. In the example sketch you tried try and find a similar line and make sure it is set to WS2801. It will most likely have the addLeds part in it.

Also you previously mentioned connecting the power for the LEDs to Raw of the Arduino and I just want to confirm you also have your power to the Arduino from your power supply connected to that same pin.

Okay so i uploaded the fastled blink example and yeah i didn't have that link uncommented. With that example uploaded only LED 1 blinks, 2-6 are not on at all, and lights 3-37 are solid white.

Yeah the + from my power supply is hooked up to the same Red wire string that is also connecting to raw of the arduino.

If you had to uncomment a line be sure to comment the one that was previously uncommented. Hope that isn't too confusing.

Hello Novel_Mutations so the First of the Diffusers are Ready and the Funktion is Correct so lets Start the other ones. https://ibb.co/co7kav

So i finished 3d printing all the parts and i am going to work on lighting next. i see how you folded them over in diffusers, but how did you do the warp reaction chamber since there is no "blank" space like in the other. I put all mine together minus the top and bottom so that i could slide the deffusers through then have access to wire top an bottom. I guess you didn't put it all together first?

Also with the light you say the direction in is at the top and out on the bottom. Is there a way to tell on those lights which is the in side?


Glad to hear it is going well. There is a special piece for the Reaction chamber and the other parts all mate with that special piece with their "blank" space against the special reaction chamber piece.

For the LEDs you will see one side says DI and the other side will have DO. These mean Digital In and Digital Out so the In side is DI and Out is DO. You wire the first DO to the seconds DI and so forth until they are all wired together and connect the Arduino to the DI of the first one.

Okay thanks i see the DO and DI.

Yeah i have printed the special diffuser for the reaction chamber, but it doesn't have the channels like the other diffusers that hide behind the phase adjustment coils. I already put the warp core together, and glued the diffusers, i was going to wire it then slide it through the cores, i guess i will have to adjust the reaction chamber diffuser so i can bend those lights as well

Ah. I see what you are referring too. I did not take a picture of the core wiring and I do not want to take it apart now so I will try and explain it with words. I'll assume you printed all the diffusers with zero infill and no top and bottom layers as instructed so you should be able to fish the wires through the coiled ends of the reaction chamber part to connect them. As long as you keep all the LEDs and wires flush with the diffusers outer edges you can still slide the entire thing in from one end.

I did. Thanks. I will give it all a shot and keep you posted. Still haven't received my Ariduno so I will wire everything else while waiting. 37 lights will take time anyway.

hi there
very busy printing this version led diffuser ordered all the parts i need
possible to provide more information about wiring arduino bluetooth and leds?


Sure I'll try.
The LED's have a direction. That is one side is IN and one OUT. The IN side I have at the top and OUT at the bottom. I have the power coming in the bottom (doesn't matter where its connected, it could be the middle or either end etc) and it's connected to the + and - terminals of the LED's.

I then connected the Arduino + and - to the + and - terminals at the top of the LED's. This now powers the Arduino. The last wires on the first (top) LED now connect to the Arduino (Data pin to pin 3 and clock pin to pin 9).

NOTE: The clock pin will not be used if using WS2812's and you will also need to comment out the clock pin in the sketch and change the line where is says " FastLED.addLeds<WS2801,DATA_PIN, CLOCK_PIN, RGB>(LEDarray,NUM_LEDS); " to say " FastLED.addLeds<WS2812,DATA_PIN, RGB>(LEDarray,NUM_LEDS); "

Once it's programmed and up and running you will be able to connect the bluetooth adapter to the Arduino. + to +, - to -, tx to rx, and rx to tx. You can not have the bluetooth connected to the Arduino while you program the Arduino because it uses the same serial port on the Arduino. There is a way to program over bluetooth but I haven't ever done it.

NOTE 2: Not all HC-05 and HC-06 modules can handle 5v signals from the Arduino and may require a couple of resistors to make a voltage divider for the Bluetooth rx line. See the tutorials below for more info and how to make one if needed. My unit had them built in so I was lucky.

Here are a few good references and tutorials about bluetooth modules with Arduino:

Thank you very helpfull should get it working now

If you have more questions feel free to ask. Also please be sure to upload pictures.

Me again,
almost there changed the skech cause i didnt have the clock pin, uploaded no problems and have the blue LED's running up en down
i connected bluetooth adapter HC-05 now i'm stuck how or with what do i communicate to change lights. ??


First you should understand how to control it over usb. Disconnect the bluetooth and reconnect it to your computer like when you programmed it. Then open the Arduino IDE and click the Serial Monitor button. In the serial monitor select baud rate as 115200. Then in the input field type a single question mark ? and press enter. At this point it should return a bunch of information that looks like.

**** Help ****
Input Format - <2, 160, 220, 255, 1>
Input Fields - <Warp Factor, Hue, Saturation, Brightness, Pattern>
Warp Factor range - 1-9
Hue range - 1-255 1=Red 32=Orange 64=Yellow 96=Green 128=Aqua 160=Blue 192=Purple 224=Pink 255=Red
Saturation range - 1-255
Brightness range - 1-255
Pattern - 1-5 1=Standard 2=Breach 3=Rainbow 4=Fade 5=Slow Fade

Current Settings
<2, 160, 220, 255, 1>

If you get that response you know it is working and can continue.

Now you can try changing the settings by typing in the following.
<9, 160, 220, 255, 1>
That should set the warp speed to 9 and leave the rest. It will also except <9, 0, 0, 0, 0> to change just the warp factor (if not already at 9) as it ignores the zero's and only changes the other values.

So to change the pattern to rainbow you could enter.
<0, 0, 0, 0, 3> or enter all the values as in my first example but with the 3 in the last position.

NOTE: When changing the pattern it ignores the other values and resets them to the defaults. If you want the other values changed just resend the same command.

Now to control it via bluetooth you need to be able to send it those same commands over bluetooth which may or may not be easy. I am a linux user so how I do it is more than likely useless to you. There are many examples of controlling arduino's over bluetooth with android smartphones like this one http://www.instructables.com/id/Tutorial-Using-HC06-Bluetooth-to-Serial-Wireless-U/?ALLSTEPS

NOTE: ****
The default baud rate of the bluetooth module will NOT likely be the same as the sketch (115200) so you will either need to reprogram the bluetooth module or change the sketch to use the default bluetooth module baud rate. I recommend reprogramming the adapter because the fastled library takes over the arduino and at the slow default bluetooth baud rate it can take a long time for you selections to actually be executed. Instructions on how to reprogram the adapter were in one of my previous messages.