Introduction: Protoss Pylon Desktop Lamp Upgrade

As requested in Reddit, I made a tutorial on how to modify the Thinkgeek's Protoss Pylon desktop lamp to look more real. Have fun with this making! If you have questions or comments you can reach me in /u/Javiink or via Discord - Javiink#6285

The pictures in this instructable have been taken months after the modification was made, so it could be that some parts of the lamp or wiring appears to be different that the stock one.

Supplies

We will need few and cheap components/materials for this:

  • Starcraft II Protoss Pylon Desktop Power Station. This one is discontinued so if you dont own one, you can try finding it online at eBay or something. I bought mine in a local retailer but have the Thinkgeek trademark. (ok this is definitely not cheap oops)
  • ESP8266. The one I used is a Wemos D1 mini that fits in one of the large shields, but you can use another variant that fits in there. You can find them in Aliexpress for example (2~3 bucks), listings vary very often so I'm not putting a link here.
  • WS2812B LED strip. You can use another LED strip but make sure it works at 5V (if it works at 12V you will need a level shifter that may not fit inside the shields or require more wiring). For my build, 18 leds were the maximum that fitted inside the crystal. My led strip have 30 leds per meter.
  • A soldering iron for electronics, solder and thin cables.
  • Flat and philips screwdrivers and scissors.

Step 1: Lamp Disassembly - Shields

We are going to take very much care in this step. The bigger shields are anchored to the ring so we have to pry a bit with the flat screwdriver between the ring and the shield. For me, it was easier to start prying in the lower part. You have to take apart both larger shields.

Now you can unscrew the screws in one of the shields. We are going to put the arduino inside it. I recommend you to put it inside the shield that is near the power supply socket, it will be easier to solder everything and will be less wiring.

There's a picture of the anchor if you want to have an idea of what's going on inside. I almost gave up on this project at first because I could not open the lamp and had fear of tearing it up. Once I realized the shields were only anchored it went all straight ahead.

Step 2: Lamp Disassembly - Ring and Crystal

The ring can be disassembled removing the 4 screws al the lower part. Once you removed them, the ring will open in halves and the smaller shields will also deattach.

Now you can see most of the electronics of the lamp. The power supply connector plugs in a socket in the main board, that powers up the 2 USB in the shields and also the LED inside the crystal.

The crystal can also be detached in halves - Inside is the LED that light our lamp in that dark and plain blue color.

Step 3: Arduino Wiring

We are going to hook the arduino power lines to the USB. It is very important that we respect the polarity, you can check the picture above - I have painted the thin orange cable with black permanent to represent the negative polarity but if you have a red-black wire it will be more easy for you. We will solder our wire to the USB PCB taking care of not deattach the original wires.

Now we have to solder the wire to the correspondent polarity in our arduino board. We do also solder the data wire that we will be soldering later to our LED strip. In my case I have attached it to the D3 port, but you should use D4 port for maximum compatiblity.

Step 4: LED Strip Wiring

In this step we have to remove the stock LED PCB and wires just desoldering them from the main board.

Now we have to power our strip and connect the data wire. For this, take the main board and solder the positive and negative wires of the LED strip (or use new cables if your strip does not come with them presoldered) to the contact points shown in the picture above. Note that when you do this, you will not be able to turn on/off the lamp with the switch anymore. You will have to do it via Wi-Fi or unplugging the power supply.

We have power in our LED strip, but it will not work if we dont attach the data wire we soldered before in the arduino. Take into account that this type of LED strips have a start and end points. You cannot solder the data wire to the middle or the end of the strip, you have to solder to the start point. Most of the strips have arrows indicating the direction so you have to solder the data wire to the start of the first led in this direction.

To make it clear:

  • The red cable you soldered on the main board goes into the + / 5V contact in the LED strip.
  • The black cable you soldered on the main board goes into the - / GND contact in the LED strip.
  • The green/blue/whatever color cable you soldered to de D4 / Dx port on the arduino (the data line) goes into the DI (data input) / D / Data contact in the LED strip.

I'm sorry I don't have pictures of the soldering on the LED strip, it was already glued.

Step 5: LED Strip Placing

As said in the supplier part, my strip has 30 leds per meter, so the maximum that fitted inside the crystal for me were 18 leds (9 each side). I recommend you to place the start of the strip in the bottom side to make it easier to hide the wire.

Most of the strips out there comes with double-sided adhesive, so remove the cover and stick the top tip together to make a fancier effect and prevent unwanted shadows. Make the same in the bottom tip, but take care with the cable. I had to make use of some hot silicone glue to stick the strip to the place I wanted to.

Step 6: Arduino Programming

This is the logical part of the tutorial. There are plenty of programs and libraries you can use for this project. I will not explain how to program the arduino in this tutorial as I consider it out of the scope, and each program/library surely have its installation instructions. Here I will put only 2 of the programs I know because they are the 2 I use often in my projects.

If you want to use another one, make sure it supports Wemos D1 mini, WS2812B LED strips (or whatever you used) and if you want to control the power state/animation/color/intensity/etc. it will also have the option to be controlled over WiFi.

  • WLED: This is the easiest program I found out there. You don't even have to know anything about programming or arduinos. The installation is usually as easy as plug the arduino with the USB cable and press a button in their website.
  • FastLED IOT Webserver: This one is more complicated to install to anyone who doesn't know anything about arduino programming, but offers the possibility to send audio reactive data from your PC to the arduino so the lamp could be illuminated when you are under attack or if you must construct additional pylons...


Even though I use the second one, I recommend the former because of its simplicity of installation, versatility and ease of use.

Now it's time to test if our creation does indeeed work. If all our solderings are correct, our arduino program is running fine and we plug the power supply, our pylon should light up with a brand new animation, color and brightness. If not... you may make sure all wiring is correct - and if the power supply is connected to the wall socket :P

Step 7: Warping Our New Pylon (Putting Our Mess Together)

Once all is working correctly, it's time to put all the pieces together. You will have to find spots to hide the wires, and make sure the puzzle fits perfectly before putting the screws in place. Regarding the arduino, for me it fitted better placing the "wifi" face in the exterior side of the shield, but feel free to find another placing if yours does not fit correctly.

Step 8: Finish

Place the pylon in the right spot of the battlefield and power it up! Your friends will be astonished when they see it!

pro tip: You can replace your regular pylon with a corrupted version of it if you select a red color or animation :)


I hope you finished this tutorial with ease and could finally warp a nicer version of the pylon lamp. I made this several months ago so maybe there are details I didn't remember to put here. If you run into problems or have any questions you can reach me in Reddit (/u/Javiink) or via Discord (Javiink#6285). Also, if you finished this instructable I would love to see your result!

Happy gaming!