Popular Post Zombie Batman Posted May 6, 2021 Popular Post Share Posted May 6, 2021 (edited) I built an infinite tail light for my Sherman. I'm really happy with how this project turned out. It's made from a 3" PVC pipe. Two rows of LED strips are glued to the inside walls of the PVC pipe. A mirror in the back reflects light to the glass in front which is treated with a one way window film to get that infinite mirror effect. The LEDs are controlled by an LED controller which is power by the 3.5mm tail light power source. The mount was built from a hyco bar; which was cut, bent, and the corners ground down. Version 2 of the Infinite Tail Light has some improvements. The control board is now an Arduino Feather running custom patterns. The metal mount is now secured with 3 bolts. The control board now also controls an outer ring of LEDs and two external LED strips which run on the sides of the wheel. The trim piece and tail cap are now 3D printed. The 3d printed cap is much stronger than the version 1 cap. Version 2 also includes bluetooth and wifi. It can be reprogrammed wirelessly. The tail light is powered from the rear light power source. There are three contacts on the 3.5mm power connector. The tip is 5 volts. The middle contact is 1 volt and is used in the stock light for signaling. The base contact is the ground. There is a limit to how many amps can safely be pulled from the wheel's tail light jack. I do not know what that limit is but I think this mod comes very close to that limit. I've found that while in motion, with the front light on, pulling any more than 3.9 amps in the tail light will cause the front light to blink off momentarily. The good news in that the Sherman engineers appear to have delivered a robust power supply. When I pulled 4 amps the wheel did not smoke, and the wheel did not shut off on me; the head light simply blinked off momentarily. For this reason the code limits the brightness of the LEDs to 75%. With that fix in place my tail light with the two side LED strips draws a maximum of 3.1 amps which seems to have fixed the issue. Care should still be taken with this mod or any other mod that uses more than 2 LED strips. There is a danger of damaging the main board if too much power is drawn. It may be better to use a separate USB battery pack or some other power solution. Materials: 3" PVC Pipe https://www.homedepot.com/p/Charlotte-Pipe-3-in-x-2-ft-DWV-Schedule-40-Foam-Core-Pipe-PVC-04300-0200/202018043 LED Strip https://www.amazon.com/gp/product/B01CDTE6Y6/ One strip is needed for the tail light. Two more strips are needed for side lights 3" Acrylic Circles https://www.amazon.com/gp/product/B087C1YCMX LED Controller (choose off the shelf or Code your own with an Arduino) https://www.amazon.com/gp/product/B07YW6PP41 https://play.google.com/store/apps/details?id=com.spled.ppze&hl=en_US&gl=US https://www.amazon.com/gp/product/B01NCRYHDL 3 pin LED cables https://www.amazon.com/gp/product/B00NBSH4CA 3.5mm right angle headphone cable https://www.amazon.com/gp/product/B07RYPJ49R Hyco Bar (for the bracket) https://www.homedepot.com/p/Oatey-5-8-in-x-18-in-14-Gauge-Pipe-Support-Hyco-Bar-33535/301505433 One way windows film https://www.amazon.com/gp/product/B08PY23G8B There is enough silver here for 100s of lights. I don't know where to get smaller sheets 3" Mirror https://www.amazon.com/gp/product/B07T56PLJQ Cap (version 1 used a off the shelf cap. version 2 used a custom 3d printed cap) https://www.homedepot.com/p/Oatey-3-in-PVC-Pipe-Test-Cap-with-Knockout-39102/100122751 3D Printing STL Files: https://www.thingiverse.com/thing:4851652 Arduino Code: The code is a work in progress. But here is what is running in the second video. Quote #include <WiFi.h> #include <ESPmDNS.h> #include <WiFiUdp.h> #include <ArduinoOTA.h> // this allow you to update the software over the air const char* ssid = "your_wireless_ssid"; const char* password = "your_password"; #include "FastLED.h" // set to 75% brightness to reduce amp draw #define BRIGHTNESS ((uint8_t)(255*0.75)) #define EUC_BODY_LEFT_PIN 12 #define EUC_BODY_LEFT_PIN_LEDS 144 #define EUC_BODY_RIGHT_PIN 15 #define EUC_BODY_RIGHT_PIN_LEDS 144 #define TAIL_RING_PIN 33 #define TAIL_RING_NUM_LEDS 144 #define INFINATE_STRIP_PIN 13 #define INFINATE_STRIP_NUM_LEDS 144 CRGB infinate_strip_leds[INFINATE_STRIP_NUM_LEDS]; CRGB tail_strip_leds[TAIL_RING_NUM_LEDS]; void setupOTAUpdate() { Serial.begin(115200); Serial.println("Booting"); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); if(WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.println("Connection Failed! Must be out shreding the gnar..."); return; } ArduinoOTA .onStart([]() { String type; if (ArduinoOTA.getCommand() == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; Serial.println("Start updating " + type); }) .onEnd([]() { Serial.println("\nEnd"); }) .onProgress([](unsigned int progress, unsigned int total) { Serial.printf("Progress: %u%%\r", (progress / (total / 100))); }) .onError([](ota_error_t error) { Serial.printf("Error[%u]: ", error); if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); else if (error == OTA_END_ERROR) Serial.println("End Failed"); }); ArduinoOTA.begin(); Serial.println("Ready"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); } void setup() { setupOTAUpdate(); FastLED.addLeds<WS2811, INFINATE_STRIP_PIN, GRB>(infinate_strip_leds, INFINATE_STRIP_NUM_LEDS).setCorrection( TypicalLEDStrip ); FastLED.addLeds<WS2811, TAIL_RING_PIN, GRB>(infinate_strip_leds, TAIL_RING_NUM_LEDS).setCorrection( TypicalLEDStrip ); FastLED.addLeds<WS2811, EUC_BODY_LEFT_PIN, GRB>(infinate_strip_leds, EUC_BODY_LEFT_PIN_LEDS).setCorrection( TypicalLEDStrip ); FastLED.addLeds<WS2811, EUC_BODY_RIGHT_PIN, GRB>(infinate_strip_leds, EUC_BODY_RIGHT_PIN_LEDS).setCorrection( TypicalLEDStrip ); FastLED.setBrightness(BRIGHTNESS); } void loop() { ArduinoOTA.handle(); Fire(55,120,15); } void Fire(int Cooling, int Sparking, int SpeedDelay) { static byte heat[INFINATE_STRIP_NUM_LEDS]; int cooldown; // Step 1. Cool down every cell a little for( int i = 0; i < INFINATE_STRIP_NUM_LEDS; i++) { cooldown = random(0, ((Cooling * 10) / INFINATE_STRIP_NUM_LEDS) + 2); if(cooldown>heat[i]) { heat[i]=0; } else { heat[i]=heat[i]-cooldown; } } // Step 2. Heat from each cell drifts 'up' and diffuses a little for( int k= INFINATE_STRIP_NUM_LEDS - 1; k >= 2; k--) { heat[k] = (heat[k - 1] + heat[k - 2] + heat[k - 2]) / 3; } // Step 3. Randomly ignite new 'sparks' near the bottom if( random(255) < Sparking ) { int y = random(7); heat[y] = heat[y] + random(160,255); //heat[y] = random(160,255); } // Step 4. Convert heat to LED colors for( int j = 0; j < INFINATE_STRIP_NUM_LEDS; j++) { setPixelHeatColor(j, heat[j] ); } showStrip(); delay(SpeedDelay); } void setPixelHeatColor (int Pixel, byte temperature) { // Scale 'heat' down from 0-255 to 0-191 byte t192 = round((temperature/255.0)*191); // calculate ramp up from byte heatramp = t192 & 0x3F; // 0..63 heatramp <<= 2; // scale up to 0..252 // figure out which third of the spectrum we're in: if( t192 > 0x80) { // hottest setPixel(Pixel, 255, 255, heatramp); } else if( t192 > 0x40 ) // middle { setPixel(Pixel, 255, heatramp, 0); } else { // coolest setPixel(Pixel, heatramp, 0, 0); } } void showStrip() { #ifdef ADAFRUIT_NEOPIXEL_H // NeoPixel strip.show(); #endif #ifndef ADAFRUIT_NEOPIXEL_H // FastLED FastLED.show(); #endif } void setPixel(int Pixel, byte red, byte green, byte blue) { #ifdef ADAFRUIT_NEOPIXEL_H // NeoPixel strip.setPixelColor(Pixel, strip.Color(red, green, blue)); #endif #ifndef ADAFRUIT_NEOPIXEL_H // FastLED infinate_strip_leds[Pixel].r = red; infinate_strip_leds[Pixel].g = green; infinate_strip_leds[Pixel].b = blue; #endif } void setAll(byte red, byte green, byte blue) { for(int i = 0; i < INFINATE_STRIP_NUM_LEDS; i++ ) { setPixel(i, red, green, blue); } showStrip(); } Album of Build Photos: https://imgur.com/a/DymLDUa Edited May 10, 2021 by Zombie Batman 17 Quote Link to comment Share on other sites More sharing options...
OldFartRides Posted May 8, 2021 Share Posted May 8, 2021 Pretty slick there ZB. When do you go into production ? 1 Quote Link to comment Share on other sites More sharing options...
Boogieman Posted May 9, 2021 Share Posted May 9, 2021 (edited) Wow, love that first video where you truly can see the infinite tunnel. Don't know how the eye can be fooled like that, but love it. So much work behind that, impressive. And the PVC PIPE "tunnel" with the LEDs on the inside reminds me A LOT Of the Sherman rim with magnets inside :-) Ideas: Having it spin in red only and increase in intensity when braking would make it"Street legal" (i guess it's mostly the blue/white light that confuses of you are showing front or trail of Sherman) When turning, Using orange on left or right half (the rest blacked out) would simulate legal coloured turn signals :-) Edited May 9, 2021 by Boogieman Quote Link to comment Share on other sites More sharing options...
Zombie Batman Posted May 10, 2021 Author Share Posted May 10, 2021 On 5/8/2021 at 9:20 AM, OldFartRides said: Pretty slick there ZB. When do you go into production ? Never. It's too much work to make something like this. The price would not be reasonable. 1 Quote Link to comment Share on other sites More sharing options...
meepmeepmayer Posted May 10, 2021 Share Posted May 10, 2021 Wow, looks fantastic! One of the coolest mods I've seen. 1 Quote Link to comment Share on other sites More sharing options...
Rawnei Posted October 7, 2021 Share Posted October 7, 2021 (edited) So I currently have 2x100 LEDS strips mounted on the Sherman which are powered by a Powerbank, I've configured the LEDs to draw max 2A (the controller is running WLED so you can limit power draw). The whole setup using a Powerbank is a bit clumsy for various reasons and lately I've been thinking about a more elegant solution to power them from the rear light connector however and been looking around for decent enough 3.5mm splitter cables that can handle 2A+ so I can power the leds and the rear light at the same time, it seems there are no ready made ones with decent thickness, the 3.5mm cable you linked you use those to power your leds? Seems awfully thin. 😮 Edited October 7, 2021 by Rawnei 1 Quote Link to comment Share on other sites More sharing options...
Rawnei Posted October 8, 2021 Share Posted October 8, 2021 I ended up getting a 20cm 3.5 splitter cable, then I made my own 3.5mm to DC cable and put a on/off switch on it, works brilliantly, I have WLED set to max 1500ma. Quote Link to comment Share on other sites More sharing options...
Corradon Posted May 13, 2022 Share Posted May 13, 2022 I'm going to have to print my own "pvc pipe" because i can't find anything in sweden that works, or is available to buy. Could you tell me the exact sizes you used so it all went together in the v2? In sweden there also weren't any 3inch mirrors, the closest i could find was 2.95", i hope it works.. otherwise i'll just have to scale down the printed parts i suppose 1 Quote Link to comment Share on other sites More sharing options...
Vincencus Posted May 6, 2023 Share Posted May 6, 2023 Amazing man. From this thread it looks like the back is pulling 5v. Def going to look into this Quote Link to comment Share on other sites More sharing options...
onkeldanuel Posted September 26, 2023 Share Posted September 26, 2023 On 5/13/2022 at 10:04 PM, Corradon said: I'm going to have to print my own "pvc pipe" because i can't find anything in sweden that works, or is available to buy. Could you tell me the exact sizes you used so it all went together in the v2? In sweden there also weren't any 3inch mirrors, the closest i could find was 2.95", i hope it works.. otherwise i'll just have to scale down the printed parts i suppose Can you give me some Tips how to build it because im from europe too and have to print my own pipe because lack of 3" pipes here.....i got an 3" tho, but how long do i have to print the "pvc" pipe and also i cant figure out where the clear acrylic Disc and the silver foil comes to? Guess in front and it works because the silver UV foil is one way and have to put it inside the light?? Quote Link to comment Share on other sites More sharing options...
Corradon Posted December 22, 2023 Share Posted December 22, 2023 On 9/26/2023 at 6:11 PM, onkeldanuel said: Can you give me some Tips how to build it because im from europe too and have to print my own pipe because lack of 3" pipes here.....i got an 3" tho, but how long do i have to print the "pvc" pipe and also i cant figure out where the clear acrylic Disc and the silver foil comes to? Guess in front and it works because the silver UV foil is one way and have to put it inside the light?? I'm with you, i wish the OP would deem to answer here or on thingiverse already, waited more than a year for response on a simple "how long is it".. I'm almost to the point where i just design something on my own and see if it works Quote Link to comment Share on other sites More sharing options...
OldFartRides Posted December 22, 2023 Share Posted December 22, 2023 OP last visited middle of August… Quote Link to comment Share on other sites More sharing options...
meepmeepmayer Posted December 22, 2023 Share Posted December 22, 2023 If you send @Zombie Batmana Message, I think by default he should get a notification email from the forum. Worth trying. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.