Blog

Animated Light Up PCB Bow Tie - Hackster.io

Add the following snippet to your HTML:

A flashy light-up bow tie with interchangeable front plates! screw insert with thimble

Read up about this project on

A flashy light-up bow tie with interchangeable front plates!

I have created many light up bow ties in my time but I wanted to take them to the next level. I wanted to create a bow tie shaped PCB that is fully wearable. Additionally, I wanted the option to add some variety to the bow tie by creating interchangeable face plates that could be easily attached. What I ended up with is a fully reproducible light up bow tie that is cooler than I imagined!

For a limited time you can order the finished extras that I have! At the time of writing this I have 6 available through my order form.

For assembly instructions skip to the “PCB Assembly” section.

This bow tie design was based off of a previous light up bow tie I made using Sparkfun sewable “Lilypad” components. The design is simple, but pushes the limits of both the batteries and the microcontroller. The benefits of the simple design are that standard CR2032 batteries can be used.

The bow tie design is pictured above. The Attiny85 microcontroller is powered by two CR2032 cells in series. 6V is the upper limit of the microcontroller's rated voltage but in practice I haven't had any issues with this (especially since the cell voltage drops when powering the LEDs).

An ICSP (in-circuit serial programming) header is included for programming the microcontroller.

The DNI (do not install) components are for the option of adding a rechargeable lithium-ion pouch cell. To put the board in this configuration, all DNI components would be populated, and BT1, BT2 and R2 would not be populated.

When a lithium-ion cell is being used an LDO is added to the board. This LDO will shut off power to the tie approximately when the cell should be charged. The cell would be disconnected and charged externally in this design. I have not yet tested the rechargeable variant of this board.

The PCB design is pictured below. I designed the PCB to fit a magnetic clasp in the middle, and to include stand-offs that are about 1mm taller than the tallest component on the front.

The outline of the board was designed in Autodesk Fusion. Unfortunately the “DXF” file that I exported from Fusion was not importing correctly into KiCad so I had to use an online converter to convert the DXF into an SVG file. I then imported this SVG back into Fusion, resized it and fixed some disconnected points. Finally I exported the DXF again. This process changed the way that a complex curve in the design was represented in the DXF file, making it compatible with KiCad. This process also ensured that my designs in KiCad were the same size as Fusion.

I designed the PCB in KiCad, and used the “User Drawings” layer to add mechanical components such as the location of the LEDs and standoffs. This layer was exported as SVG and imported into Fusion to help me with my enclosure design.

Enclosure design was done last after schematic design, PCB design, part selection, and PCB ordering. This allowed me to know the dimensions of the PCB and height of each component while designing the enclosures.

My plan was to create three enclosures initially: Acrylic, 3D printed plastic, and wood. The acrylic front plates didn't require any design since I would just use the PCB to trace the shape on the acrylic and cut it out by hand.

For the 3D printed enclosure I used the PCB mechanical layer to create the design. My PCB is 1.6mm, the stand-offs are 6.35mm above the board, and I used 1mm magnets to attach the plastic front plates. With this info (and adding some wiggle room) I was able to successfully design an enclosure. I added some PCB trace designs to the front to make the enclosure more interesting.

The final enclosure to design was the wood enclosure. I decided to try to 3D print the templates for this so I didn't have to manually make the design. I designed two templates: One router template and one cut/drill template which I could slot into the routed out section.

The router template was slightly complicated because I had to account for the acute angles at the corner of the bow ties. The smallest router bit accessible to me with a template bearing was ½ inch diameter. I added tangential curves around the corners of the bow tie with a radius of ½ inch.

I also designed the outline of the wooden enclosure by expanding the bow tie a few millimeters outside the routed out section. The mechanical layer was used to locate the drill holes for the stand-offs and LEDs.

I used the router template sketch to create a router template and a drill/cut template:

The PCB output files were designed to be ordered from JLCPCB. I ordered my PCBs with mostly default settings:

The gerbers and drill files that need to be submitted to JLC PCB can be found in the hardware repo on hackster. The files are contained in a single zip file that can be uploaded directly to JLCPCB. The files are located in release V01:

The parts were ordered from Digikey. Parts can be created using the bill of materials (BOM) spreadsheet in the hardware repo on Hackster. The BOM is in release V01 just like the gerber files.

The spreadsheet contains each part, the quantity per board, part number, and a link to the Digikey listing. There are several things to note about the spreadsheet:

As soon as you receive your parts you should use the BOM to label their reference designator (ie R1) on the bag. This will make it very easy to assemble the PCB later.

There is a quick, two minute 3D printed part required to assemble the PCB. Import the “Band clasp spacer” STL file linked below into your favourite slicer. Generate gcode for this part and print it. I recommend not using any raft or brim for this print. You might have to increase the first layer temperature for it to adhere properly! Either way it's only a two minute print so a few test prints won't take long.

1. Get four stand-offs out of the tape and put them face down on a flat surface. Use a needle tip to apply solder paste all around the ridge on the bottom of the stand-off. Insert the stand-offs into the holes on the front side of the PCB. Make sure there is a ring of solder paste sticking out around the entire stand-off that is touching the stand-off and the PCB. Add additional solder paste if necessary.

2. Install a wide, flat tip into your soldering iron. Turn the temperature up relatively high. Make sure your PCB is securely held in a flat position. Once pre-heated, use the wide tip to heat a stand-off and the PCB pad at the same time. Be careful not to push the stand-off out of the hole. Once the solder on the heated side has flowed on to the pad and the stand-off move the tip around the stand-off until there is a solid ring of melted solder attaching the stand-off to the pad. Try not to let the solder flow too high up the stand-offs or else it will be hard to get the front plates on.

3. The next step is to apply the solder paste. Use the BOM and apply solder paste on every surface mount pad that is populated. Don't apply too much solder paste; you only need a small spot wiped on each pad. Avoid large globs to prevent bridging.

4. After all the solder paste is on it's time to place the surface mount components. Clamp your board so it is in a secure flat position. Use the BOM and carefully place all surface mount parts with tweezers. All surface mount parts can be placed in either orientation except the LEDs and the microcontroller. The LEDs all have a silkscreen with a border and one open side. The open side is the anode and the closed side is the cathode. If you ordered different LEDs than me you should check the datasheet to determine the correct polarity based on the package markings! Here's a guide for the parts I used:

Microcontroller: place the dot in the corner of the package closest to the “U2” marking.

Blue LED:One side has a smaller pad with bars on either side. The side with the bars goes to the closed side of the silkscreen (cathode).

Violet LED: There is a T marking on the bottom. The leg of the T points towards the closed end of the silkscreen (cathode).

Red, Orange, Green LEDs:The side with the green bars on the pad goes to the closed side of the silkscreen. Also, the arrow on the bottom points to the closed side of the silkscreen (cathode).

You can place the LEDs in whatever order you want but this is how I placed them:

5. In order to solder down the components you can use a reflow oven, reflow hot air gun, a generic hot air gun or even a soldering iron (Not ideal). I chose to use a normal hot air gun because it was the best option I have. With the hot air gun you must be very careful not to burn the components or blow them off the PCB. I started on the low setting (you should too!) but ended up using the high setting on my hot air gun. I focused on sections of the board individually to spread the heat: the four corners and the middle. I started in one corner, then went to the opposite corner horizontally, then the middle, and the final two corners. While soldering a section I started with my hot air gun farther away from the PCB and slowly moved it closer until the solder started to melt and flow. After the solder melted I held the heat on for another second or two until the solder had fully melted (even under the component!). Don't hold the heat on for more than a few seconds.

6. Before proceeding inspect all the surface mount components with a magnifying glass and a light. Look to make sure there is no bridging (two pads shorted with solder), no un-melted solder paste, and clean off any loose solder balls that may have formed. Make sure to check under the components by observing them from the side.

7. The through-hole components can be soldered with a soldering iron. The battery holders go on the front of the PCB and the switch is meant to go on the back. It does not matter what direction the switch goes in. I like to hold the component in and tack one of the legs on with the soldering iron, then normally solder the rest of the legs.

8. I used a digital multimeter on conductivity mode to check for any unwanted shorts in the board. I measured across each LED, between each adjacent pin of the microcontroller, and between power and ground.

9. For programming the board, I temporarily soldered some headers into J2. These were removed after programming. Skip to the programming section below to see details about this! After programming, put in some batteries and turn on the bow tie to make sure it works.

10. After the board is working it can be cleaned. Use tweezers to remove the yellow kapton tape on the top of each stand-off. Use a brush soaked in alcohol to clean off all the flux (especially around the stand-offs).

11. The final step is to add the magnetic clasp. A 3D printed clasp spacer and the smaller half of the magnetic clasps are required for this. On the back of the tie, place the 3D printed spacer (files linked below on Hackster) and put the clasp through the spacer and PCB. Use your fingers or carefully use pliers to bend the arms flat away from the LED.

I am not going to go super in-depth about programming but I will post the resources needed to figure it out! You can feel free to build the source code (linked below on Hackster), but I have also included a hex file you can use to directly program the board. Use the most recent commit on the repository.

Some important tips for programming:

I used an Arduino Uno that has been turned into an ISP programmer. Instructions for creating one of these can be found here: https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP/

You can also just purchase a programmer, such as this one.

The software I used to program the board is “Avrdude” from the WinAVR software package. There is a pretty good tutorial for the whole process of programming using avrdude and an arduino here: https://riktronics.wordpress.com/2016/07/26/program-avr-using-arduino-simplest-way/#more-621

My command looked like this:

The above command will not work for you as-is!

The key take-aways from this command are:

The programming header on the PCB is a standard 6 pin ICSP header:

Band assembly is fairly simple if you've purchased pre-made bands! You will need a pre-made band, the thick part of the magnetic clasps, the little metal spacer, and optionally some thick fabric (leather).

1. Take a band with the clasps facing up. Adjust the band to the smallest possible length you will ever want it. This is important because where we place the magnetic clasp will limit how the band can be adjusted.

2. Place the thin metal spacer behind the band 1-2 centimeters from the adjustment hardware.

3. Add the magnetic clasp on the front of the band with the arms straddling the band (and through the metal spacer)

4. Optionally, add either a 3D printed spacer, or a small piece of thick fabric behind the metal spacer. This step is optional but will make the band more durable and comfortable. I used some leather cut into a round shape with two slits in it.

5. On the back of the band, fold the two arms in towards the center over each other. Press the arms firmly on a flat surface to make sure they are tightly bent down.

6. The band is now completed! You can adjust it to a larger setting to fit properly. The bow tie PCB will magnetically attach to the clasp.

The plastic front plate is made using a 3D printer. The plastic enclosure STL file is attached below on hackster.

Import the STL file into your slicer of choice. I used Prusa slicer with an Eryone ER20 printer and a 5mm nozzle. The settings of the slicer completely depend on your printer, but I will provide a few tips from my experience.

Firstly, I recommend printing this part right-side-up and adding some support material underneath. I recommend using organic supports and painting them on in a similar pattern to how I used:

Each cylinder is supported and there are some intermediate supports in the middle of the bow tie pedals to support the bridging. I found that my printer did a sufficient job bridging over the flat spaces without support and using this minimal support made it very easy to remove the material. The bridging wasn't perfect, but it did not affect the front of the enclosure. I simply trimmed any droopy filament off after the print with flush cutters.

Another tip I have is to add a colour change in your slicer so the circuit design on the front of the enclosure can be a different colour. In prusa slicer this was as easy as slicing the object, then adding a colour change at the layer before the circuitry design.

Multi colour prints can be done on single colour printers. Adding the colour change will cause your printer to stop at the specified layer and wait for you to change the filament. Once the filament is changed the printer will continue and finish up the print with the new colour. You can also just print this front plate in a single colour.

After 3D printing the enclosure there are some steps to finish it up:

2. Use pliers to remove the support material and brim/raft.

3. Use flush cutters to trim any imperfections inside the back of the enclosure so the PCB will fit.

4. Glue magnets in each of the four holes that the stand-offs go into.

After the glue has been given enough time to fully cure, the enclosure should be complete! If the enclosure doesn't hold well enough to the standoffs, another magnet can be added to each hole. Just keep in mind the polarity of the magnets when inserting them.

Note that the enclosure has a correct orientation to fit on the PCB. If the enclosure doesn't seem to be fitting properly try rotating it and trying in the other direction.

The acrylic front plate allows you to see the circuit board of the light-up bow tie while protecting the electronics. This front plate also allows the LEDs to be viewed from their full viewing angle. The acrylic front plate is easy to make using a scroll saw.

Using screws is the best way to mount the acrylic front plates. Magnets are possible, but it is difficult to create holes to align the stand-offs with them magnets (which prevents the other front plate designs from sliding around).

The screws I ordered in the PCB BOM are suitable for attaching the acrylic front-plate to the stand-offs but they require some counter sinking, which can be difficult. To avoid the counter sinking, order 4-40 screws that are long enough to fit through the acrylic and screw in a few millimeters into the stand-offs.

1. Trace the outline and stand-off holes of an unpopulated PCB on a sheet of acrylic. The acrylic should have a protective film you can draw on with a thin marker. Leave the protective film on for this whole process.

2. Clamp the acrylic to a wood surface that can be drilled into. Carefully drill holes in each drill location. I recommend using a 7/64 inch drill bit, and increasing the diameter if the screws don't line up.

3. If counter sinking is required, clamp your acrylic down and use a router to create a counter sink hole over each drill location. Set the router bit to the correct depth before doing this. A ¼ inch flush cut bit should work. Careful! I accidentally made a hole through the acrylic doing this for the first time.

4. You will likely need to re-drill your screw holes after the counter sinking.

5. Cut the outline of the front plate out using a scroll saw with a thin blade.

6. Use a small file to fix any errors and refine the outline of the front plate. Keep the file at 90 degrees to the edge of the acrylic and file over a larger area to blend in your work.

After this your front plate should be done! Wait until you're absolutely sure it's finished before you remove the protective film from the acrylic.

The wood front plate is the most challenging to make, but can look amazing!

I will document how I made a basic wood front plate out of some cheap wood but this method can be altered to create even better wood front plates. My ideas for improved wood front plates are:

The wood front plate requires some templates to make the manufacturing easier. There are two STL files linked below on hackster that can be 3D printed.

The router template is designed to be used with a ½ inch flush cut template router bit.

The router bit must have a bearing on top of the bit that is designed to ride along a template.

Import the router template STL file into your favourite slicer. Since the design is flat, I recommend not printing it with any support material, raft, or brim.

The 3D printed router template is a bit small, making it hard to clamp down and limiting the type of router you can use. If you use just the 3D printed template you will only be able to use a small trim router. Trim routers can be difficult to keep control of in this situation which is not ideal. I recommend using a larger piece of plywood and cutting a section out in the middle where you can glue the router template into. This will allow you to use a router with handles and a bigger base. It will also make clamping much easier, and will allow you to control the height of the template easier.

The drill/cut template helps mark out where to drill and cut after the routing is complete. The template has a raised section that is designed to fit in the routed-out section.

Just like the router template, import the STL file for the drill/cut template into a slicer. I recommend printing this one up-side down. I also recommend not using any raft or brim.

I recommend starting with a cheap piece of wood and getting used to the procedure before making this enclosure out of nice wood. Working with a router can be dangerous so make sure you're familiar with the proper procedures to safely use the tool. Take extra caution if you're using a small trim router!

1. The first step is clamping your work piece down and setting up the template. You can use clamps or screws for this process, just make sure everything is securely held down. Spacers will need to be added on either side of the template to set the height. I used scrap wood for this. You will have to determine the height of the spacers based on how thick your wood is and the range of your router bit height. The router bit should be able to route the wood down to about 2-3mm thick while the bearing is in contact with the template. Keep in mind that the spacers can not be changed while routing so that the template is lined up. Measure twice, cut once!

2. Adjust your router bit to route out about one third to a half of the wood thickness. Hold the router securely and slowly route out the entire template area.

3. Fit the drill/cut template in the router template. The drill/cut template is designed to fit in one direction so place it in the direction that it fits better. Mark each hole (9 in total) on the wood using a pen or a pointed object such as an awl.

4. Once all of the holes are clearly marked, remove the drill/cut template. Adjust your router bit height to route the wood down to a thickness of 2-3mm. This should ideally be 2-4 millimeters deeper than the last layer. Route out the template, but manually avoid the areas where the holes will go. Go slow because it can be easy to take off more material than needed. I made a few mistakes here, like routing over the middle hole and getting too close to one of the stand-off holes. It's fine to make a few errors, but the important part is that you do not route over the standoff holes. These holes must have some thickness to them so the stand-offs can be inserted in them and connect to the magnets.

5. Remove the router template. Insert the drill/cut template directly into your work piece and clamp it down. Using a pencil, mark the perimeter of the drill/cut template on your work piece. This marking will be used later to cut out the enclosure.

6. Use the biggest drill bit you own that freely fits in the drill holes, which should be 7/32 inch. If you have to use a smaller drill bit, you can widen the holes later with the template removed. Drill the LED holes (all outer holes plus the middle hole) all the way through the wood. Make sure you have a piece of wood underneath your work piece to prevent the drill bit from chewing up the front.Carefully drill at least 2mm into the stand-off holes. Do not go all the way through. The best way to do this is to put a piece of tape on your drill bit where you want to stop. Go slow because this can be difficult.

7. This is optional, but at this point it's best to test if a PCB with stand-offs installed can fit in the enclosure.

8. Use a scroll saw to cut out the bow tie shape. Try to stay outside or on the lines. It's easy to fix the shape afterwards with a file but its harder if you take too much material off!

9. Use a set of files/rasps to refine the shape of the bow tie. Take your time on this part because you can really improve the look of the piece if you do a good job. The trick with the file is to file over a wide area so you don't get any deep groves.

10. Sand all surfaces and edges on the bow tie. I used a sanding block and started with 80 grit to remove the file marks. After the bow tie was smoothed I used 150 grit to finish up the surfaces and to round the edges. I did a quick sand with 180 grit as well but it wasn't really necessary.

11. If you have your own preferred wood finish, apply that now! I used boiled linseed oil which is simple to apply. I used a rag to evenly apply a generous amount of oil to the wood and let it sit for 20 minutes to let it soak in. I then applied two more coats of oil every 20 minutes. After the last 20 minute interval I wiped off any excess oil that had not soaked in and left the piece to dry.

Be careful with rags used to apply boiled linseed oil! They can spontaneously combust if disposed of improperly. Lay rags flat over a bar or a flat non-flammable surface to dry. Once dry, they can be safely disposed of. Do not bunch rags up or put them in a pile before they have fully dried.

12. The final step is to add the magnets. I put a few drops of super glue in each hole, and put some magnets behind the hole to help guide the magnet in. After installing all magnets I left the extra magnets attached to the front so they would act like clamps while the glue dried.

control terminal block Hackster.io, an Avnet Community © 2025