I cleaned my Kotronic jukebox and now it’s time to give this an upgrade. I will leave all of the original electronics intact and still working but I will add the WS2812 led strip inside the bezels, top and centerpieces. these will be controlled using an Arduino to simulate the “bubbler” bezels from the original wurtzinger/rock-ola jukeboxes from the ’50s.
- Arduino Uno (others will work just fine but may require different wiring) – Arduino Store, eBay, eBay, eBay
- WS2812 144l/m Led strip(s) – buy Here, Here, Here or Here
- 5V PSU – buy Here, Here, Here, Here
– You must use a 5V DC power supply to power these strips, do not use higher than 6V or you can destroy the entire strip.
– 144l/m strip uses 5A (25W) to 10A (50w) per meter at full brightness (rgb 100%)
– You can use 100/m or 96 per meter but the more leds the smoother the effect - Arduino Software (Download)
The plan is to have 4 groups of LED strips, one for the outer bezel, one for the inner bezel and the top compartment.
To power all the electronics. I installed a grounded&fused power plug on the back of the jukebox that also has an integrated power button. I marked the outlining of the power plug on the back of the jukebox, then used the hand jigsaw to cut out the outlining. This is rather thin wood so this went very quickly. I used some screws to mount the chassis power connector in place.
https://www.youtube.com/watch?v=jcU1jxFmFs0
Then I sacrificed a power strip by cutting off its plug (leave some extra wire on the plug-side, this will be used to power our LED strip PSU later) and wired it onto the power plug like shown in the video above.
The power strip was mounted on the bottom of the jukebox using double-sided tape.
Before installing the LED strips, I want to make sure everything is working before installation. First program your Arduino with the following simple test program. This sample project requires the FastLED Library (Github). Download the latest release and extract the content in Documents/Arduino/Libraries/…
When the library is correctly installed, copy and paste the following code in your editor and program your Arduino. If the program fails, check if you selected the correct Arduino board in the programmer settings.
#include <FastLED.h> #define LED_PIN 7 #define NUM_LEDS 422 CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS); } void loop() { for (int i = 0; i <= 19; i++) { leds[i] = CRGB ( 0, 0, 255); FastLED.show(); delay(40); } for (int i = 19; i >= 0; i--) { leds[i] = CRGB ( 255, 0, 0); FastLED.show(); delay(40); } }
Before programming, change the LED_PIN to the pin you want to use as the data output pin on your Arduino. Then change the number of LEDs to match your strip, I attached 3 strips for a total of 432 LEDs. Then make sure the correct Arduino is selected under “Tools->Board” and hit Upload. The program should just compile and upload without errors and you are now ready to wire your test setup.
First, if you haven’t done this already is attach the wall plug we cut off earlier onto your power supply. Then connect the power lines of the LED strip connector onto your power supply, make sure the red wire is connected to the positive terminal and the white to the negative terminal. Then wire the LED strip connector as follows onto your Arduino.
- White wire – Negative, this should be connected to any of the ground pins on your Arduino
- Green Wire – This provides the DATA and should be connected to the “LED_PIN” you chose earlier
- Red Wire – Positive, this can be connected to the +5V (out) pin on your Arduino. if your Arduino is powered over USB, this wire is not required
Now power on your power supply and the program should work as follows
This is the program I currently have installed on my Jukebox, I added a momentary push button to switch between “patterns” and an extra power switch for controlling the power supply, this way the jukebox can still be used without the lights later. The program was based on the FasLED’s “ColorPalette” sample and all of the credits go to the fastled library programmer. Before programming you should change the following variables to match your setup:
- LED_PIN – The data pin for the led strips
- NUM_LEDS – This should be the number of LEDs on a single led strip, in my case, this is 144. Because the led strips are not connected in series but rather as 4 separated single strips of 144leds. this way the colors change simultaneously on the left and right side of the jukebox
- BTN_PIN – I added a momentary push button function for switching between patterns, change the pin to your button pin
Arduino program for WS2812B Jukebox Upgrade – stevenbreuls.com
https://github.com/stevenb9/WS2812B-Jukebox
0 forks.
0 stars.
0 open issues.
Recent commits:
- Update README.md, GitHub
- Add files via upload, GitHub
- Create README.md, GitHub
Since we are installing multiple LED strips throughout the Jukebox cabinet, I started by adding some terminals to split the power and data lines easily. I mounted both terminals on an open space in the cabinet, this was on top of the subwoofer cabinet. I labeled both terminals accordingly.
Then mount the power supply and Arduino somewhat accessible for in case you want to update the program of your Arduino later on. I drilled two small holes on the sides of my power supply and used zip ties through these holes to secure the power supply in place, for the Arduino I used quite some hot glue to stick it next to the power supply.
To install the LED strips, all the bezels on the front had to come off. These were mounted with screws from the side and clips in the middle, be very careful when removing these as you won’t find any replacement parts for this. Once all bezels were removed, I started drilling holes to feed through the strips from the inside:
- Two holes on the top of the jukebox, this will be the starting point for the outer strips
- Two holes on the bottom of the center part, this will be the starting point for these strips
- Two holes on the top left and right of the centerpiece, the strips will enter the jukebox again to light the number board and top compartment later
- Two holes left and right in the top compartment, the last few inches of the led strip will enter this compartment and provide some lighting as well
Slowly make your way around the outer bezel and stick the strip to the inside shining outwards.
Then add the bezels and start with the centerpiece
Eventually, all bezels are reinstalled and you should get the first look
To finish the Jukebox, I added some extra labels to the back of the Jukebox to make all controls, inputs, and outputs clear. I also added a pouch for the USB cable and some spare parts as well as a Bluetooth receiver that’s connected onto the AUX in. As well the power button for the LED strips and a button to switch the pattern of the WS2812B strips.
The top of the jukebox houses a CD player, as an extra I found CD’s that look like small LP’s.
3 Responses
wish there was a schematic for the wiring.
The wiring looks complex in the photo’s but in reality I just connected a WS2812b strip to my arduino. (3 wirres). there are many diagrams available
I know this is now 3 years old but just found it and building a new jukebox using all your recommendations etc. One quick question you use Pin 1 for the button to change the LED display but what is the wiring for that does it connect to neutral or 5v live to toggle it and is that display change already in your arduino display program ??
Great write up and detailed explanation by the way so damn useful, thank you