MAD #2
This was a rather simple design that incorporated moving parts into what looks like a vice of some sort. Although the materials I used may not look entirely realistic to the application, I wanted it to look flashy and finished.
Bottle Opener 5:
I found this bottle opener to have a simple yet functional design, yet not practical when 3D-printed due to the material. It is small and light weight.



Bottle Opener 3:
I found this bottle opener to be a bit more complicated in terms of designing than 3, but still simple in terms of functionality. It is thicker for a more robust design, yet when 3D-printed, it still did not hold up to use. The key-chain hole is also a useful feature.



My Spring Term Design Project:
For this term I wanted to dive into a project/ series of projects I have been interested in yet have not had the time to fully bring to fruition. I want to design a series of kinetic art pieces that incorporate technology/ kinetic art into one moving and interactive piece. I plan to make one of these pieces then hopefully have time to evaluate and make a second or third piece as well. This is something I have been interested in for a long time and I now have the resources to bring it to life. If these pieces come out well I would like to have them displayed somewhere as part of an interactive show of the lines between technology and art.
Piece 1: Kinetic Art in Sand
4/8This piece was my original idea for this series, and I have already begun to plan and design out the piece. The basis of the piece is a sort of table, which is covered in a fine sand, with a x, y type plotter underneath that controls a metal ball on top through Arduino commands and g-code similar to that of a CNC. The ball is controlled by a magnet underneath the table, which is attached to the x , y plotter. A thin layer of fine sand is put on top of the table so that as the ball moves in patterns, it is also imprinting its path into the sand.
4/9 After much careful consideration I have begun to fully think out the process of how this build will go. I have 3-4 options ranging in complexity, cost, functionality. I will outline them all and explain how each would operate. I need to carefully consider the application of this piece, how much time I want to allocate for it, and if it is feasible.
Option 1: The simple gear design: This design is the most basic of the three, and consists of a basic operation and little to none coding involved. Although this design is simple in functionality it has drawbacks such as only being able to draw one pattern at a time without making physical changes to change the pattern. The machine would also only be able to run spirograph based patterns, which can be mesmerizing, but could get boring and repetitive and less interactive?
Pros:
- Less costly
- Simple design w/ less chance of failure
- Easy to assemble/ disassemble
- Still looks cool/ has some degree of being interactive
- can run unsupervised for long periods of time
Cons:
- cant make intricate and cool custom designs
- harder to be interactive
- has to be monitored for the most part
- could be boring/ repetitive
Option 2: Pinion/ Rack system: This system operates on a much more complex basis however it also has unlimited potential in design and complexity of the final product. It would operate based on an Arduino which would require a lot of coding and testing. It consists of one degree of freedom through the rotational axis on the bottom through the center, and another using a pinion/ rack system to drive the magnet holder back and forth. on an axis. This would allow for the ball to move anywhere on a grid system with a move natural flow movement for curves. It could be made possibly interactive through choosing lights colors and maybe having a lcd to choose preset designs.
Pros:
- Can make virtually any design in the size limit
- Looks cooler and can be more interactive
- Uses Arduino based design allows for infinite customizability
Cons:
- much more expensive
- complex design and higher chance of failure
- would probably need monitoring
After working through CAD models and thinking about the time I have available to me, I have come to a resolution on this project. After communicating with members of the online tech community I have found someone who has built a similar table to the one I want to build, and directed me to his CAD designs as well as code for the project if I wanted to build it myself. This is one option. Or, I can undergo option one above which would be my own designs and no coding/Arduino involved. I will link the website of the build below: https://www.instructables.com/Zen-Table/ as well as a software that makes gcode designs: https://sandify.org/
As well, I am aware there is a company who makes these tables professionally, and I had heard of them before which is what sparked my interest in this build. The company “Sisyphus” is entirely closed source and does not release online any aspect about how their tables function. Hence why I feel like building one myself is essentially starting from scratch.
4/16 As a day project, I decided I had possibly thought of a second potential piece in a series and that would be truly interactive. My idea is to use led strips to make a sort of ‘matrix’ that is per se 8×16 pixels, which could be enough to display numerous things. I found code online for the functioning of the game Tetris and adapted it through an Arduino Uno to be able to play the game on the led strips.
It took a lot of fidgeting but I was able to make a 8×16 layout in which you can use a joystick to control a game of Tetris. It has most of the basic functions of Tetris, however I want to add a small screen to display things like high score. The led strips I have are also quite small, and I would like to get a more spread out strip so the game would be larger. The next steps would be building a nice enclosure and having a way to display it in a cool but also reasonable fashion.
4/21 For the kinetic sand table I have come up with a revised plan that I feel will work best. The system will be controllable with a similar system to that of a 3D printer or a CNC. The website https://sandify.org/ was developed as a means to make custom patterns and convert them to g-code, and I will use this to control the patterns of the table. I ran a custom g-code from the website on my 3d printer at home on just the x/y axis and it was successful.
The table will operate as I said before off a custom built x/y axis driven by 2 Nema17 stepper motors similar to that of a 3d printer. The main table I have decided to use is the Ikea Lerhamn table and its top dimensions are 74x74cm (29.125×29.125 in). This table is a good choice as its square and has a solid top for mounting on. Although this parts list is not complete, here are some of the main components:
- Ikea Lerhamn Table
- Rambo CNC controller (Made to read gcode and drive steppers- more simple than an Arduino)
- LCD Screen to display data
- 12v 6a power supply
- 1/2″ steel ball
- Magnet (don’t know what size yet)
- Nema17 or similar stepper motors X2
- x/y hardware such as belts, pulley gears, rods, 3d printed parts, hardware,
- Optical end stops X2 ( Debating between mechanical and optical ends stops- these are used to home the motors and either would work)

4/23 I have finalized my CAD drawings and have assembled them using the table shown above as the base. The design was made in inventor pro rather than Fusion360 as there is more support for complex shapes; the basis of the two software’s are practically identical. The drawings also do not show every single part such as belts, timing pulleys, the LCD, and various screws and hardware. However every shown part was designed with the size of these missing parts in mind. I will 3D print all the necessary parts as well as receive the electronics soon. I will also include a BOM soon.
First shown is the completed assembly mounted to the bottom of the table. It may be hard to visualize the movement of the assembly without the belts shown however it will operate on an XY axis basis like a CNC. On the far left is the Mini Rambo control board which is the main control unit of the entire system. The middle picture is the entire table with the additional top piece and glass top. On top of the already built table, there will be walls with ws2812b led strips around for a more professional look, as well as a glass top. The far right picture is the assembly without the table, and you can get an idea as to how the parts are laid out.
| Pulley 16 Tooth GT2 10mm | X2 | |
| GT2 10mm Belt (5M) | ||
| .5″ x .5″ Magnet | ||
| .5″ Steel Ball | ||
| 12V 6A power supply | ||
| LCD Display Panel | ||
| Nema 17 Stepper Motor 1.8 | X2 | |
| Ultimachine RAMBO Mini | ||
| 8mm x 500mm steel rod | X4 | |
| Polymer Bearings | X7 | |
| Ikea Table | ||
| WS2812B Light Strips | ||
| Table Sand | ||
| Power Supply (separate for lights/ control board?) | ||
| m3x6, m3x20, wood screws | ||
4/28 I have worked on getting my parts 3D printed as well as gone to get the base for my table. I needed to decided how tall I wanted the table to sit and I settled for a base that is 28″ tall and has a top of 29×29 for where the table top will go.

This was iteration 1 of the 3d printed pieces, I printed them with supports and it ended up causing more problems than it solved. I was unable to cleanly remove the supports and some parts got messed up. You can see in this picture where the unremoved supports were that were stuck in place. As well, the tolerances were too tight, when I tried to put the linear bearings in place they were disformed by the pressure.

This was the second iteration of the prints and it is clear that they came out much cleaner. It wasn’t a problem that I printed without support as there were no significant overhangs or angles. I made them 103% scale to add a little extra tolerance while not affecting any important dimensions for mounting.

This is the base of the table that comes in at 29x29x28. It is a good size to be able to sit down at while also being able to comfortable view from standing. Ikea did not have the top in stock however I am looking now for a suitable top that can fit over and be wood so I can screw into it to mount everything

This is a picture of one of the left side rail with the linear bearings inserted. On the 100% model they were an extremely tight fit to the point where they were being squished out of shape. On this 103% model they were a perfect press fit. These linear bearings are what almost every 3d printer uses and its what helps the piece slide along the rails easy. It may be slightly louder than other designs however it is much simpler.
4/30 I received one of my main orders today for parts, however I am still waiting on a the main guide rails which come today, as well as the Rambo Control board which will come tomorrow. These 2 items are some of the most essential pieces. I have also done some consideration on how I want the finished piece to look and I decided it may look better and be more time efficient to use a different IKEA table than the one I modeled off of. The table has similar dimensions as well as a built in recessed glass panel, which will make the finish of the table look more professional.

This is the new table, it is slightly larger than the previous coming in at an overall dimension of 36″x36″x20″. However the area of the glass seems to be smaller anyways so I think it will fill the space nicely. As well, the drawer will be removed and a bottom of MDF or similar material will fill the hole.
Image 1/2: These show the parts I received today. That being the steel ball on top of the 1/2″ magnet in the carrier, the geared pulleys which will be attached to the 2 stepper motors as seen in image 8, the non geared pulleys with bearings that redirect the belts across the machine, and the LCD display so you can easily choose between different designs.
Image 3-6: These show the m3x6mm hex bolts used to secure in the stepper motor to the mount as well as the m3x20mm hex bolts used to secure in the pulleys. Due to me scaling up the model 3% some of the screw holes are not as secure and therefore I will need to put a drop of superglue in the hole to secure them before final assembly.
Image 7/8: Image 7 shows the pulley redirecting the belt theoretically, the dimensions worked out well and the pulley spins freely in the case. Image 8 is the geared drive pulley that will control the belts. There are two of these drive pulleys, one on each motor.
Image 9: This shows the belt where it would end and be clamped into the carriage. The only problem here was the little pins I made to hold the belt were too small and the belt could easily fall out. I plan to reprint these in 110% or superglue them in place.
Tomorrow I plan to purchase the new table and get the rails in the mail, which will allow me to start running the belts and mounting everything.
5/1 – 5/3 This weekend I did a lot of the major work involved with getting the whole assembly set up and running properly. Although the mechanism works well it will need a lot of clean up with the wiring and figuring our small pieces such as calibrating end stops and mounting in the table.
(Here is a set of 9 pictures of everything that was done over the course of the weekend)
Explanation: Picture 1 is of the main control board/ stepper driver. It is the mini Rambo 1.3 and is similar to that used in nearly all 3d printers. It came with two mechanical end stops that I can use for calibration in the final model. It also can be programmed the same way an Arduino mega 2560 can, as you will see in the following pictures.
Picture 2/3: These show the assembly with the 8mm x 500mm rods for the axis’ of the machine. Much like a CNC or 3d printer the carriage will slide down the axis’ using its linear bearings. With all four rods being 500mm, the assembly actually isn’t a perfect square in terms of the size it will be able to function in the final assembly. I can cut the rods down but I like how it is now.
Pictures 4/5: These show the Rambo Mini being programmed as well as the LCD Display that I attached for ease of use. With the display the machine will be able to function independent of a computer or outside plug in device. The files will be stored on a SD card that I can easily take in our out if I want to change designs or make adjustments if necessary.
Pictures 6/7: These show the layout of the entire assembly with belts installed. The belt system runs on a pattern inspired by “Core XY” (http://corexy.com/theory.html) which is a common way to belt any two axis machine such as a CNC. This machine however runs its belts on two separate levels with no crossing to make it simpler and hopefully avoid issues with wearing.
Pictures 8/9: This is the new table I got that will hopefully be the final housing for the project. I will have to make a few major modifications to the table to be able to mount the whole assembly inside as well as have a suitable surface for the magnet and ball to move on. I think I will do an MDF base with a thin rubber or felt on top to avoid having it be too thick but also be smooth to reduce noise.
All the drawbacks, mishaps, and problems I encountered during the process: The first problem came to the main control board, the Mini Rambo. 3D printers and CNC’s often run on a software called “Marlin” which makes it simple to drive stepper motors with simple instructions known as “G-code”. The promised “simple download” was not so simple. I spent over 15 hours of research into possibly 50 forums to try to address issue after issue. The problem with Marlin is that its designed to be Universal, and 3d printer companies adapt them to their printers with people who know more than I do. I went through many iterations of downloads and code issues and hundreds of online users recommendations to get to the point I am now. The LCD works well, the drivers work well, and everything seems to be ok on the computer side.
Next was mechanical issues such as the magnet being too tall. The magnet seat is not deep enough so the magnet scrapes along the bottom of the table which is not preferred, it should sit 1-2 mm below the surface of the table. I ran to home depot and bought magnets of the same diameter but in small disks that I can stack to get the right height; hopefully this works better.
Next was friction and tension. The friction of the linear bearings was too high causing annoying sounds and unnecessary load on the stepper motors. Instead of 4 bearings on the middle carriage it now has two, and instead of two on the side carriages, they now each have one. So far I have noticed a reduction in noise and no problems. The belts also experience weird amount of tension at different points in their movement, it has not caused any issues yet however I am considering spring loaded tensioners if necessary.
All of these problems were encountered in about 25 hours of work over the weekend and are now fixed. The next steps will be dealing with the final assembly inside the table, the lighting, and the electrical; making sure everything is wired cleanly, properly, and receives enough power.
This is a video of the mechanism running its first G-Code instructions. It is similar to that of a 3d printer movement. Note* this is on a testing platform not the actual table and it had to be manually calibrated for home. In the final production it will have auto homing. As well, the excess belt coming off of the carriage will be cut and organized.

This should have been included earlier however this is how the belts are routed. One Belt is blue and the other is red and all four ends meet in the middle carriage to control X/Y movements. The two belts never cross or touch and they are on two separate levels.
5/5 I spent this time mocking up how I would actually get the mechanism inside the table so it looked clean and professional, as well as deciding the material I wanted for the surface.

The white platform you see here is the final choice for the actual base of what the marble will be rolling on top of. The frame which it is enclosed into is slid into the table as seen in place in the previous pictures of the entire table. I first chose acrylic as I though it would be interesting to possibly be able to see the mechanism moving underneath, however I ran into some problems. I couldn’t find a piece of thin acrylic that suited the specific size I needed ( 31″ x 34.25″) which meant I would have to cut a piece myself. I bought a large piece of acrylic but after a couple hours of attempting to score it and break pieces off, the brittleness of the piece caused it to break in ways that did not look clean and therefore I scrapped it. I then decided to use a couple dollar piece of foam board which ended up working the best. I cut it easily to size with an Exacto blade and I tested the strength of the magnet through it and it worked well. Another thing I considered was the noise of the ball rolling. Initially I got a large sheet of thin rubber that I thought I could cut to size on top of the acrylic, but the foam of the foam board ends up providing enough dampening.
This is my idea as of now to mount the assembly. Considering the assembly was originally designed to mount into thick wood I made it so it would be screwed into the bottom of the table of which it was working on. Since I have changed tables, I quickly realized that I cannot screw the assembly into a piece of foam board as it would not be strong enough to support the assembly. My solution for this is to put 2 2×4 beams across the underside of the table as seen in picture 1 which will be held in by brackets for a seamless look. Then the assembly will be able to be bolted into this with no problems hopefully. I just have to adjust the height of the magnet accordingly. The only other modification is that I need to drill 2 2.25″ holes where the stepper motors are so they can stick out the bottom and clear everything. If I don’t do this the table top will not clear the assembly.
I still need to figure out the mounting of the electronics and where I want them as well as the led light strips. As of now I want to put them on the underside of the top of the table where the glass is, I just don’t want them to fall off.
5/6 – 5/9 Over the course of these three days I was able to make a working prototype and begin to look over the areas that need to be refined. The whole system looks appealing and works pretty flawlessly however changes need to be made before it will be considered near completion.

To pick up where I left off, this is the system mounted to the underside of the table using 2 2×4’s. The wood planks are held in by four brackets and the system is being held down onto the wood by 12 4×1/2″ wood screws. Overall the system feels secure and I am not worried about it structurally.
These three images show the lighting in the table. The lighting system consists of a 3 meter, 60 led per meter, ws2812b led strip which means each led in the strip is individually addressable so you can make cool patterns like rainbow or stripes if wanted. The strips have an adhesive back and are stuck down to the bottom of the top rim as well as held on super glue on the ends to make sure they do not fall off. Although I could control the lights theoretically with an arduino, it would only make the system more complicated and it would be unnecessarily complicated to do things like changing colors and programming them. Therefore I am using a SP105E smart controller which you can see in the bottom of the second picture. It connects to my phone via bluetooth and I can walk up and contol all the lights and patterns. I did not want to have the strips folded at each corner so you can see in image one that I cut and soldered extensions for each corner to clean it up/ make it more durable.
A major challenge I addressed earlier was having the table use a working homing system, which would always ensure that the system would have a way to calibrate itself between runs and just generally ensure its durability. Since the endstops were not considerd in my original design I had to drill and screw in the endstops to the side of the motor blocks, as well as deisgn and 3D print aditional pieces to trigger the endstops. Picture one shows the end stop and its wiring, however I did end up soldering wires directly on to the board rather than use the connector. The end stop is from a creality 3D printer and it works as it should after I programmed in the use for them in the code. There are two endstops as you can see in image 2, one on the y-axis block, and a different type one on the x-axis block. The one on the x-axis block was there for temporary testing and is soon going to be replaced by a creality one as well because of its slimmer design. Essentially the machine moves towards the endstops until it touches them and triggers the machine to stop, at this point the machine names this (0,0) on its cartesian plane, which allows it to accurately positions itself once it starts running designs.
Although this may look like a drastic transformation, It is just the system assembled roughly for testing and lighting. The entire top of the table is removed along with the glass and the drawer is dropped down into place rather than slid as the motors stick down through 2, 2.5″ holes as seen above in the lighting photo. The wiring is also fed through the two holes as well as a smaller 1/2″ hole near the corner of the table. The next biggest task is to conceal all the wiring and power supplys in a way that looks clean but also of course still leaves it functional. I had an idea to mount the power supplies into the drawer however I was concerned about heating issues and it did not seem like the best idea.
5/11The first step in refining the moving parts in the table was fixing the x endstop. The first issue raised by it was that it is too thick and I had to raise the drawer about an inch using spacers in order for the clearance to be enough that it did not scrape when it moved. This did not look very good in terms of the table top sitting flush.

I found out through testing that the system always homes the y-axis first, and then the x-axis. Originally, the endstop was mount onto the y-axis sliding block in the two holes you can see at the top of the image. This meant that as that block moved up and down the wire would be pulled and retracted every time which caused slack and the possibility of it getting tangled or caught in a moving piece. With this design now, I soldered the two leads to the thinner Creality endstop which is mounted stationary into the 2×4, so when the machine homes it lines up with the endstop and is functional.

A big visual issue this solved was allowing the table top to sit flush on top. I put 4 thin spacers on the corners just to give a little more clearance for the lights on the underside of the top as well as some airflow. This is however, much more visually clean than it was before with less moving parts.

The last thing to do is to 3d print enclosures for the control board and power supplies. I need to solidify how I want everything to be encased with proper heat management but also look sleek and functional.

Lastly, this is the “sand” I am using for the table. Although I have not poured it in yet or tested it, I think this will be the best option. First of all the sand has to be relatively fine, and this is 120 mesh so that is a lot finer than you would find at most beaches or in traditional sand. Another requirement is that the sand must bee able to hold a ridge if the ball passes by it on both sides. meaning when the ball pushes on it from two sides, the sand should not be pushed out of the way but rather pushed up to define the lines that its creating. If it was just pushed out of the way then you would not be able to see the design well. Also silica is relatively transparent which will allow it to absorb the LED lights and give it a cool effect. I will test it out soon.
5/16 The table is reaching its final stages of completion. Overall it works well and the system works as intended. I poured a couple pounds of the Silica sand on top of the table and used an online software to make a custom G-Code to run on my machine to make the design. A few of the things I noticed: I immediately had to remove one piece of the magnet under the table, as the weight of the sand caused a very slight sag in the board that holds it, and the magnet was pressing into the bottom of the board. Next, there is a slight knocking noise occasionally when the machine moves around the perimeter area and is making a design. I have not found out what the cause is yet, however I found out the sound is mitigated or nonexistent when I make my X and Y min values 5 and not 0. The last thing is finding a way to make the sand evenly distributed at the right depth across the table. If the sand is too thick or thin in any spot on the table then the pattern looks not consistent, as well if the depth is too thick the patterns get a little washed out and if its too thin you can see the table underneath and the patterns are too defined.
This video shows the tabled first movements in the sand, and it is holding up well and making the patterns with consistent accuracy. The video only shows the table drawing in a small area however the overall drawing dimension is a little over 16″ x 14″ as I mentioned before. This is only one pattern and there are limitless amounts of different drawings you can do, so I will create one long final g code with a bunch of different patterns and see if it can run for a couple hours on end. Depending on the detail of the pattern it can take anywhere from 3-15 minutes per pattern.
I have not been able to find a way to mount the electronics the best yet, but I have also been holding off mounting anything until I was sure the system ran well and consistent. Now I will try to find a proper way to have everything contained while still allowing for heat control, use of the control panel, and elegance.
Overall, I think this project was surprising as it required minimal redesign in terms of the original mechanism. As always I expected to go through iterations until I found a system that worked well however my basic X and Y cartesian plane seems to be ok. There is however a lot of room for improvement in things like the drawing size, which could be made bigger with longer support rods, or the carriage assembly which bends and flexes sometimes because of the way the belts are attached. There is definitely room for improvement in terms of durability and ensuring the machine will run for a long time without issues, however for now it seems like it is holding up.
5/20 Considering I have 2.5 weeks remaining I will start on a quick project that I have wanted to do for a while. This project being a smart mirror. The basis of this project is a mirror that is still functional as a mirror, yet also enables you to read useful information off of it such as the daily weather, time and date, and current news. It can also be programmed with things such as Alexa, Ring doorbells, and many other features. Although I do not plan on taking down my bathroom mirror and replacing it with a smart mirror anytime soon, I think the proof of concept will be interesting. Overall the project should not be too complicated, and I have access to almost all the parts already.
This is the basic final look of a smart mirror. It is a functional mirror with a display behind that projects information through one way glass, making it visible to you while leaving a reflective surface.
5/24 Over the weekend I researched more into the functionings of the mirror; the type of mirror film I need, software, parts, etc… and I began to work on getting some of the pieces put together. The main driver of the mirror is the Raspberry Pi 4 microcontroller. This is capable of connecting to a wifi source, and also has hdmi output capabilities which is perfect to connect to the TV. The main software of the system is called MagicMirror^2 which is an open source modular platform for allowing the Raspberry Pi to output information such as time, weather, traffic, news, and many other integratable platforms.
Above is the TV I am going to use, It is 29 x 17.5″ for the outside dimension, which mean I will have to decide how large I want my mirror to be. I could not make my mirror that same dimension, as I need space to mount the power supply, the Raspberry pi itself, and other cables and connections. The next step could be a full size body mirror, which would sit on the ground and be 4-5 feet tall. This is enticing however I don’t know if I will be able to find a piece of acrylic or glass the right size. The next best option would be to purchase a large picture frame with a glass front from Hobby Lobby or online. This would mean I would have to use a one way mirror film on top of the glass to have the mirror effect. For now I am going to work on getting the software fully functioning on the Raspberry Pi and displaying on the TV, then I will begin to work on the mirror part of the build.
5/26-5/28 The set up and coding of the Raspberry pi took significantly longer than expected. However, it is mostly working now. From the initial set up of the Raspberry I had to install the OS, many of which are not compatible, outdated, or simply wont run properly. However I managed to get a working version running properly after some time. The OS I used was a nightly build of Raspbian OS, meaning it was an unverified version still in testing, but it worked. Next I had to get the software running properly, which did not work on the initial versions I tested. The software MagicMirror2 is designed to run on the Raspberry Pi 4, yet had a hard time compiling for some reason and it took me some time to resolve the issues. The issue ended up being due to my WIFI signal, as well as missing a few lines of important code necessary for the program to run. Considering I have never used a Raspberry Pi before, I was learning as I went for this project.
This was the first running working test I had. The time shows well and there is some news and calendar events running on it. However there is still a long ways to go and I need to things such as: add in code to automatically run the program when turn on the Raspberry, get the weather codes to run so that it works accurately, and most importantly format all of the blocks to my liking and size constraints.
After I have all the code working properly I need to buy a picture frame that is larger than 18×30, then lay a layer of one way reflective film on top so that it is a mirror effect while still being able to see the text through the back.
5/31 During this time I made headway on the programming of the display, and It is to a point now where I feel it is ready to be put into the mirror.
On the left is the display configuration I plan to use. A couple of the things I programmed in and improved include: implementing my google calendar events, fixing time accuracy/date, getting reliable weather information which now updates 60x per minute for my exact location, overall resizing of the modules and their location on the screen.
On the right shows the weather for my location. I learned a lot about online resources during this project, including mainly what an API is. I needed an API in order to get my weather and news to update properly, and it was not the simplest process. An application programming interface key (API key) is a unique code that is passed in to an API to identify the calling application or user. Basically, it allows me to access software, such as the weather news, and call for updates using that specific ID code (API Key). This is just one aspect that stood out to me and I thought it would be useful to understand for future projects.
I must now purchase a picture frame which is relatively thick, that I can mount all of the electronics inside and hide. I don’t have an exact plan for mounting, but I think I know the layout I will use.
6/2
Today I managed to get the mirror set up. It is a 30×40″ mirror so it will have more than enough room to fit the TV. As well it is about 4-5″ deep so it can fit the electronics inside without them coming out the back of the mirror, and everything will look flush. The mirror is made from a display case made for holding jerseys, to which I used a one way mirror film on the outside of the glass to get the mirror effect, while also being able to see light from behind. Overall since the film is meant for outdoor windows, it is not the most perfect reflection, however I am going to try to make it as even as possible so it is usable and looks nice overall. The next step is going to be mounting the TV and electronics inside the frame, and securing all the pieces so that it looks proper.
6/6 Over this weekend I have began mounting the tv screen in the frame and finalizing the coding as well. The mirror finish of the screen turned out well, and the biggest factor I need to ensure is that no light is let in behind the glass, or it will become transparent.
I decided the best way to keep the tv mounted and in place was just some wood beams to push down the tv into the corner. It may not be the cleanest mounting solution however theoretically you wont be able to see it behind the mirror anyways so it works for this purpose. I cut the wood and screwed it into the frame with 90 degree mounts and overall the tv screen feels tight. I purposefully put it on the bottom corner so the weight of the TV is on the bottom of the frame rather than entirely on the wood pieces.

In the disassembly of the TV I accidently tore out the cables to the remote receiver so this is the controller of the TV now. It doesn’t work well and as long as I don’t have to switch the input of the TV it shouldn’t be a problem for now. This is limiting in that if I ever wanted to connect a second HDMI input such as a Apple TV it would be difficult.

This is the final product with the TV on and in the back of the mirror functioning. Overall as long as I block the light out of the back as shown then the mirror effect works well. Since this TV is old and doesn’t have a new OLED panel and has a basic LCD panel, the background of the TV is not completely black, which is why you can see the outline of the tv through the mirror. This doesn’t bother me too much however and overall it looks good. This is also something that can be upgraded relatively easily in the future.
My next plans are to get all the cables and pieces mounted cleanly inside so that it looks nicer. I think I am going to keep the Raspberry Pi mounted on the outside back that way if I need to make adjustments I can. I will also put a black backing on the mirror to enclose everything and keep it tucked away. Overall I could mount this on a wall right now as a functional piece, and it works as intended so it was a successful project.
Term Conclusion:
Overall, this term has allowed me to bring to fruition two projects that I have been interested in for a long time, and have simply never had the time set aside to build. These two projects have taught me numerous new skills and problem-solving methods that I would have never considered before. To be able to design my own pieces from the ground up, and go about these projects solely based on my own ideas was something that forced me to go about an untraditional engineering method, as typically engineering is a group study. To leave decisions up to my own discretion forced me to problem solve more effectively, however also left great room for improvement that would typically be offered by a team. Overall I am satisfied with the work I have completed this term, and although I followed through with my goals there will always be room for improvement which is an inherent trait of engineering. Thank you to Mr. Brodie for allowing me the opportunity to pursue my own ideas, no matter how out-of-the-box they may have originally seemed. Thank you to Olivia Kim as well for assisting on the construction of both projects, and offering a set of helping hands. I can not wait to be able to see my work displayed in GCAD, it would be an honor.
-Ethan Camin














































