Introduction: RGB Circuit Sculpture Lamp

About: Electronic Engineering student at the University of Nottingham

This instructable combines art and sculpture with electronics into a single project. This steampunk-inspired circuit sculpture looks impressive on or off and casts a soft glow onto its surroundings.

I enjoy making electronics projects and always aspire to make them as neat as possible. To take this a step further, I wanted to make a project where the circuitry is the main feature. The brass wires in the circuit provide all the power and signals to control the LEDs as well as making up the structure.

The circuit is powered by USB-C and uses 4 WS2812B LEDs. There is also a button integrated into the circuit to cycle through different effects and turn it on and off.

This project requires confident soldering skills as well as plenty of time and patience!

Supplies

Tools:

  • Pliers
  • Wire cutters
  • Drill
  • Soldering Iron
  • Solder
  • Helping hands (Very useful)
  • Vice (optional)
  • Multimeter
  • Small file or sand paper (~240 grit)


Components:

  • Brass or Copper Wire (1.5mm diameter)
  • 4 WS2812B PCD mounted LEDs
  • Seeduino Xiao Microcontroller
  • 470uF Capacitor
  • 2N7000 Transistor (Or similar N Channel MOSFET)
  • 2* 10K Ohm Resistors
  • 270 Ohm Resistor
  • USB-C Cable for power
  • Breadboard and jumper wires for testing


Important Tips!

You will need roughly 3m of wire to account for mistakes and off-cuttings.

You can choose between brass and copper. Brass has a more golden color while copper is lighter and slightly pinkish. Copper wire is also much more malleable, making it easier to work with and bend. The downside of this, is that the finished sculpture will be much more delicate.

If you have any spare mains wire that is used to provide power to wall sockets, the insulation can be stripped back to extract the copper wire inside and this can be used.

The capacitor isn't strictly necessary however it helps smooth the current and fills in the gap!

Step 1: Designing and Testing the Circuit

First, the circuit needs to be designed and tested. The Seeduino Xiao outputs a maximum of 3.3V on its digital pins however the LEDs need a 5V signal to operate. For this reason, a voltage boosting circuit is needed. The circuit shown in the schematic was constructed on a breadboard and connected to the microcontroller to make sure everything worked properly.

The Xiao pinout can be used to determine where the connections need to be joined. My xiao board already had male mounting pins soldered on so that it could be mounted to a breadboard. I would recommend that you do not solder the standoffs and just place the board on top as they will be needed to be detached later. The connection should be good enough for testing.

Connect your board to a computer via a USB-C cable. You need to install an Arduino compatible IDE installer such as the Arduino IDE or Visual Studio Code and platform IO. This page on the Seeduino wiki provides a useful guide on the setup as well as some basic programs for testing.

The provided LED_Pin_Test program below can be flashed to the board and when run, should output a signal on pin zero which is the pin that will be used to control the lights. This signal should be boosted from 3.3V to 5V through the transistor circuit.

Connect a multimeter to the LED signal wire and the other end to ground. When running the code, the multimeter should show a 5V signal that switches on and off every second.

Step 2: Straightening the Wire

The copper/brass wire will come bundled in a loop which is of no use for this project. The wire can be straightened using a drill and some pliers or vice.

Firstly cut a section of wire roughly half a meter long. Take the very tip of one end of the wire and bend it around to increase the size of the wire. Place this end of the wire into the drill and tighten the chuck until it is secure. Take the other end and either clamp it into the vice or hold it with the pliers.

Hold the wire taught and turn on the drill slowly. The wire should start twisting around and straightening. Keep rotating the drill until the wire is perfectly straight.

When released the wire, watch out for any tension in the wire, as on release, it can spring back a few rotations. This can hurt if the end catches your skin. Either wear gloves or make sure the wire is under no tension and stand back when releasing the wire.

This video provides an excellent demonstration of how to do this.

Step 3: Constructing the Outer Cube

The next step is to construct the outer cube. A good way to ensure the cube is straight and all sides are parallel is to draw a square on a piece of paper and model the wire around that cube. Draw a square with a side length of 55mm. This will provide enough space for all the components inside without being too big. Take a long piece of straightened wire and place one end of it in line with one side of the cube. Take a pair of pliers and bend the wire at the corner to make a sharp 90-degree bend. Repeat this process for the other 3 sides and you should end up with a square with one side where wires overlap.

It is best if the join in the cube is at the center of a side and not at a corner as there will be more connections at the corners later on and soldering multiple wires to the same point becomes very fiddly. Take the side with the overlapping wires and cut through both of them. This should leave just the square wire outline. File down the ends of the wires so that they are flat and parallel to each other. Cutting and filing the wire this way may make it a bit too short for the square, so it is best to compensate for this by pulling the wires apart before cutting to add a bit of length.

Construct two of these identical squares. Then cut 4 pieces of wire which will connect the two squares together to make a cube. These 4 wires should be the length of the cube (55mm) take away double the thickness of the wire. (55 - 1.5*2 = 52mm). This will mean it will be a perfect cube when constructed.

Now comes the tricky part. Soldering the wires together to construct the cube. Although there is no right way to do this, there are some steps that you can take to make it considerably easier.

The first two joins that need to be made are to connect the gap in the wire squares to make two continuous squares. I found the best way to do this was to place the square on the desk and then use the helping hands to hold the wires touching each other and in place. Make sure there is no twist across the plane of the square as this will cause issues later.

Solder the ends of the wire together. Be aware that copper and brass conduct heat very well making them a bit harder to heat up. Once the joints have been soldered together drag the soldering iron along the wire when leaving the join so that a tail of solder does not end up protruding from the wire. The solder can also be carefully filed or sanded down afterward.

Once both squares are soldered, take one of the four pre-cut pieces of wire and position it perpendicular to one of the wire squares in the corner. This can be achieved either by using the helping hands or as shown in the picture above, I constructed a temporary jig out of a piece of wood to help me position the wire. Solder the wire to the cube and repeat for the 3 other sides. The second wire square can then be placed on top and soldered on, creating a complete cube.

Be aware that as the wire conducts heat so well, it can melt nearby joints if it is heated for too long so try to keep the soldering iron contact to a minimum.

You should now have a complete cube as shown in the image above! This will serve as the main structure of the sculpture and also the ground wire in the circuit.

Step 4: Adding the Xiao Board, Button, and Circuit

Unfortunately, I only decided to write this guide after completing the cube so I have limited pictures of the inside of the cube. The images that I provided above should provide enough detail about the structure of the circuit along with the circuit diagram from step 1 to complete this step.

Firstly, I took the Xiao board and bent 4 pieces of wire at the end to 90 degrees to mount the board to. This can be seen clearly in the third image along. These Wires are connected GND, Pin 1, Pin 5, and Pin 8. These pins will purely be used as a ground source and provide structure. I Then soldered these 4 wires to the pins mentioned and cut them to fit inside the base of the cube. I then soldered the Xiao board and these 4 wires inside the cube, securing it in place.

In addition to this, I bent a piece of wire into the shape shown in the first image and soldered it to Pin 10. This wire will act as a button as the Xiao will be programmed to continuously read the analog voltage value of the wire. Most of the time it will be outputting random noise, however, when a finger is touched to this area it will make a connection with the surrounding ground wires to the button wire. This will pull the button to ground which will be picked up by the pin on the Xiao. Later on, this will be used to cycle the light effects as well as turning them on and off.

Step 5: Creating the LED Harness

This is the most difficult part of the project as there are lots of wires that need to be bent and cut accurately as well as lots of joints that need to be made. The WS2812B LEDs should have 6 solder pads on the back. These pads are 5V, Signal, and Ground. There are two of each of these as they would normally be placed on a rail on an LED strip. We will only need 4 of these pins.

Firstly, a smaller square needs to be constructed. This will act as the 5V rail and the LEDs will be hung off it. Similarly to step 3, draw a square on a piece of paper, this time with a side length of 43mm. Bend some more straight wire into a square and solder together. Next, 4 L shape pieces need to be constructed to join the LED 5V pad to the 5V rail. This can be seen in the 3rd picture labeled as "L Shape Pieces 1" Solder the shorter L side to the right-hand side 5V pad then solder this combined structure to the wire square so that the LED is centered on the side of the square. Repeat for the three other LEDs

Next, the data rail needs to be made. This rail can be seen in the third image above and is labeled "Data Rail" It is important to note the direction of the arrow as the data can only be transmitted in one direction. Creating one single wire that connects two LEDs together would contain three separate bends which would be hard to get correct. Instead, more L shape wires were bent and they were soldered at the corners of the square. This needs to be completed for three sides of the square, however, the side positioned above where the output resistor is positioned in step 4 needs to be left. This is where the signal will be sent into the wire via an additional joint added later.

Four more L-shaped wired need to be created. These will connect the outer grounded cube to the ground pads on the LEDs and also support the structure inside the cube. It is easiest to make two of these L shapes and solder them to the left LED ground pad. Position the whole LED harness structure inside the cube and solder the ground L wires to the top of the cube. Then, the other two L shape wires can be cut to size for the remaining two LEDs and soldered in place.

Finally, the wire joining the data signal from the output resistor in step 4 should be created and inserted into place as shown in image 5 above. Additionally, the capacitor can be soldered in place between the ground and 5V wire.

I have not provides measurements for most of these wires as they need to be tested and cut to size as opposed to being given an exact size.


The light cube hardware should now be finished! All that needs doing now is to write and upload the code to the Xiao. Please check the images to make sure everything is in place and check all your solder joints to make sure they have good connections and are strong.

Step 6: Coding and Testing the Lights and Button

Plug your cube into a computer with the USB cable. To control the RGB LEDs, a suitable library needs to be chosen. There are many choices of libraries. Two libraries that I like are NeoPixelBus and FastLED. NeoPixelBus is a lightweight library that is useful for projects that that are running on low power boards or if they have little spare memory. FastLED is a very popular library that has lots of support for different boards, LED types, and effects which is perfect for this project. I have provided my program that I have running on my light cube below, which you can upload to your project and it should run without changing anything as long as you have used all the same pins that I have.

My program has 5 different colour effects as well as an "off" setting which sets all the LEDs to black. The different effects can be cycled through by pressing the button on the cube that we created earlier. You can quite easily create your own FastLED colour pallets to make your own RGB effects and colours. The FastLED wiki page has plenty of documentation on how to create your own effects. Once the code has been uploaded, the cube should light up and the button should be able to change the colours when pressing it.


Troubleshooting and Tips.

  • Make sure the transistor is the correct way round and the circuit is correctly outputting a 5V signal.
  • You can cover the LED on the board with some Bluetack and then colour the Bluetack in with a permanent marker to hide it.
  • Check the orientation of all the LEDs if they are not lighting up.
  • Be careful where you place the cube as even though all the live wires should be recessed into the cube, it is still possible for things to short circuit.
  • Make sure the orientation of the capacitor is correct.


Your light cube sculpture should now be complete!

Step 7: Conclusion

Overall, I think that I achieved my goal of creating a steampunk-style circuit sculpture. This project only took a couple of days to complete, however, I spent quite a lot of time during those days working on the project. Positioning and holding the wires in place while they were soldered was very time-consuming however it was definitely worth it for the final project which I think looks very unique.

As you can probably tell, I did not initially plan on making this into an instructable until after the project was finished. This meant that I had limited photos that I could use for this guide. However, I have quite enjoyed writing up my building and thought processes, so for future projects, I will take more photos so I can maybe do this again.

Although the actual circuitry and programming were fairly simple, I believe that my planning and layout skills were tested as it was difficult to fit the circuitry into the cube whilst also making it structurally sound without shorting any wires or adding any extra insulated supports.

One of the flaws that I would like to address with this project is the longevity and strength of the cube as despite my best efforts, the solder joints can only be so strong. If this cube sits on my desk for a long time there is a high chance that it will get damaged at some point. In the future, I would like to explore the possibility of encasing the cube in a clear epoxy resin as this would make a more practical and durable lamp, though admittedly it would take away some of the uniqueness of the project if it was all closed off.

This project would make for a great gift or just as a display piece for a desk or shelf.

I hope to inspire someone to make this project or something else of a similar style. But if not, I hope I have provided an interesting instructable to read!

Thanks very much,

Ed Agombar

Lamps and Lighting Contest

Runner Up in the
Lamps and Lighting Contest