Introduction: Wireframe X-Wing Clock
This sculpture was heavily inspired by the works of Mohit Bhoite. He has made several very interesting electrical pieces that he displays on both his website and instragram. I definitely recommend checking out his work. I saw his Tie Fighter designs and thought that it would be a lot of fun to attempt making an X-Wing version.
Supplies
Materials:
Electrical:
- Arduino Nano (ATMega328P)
- SSD1306 OLED 128x64 Display
- DS3231 RTC Module
- Diffused Red LED's
- Clear Red LED's
- 220 ohm Resistors
- Speaker
- Transistor
- USB Cable
- Panel Mount Slide Switches
- Silver Plated Wire (20awg)
Misc:
- Walnut Wood
- Danish Oil
- Felt
- Hot Glue
- Small Screws
Tools:
- Soldering Iron and Solder
- Solder Bulb
- Hot Glue Gun
- Utility Knife
- Wire Cutters
- Pliers
- Drill
- Drill Bits
- Bandsaw
- Sander and Sandpaper
- USB Cable
- Helping Hands
- Screw Driver
- Tacky Glue
Step 1: Prepping the Wire and Parts
For the wire to be usable, it first had to be straightened. I found that a drill and pair of pliers worked wonders. Before I soldered anything, I cut the pieces to size and formed them into the desired shapes. For each of the parts, I have included a DXF file and the Fusion360 file which was used as a reference for assembly. Make sure to print the DXF file out at a 1:1 scale. The amount of each part is indicated in the name of the file (ex. 4x means you need four of that piece). To get a nice sharp bend, hold the wire with a pair of pliers and bend it right at the point it is being held.
I decided to assemble the body in several steps. They are the core, nose/engine, and wings. While not necessary, this is the order of assembly that I found easiest when figuring it out.
Step 2: Core Assembly
First step in the core assembly is soldering the main piece of the body closed. This is the piece with the most amount of bends in it. Next, solder the pieces that also belong on the side. Each side piece includes one side, two side2, and one side3. Using the stencil DXF provided, solder then together as shown in the picture above.
To attach the two side pieces to each other, I soldered the body pieces at each of the vertices of the side panels. The body pieces are the one that there are seven of. I started by doing the two on the back first, to make it stable, and then worked my way up to the front.
After assembling the shape, I added wire to the ground pins of the Arduino Nano and connected it to the middle of the frame. The entirety of the frame is used as a ground plane for the circuit. It should be centered in the frame, closer to the back of the ship. After soldering the Arduino into the frame, I prepped the screen to be added on. The only step required for that was to add a piece of wire to the ground pin. This piece of wire then gets soldered to the frame, so that the screen is installed on the angled face. Wires for the SDA pin go to A4 on the Arduino, SCL get connected to A5, and 5V goes to 5V. To add the DS3231 module to the Arduino is a similar process for the screen. Solder a ground wire to the frame and then bend it at the same angle of the sloped edge. The data and power lines are connected to the lines of the screen connected to the same pins on the Arduino.
The speaker is connected slightly differently than the DS3231 and OLED screen. First step is to solder the transistor to one side of the speaker. I put my speaker on the bottom of the ship, near the front. The side of the speaker that doesn't have a transitor attached is connected to the frame, grounding it. The middle pin of the transistor is connected to pin 10 on the Arduino. The last remaining pin of the transistor is connected to the same 5V line as the DS3231 and OLED screen.
Attachments
Step 3: Making the Nose and Engines
I put the engine LED's on before I put the nose on, but it doesn't really matter in which order they go on. For the individual engine LED's I added a 220 ohm resistor to the cathode of the LED and the other end of that resistor to a corner on the back of the frame (these resistors aren't necessary, I actually added them as an afterthought). The engines are controlled by two pins instead of four, as the speaker uses two out of the three timers, leaving only one for PWM. I connected the anodes diagonally (upper right to bottom left and vice versa) and then to the two analog write pins respectively. The two pins that I used for the engines were pins 5 and 6.
To attach the nose to the main body I attached the two larger nose pieces to the front of the body. During this I tried to attach them at as symmetrical of an angle as possible. After they were attached roughly well enough, use the smaller cut off nose sections to space them apart at the tip better and finish the shape of the body.
Step 4: Making the Wings
Before attaching the wings to the frame, I soldered the two pieces of the wing together as shown in the first image. I then soldered the cathode of the LED to the end of the wing. What I found easiest for attaching them to the assembly was to do it one at a time. When attaching the wings, I put them at about a 10 degree angle. Attach the wings, and then attach a second wire to the anode of the LED, and then to the resistor attached to pin 4 of the arduino. All of the LED's on the end of the wing are connected to the same pin of the Arduino through the resistor.
Step 5: Making and Installing the Base
Using my bandsaw, I cut a piece off of the walnut plank measuring about 2" x 2." The walnut I used was about 3/4" thick. While you can go thicker than this, I don't recommend going any thinner. I then rounded the corners and cleaned up the edges using a belt sander and some manual sanding. I then hollowed out the base of the piece of wood using a drill press. This could also be done with a chisel. The inside doesn't have to be perfect, as it will never be seen. I drilled out a hole in the back for the USB cable and a rectangle hole for the switches. For the rectangular hole I drilled it out and then brought it to the right shape using a jewelers saw and files.
To mount the X-Wing to the base I added wires to the bottom of it connected to the VIN pin, frame (the frame is grounded), pin 2, and pin 7. Using a 1mm drill bit I drilled holes for them in the top of the wooden piece. I connected the switches to pins 2 and 7. I connected each side of the switches to 5V and gnd. The ground and 5V lines of the wireframe are then connected to the 5V and ground wires of the USB cable. To ensure that the USB cable is secured in the base I tied a knot in it.
After soldering the connectors to each other, I filled the base with hot glue. This serves to isolate all of the wires and hold them in place. Make sure the glue forms a flat surface, flush with the bottom of the base. After the glue cooled off, I glued on a piece of felt using tacky glue. After the glue is dry, trim the felt to size using a utility blade.
Step 6: Setting the Time of the DS3231
To set the time of the DS3231 I used an example sketch from the DS3231 library and the serial monitor. Just as if you are programming the Arduino, plug it into your PC and upload the included sketch. Open the serial monitor and enter the command SETDATE yyyy-mm-dd hh:mm:ss
yyyy corresponds to the year, mm corresponds to the month, dd corresponds to the day, hh corresponds to the hour (in 24H time), mm corresponds to the minutes, and ss corresponds to the seconds.
When setting the time make sure that a battery is inserted into the DS3231 module so that it keeps the time when unplugging power.
Step 7: Programming the Arduino
To program the Arduino, plug it into your PC using the mini USB cable. Extract the rar file and open it in Arduino. Make sure that all of the files are in a folder titled X-Wing-Clock. There are other files than the ino needed and they have to be in the same folder as the ino. After checking everything upload the code to the Arduino.
Attachments
Step 8: Operation
In the design of this clock I have included two switches. One switch enables/disables the speaker and the other is used for indicating daylight savings time.
The speaker is used for sound effects that I felt like adding for an additional effect. The first sound is the engine noise, and that plays randomly every ten to sixty minutes. The other effect goes with the "lasers" and is the laser noise. It plays at zero minutes, fifteen minutes, thirty minutes, and forty-five minutes. The "lasers" pulse with the sound when it plays.

Second Prize in the
Space Challenge
17 Comments
Question 3 years ago on Step 6
Greetings.
I made your project, but there are problems:
1. When setting the time, DS3231 does not remember the time at all. What am I doing wrong?
2. When the X-Wing-Clock laser is installed, it does not turn on ((
3 years ago
It's not obvious where startPlayback() is. not Adafruit_GFX.h (no - I looked)
Reply 3 years ago
I'm not sure what you are asking?
Reply 3 years ago
I want to use your method for making sound. To use your method of calling startPlayback(), I need to know which Adafruit libraries to use, and the exact format of the tables.
Adafruit_GFX.h does not have the prototype function definition. None of your source files have the definition for startPlayback()
So - what is the secret sauce? Where is the library and associated files and description for use? If you wrote it yourself, it doesn't look like the files were included.
Reply 3 years ago
This function is not a part of the adafruit gfx library. It is a part of the pcm library. This library can be added through the library menu in the arduino interface
3 years ago
Nice. I was going to do this as a project along with my nephew. He’s a Star Wars fanatic. However I find it impossible to print them out. What programme do you use to do it
Reply 3 years ago
Thanks for converting them to PDF. I am assuming that they are all on a sheet of A4? If so then I'm glad you did. When I tried converting the dfx files they were all about 5cm longer
just waiting for the parts to arrive and then were going to get at it. When / if I get it working ill post a make
Reply 3 years ago
It's for a standard 8.5" x 11" sheet of copy paper. I'm not sure if that's A4 or not
Good luck and have fun making it
Reply 3 years ago
I can go ahead and convert the dxf to pdf files. I used solidworks edraw for viewing the files. Anything that can view dxf should work though.
This was a difficult build, just to warn you in advance, but if you have some soldering experience its definetely a fun project.
Reply 3 years ago
If you could please that’d be great. Yea, I’m ok as I used to do it for a living.
Reply 3 years ago
I've uploaded the PDF file to the step with the DXF files. It is titled X-Wing Template. Let me know if there any any other problems with it. Also if you do sucessfully make it, please press the I made it button and share. I would love to see it
Reply 3 years ago
Inkscape is a free drawing program that will import DXF files also.
Reply 3 years ago
While I've heard of Inkscape, as I've never used it and don't know how it works with scaling, I didn't want to recommend it. I felt safe recommending eDrawing because I use it quite frequently and know it works for what I used it for. Inkscape is probably a good option, as I have heard many good things about it.
3 years ago
Hi
it's a great project, the replica went pretty well, but I have problems with the noise. A test PCM sketch is running, when I switch switch S1 to Vcc (D7) the board does not start and the display remains dark, who can help me
Reply 3 years ago
I'm sorry to hear that you are having difficulties with this project. While it is a difficult project, it is doable. I'm not sure what your problem is necessarily. Would you be able to elaborate on your problem more?
3 years ago
It looks so cool !
Reply 3 years ago
Thank you for thinking so. It was a lot of fun to make