Day 2: Introduction and get to know me post
Three things I want commit to in my documentation:
I vow to always post in-progress pictures and the final result, sorted by day.
I will always have appropriate headings that will briefly explain what the text will be about.
I will format it in a visually pleasing and easy to read way.
Hi! My name is Kai.
A little background on the picture: this is me, my brother, and my father (in that order) all wearing bow ties that I made.
An engineering strength I have is the ability to problem solve. I've had many different engineering challenges in the past, and they almost always don't work on the first time. I try very hard to figure out what is not working, and fix it. That has allowed me to take things from an inoperable hulk of electronics to a working machine. An area for growth I have is in my knowledge of programming. It's a goal of mine to learn more about how code works, as I think it will be a very useful skill for me to have. I want to eventually know it well enough to be able to teach it to someone that may never have coded before.
Day 5: PCB design and ideation
Today, I worked with the other Kai to come up with some ideas. We shared ours, then created our own interpretations of them. I had some ideas regarding a face, a submarine, and a bench with a streetlight. We looked at what the other had come up with, and he created his own interpretation of the sub and the streetlight and bench. I started on a blob form, but we selected our final design before I was finished. He also made a boba cup. We finally decided to do the bench with the streetlight. The light will be going out in rays from the streetlight signified from the placement of the LEDs. Our final design was drawn at a different angle than the others, so I have oriented the final design right side up. Unfortunately, this means that the two in progress designs are sideways.
Day 7: Finishing the PCB
Kai and I made a streetlight with a bench underneath as our PCB. It took a bit of time for me to route the airwires, as I had to do it all manually. Kai handled the silkscreen and the board design, while I focused on the schematic and the parts layout. I am pleased with how it turned out, and I'm excited to see what the board looks like when it comes. A thing that I'm going to need to keep in mind is that it's useful to use the schematic to help plan out the connections early. I didn't the first time, and the computer program sort of failed when routing the airwires. I want to make sure that in the future I know exactly what I'm arranging and where.
Here's a picture of our board.
Here's a picture of our schematic.
Day 8: Ideation for the speaker
I'm most likely to move forward with either my grandfather clock idea or my hot air balloon idea. I think these would be the most interesting to move forward with because there's a lot of places to put detail in and fun ways I can play around with different materials and lights. I'm a little concerned about making sure that I don't get in too far over my head and I have enough time to create a design. I also need to make sure I plan everything out ahead so when I do get into fabricating something, it goes as according to plan as I can get it.
Here are 20 designs I came up with:
Day 10: Feedback on the ideas
Here are all the great pieces of feedback I received. The left are the warm ones, while the left are the cool ones. The most common trends I saw were that my ideas were creative, but they might be difficult to achieve.
Gee thanks, Nico. For posterity, this is Nico Strait '25.
Day 11: Better speaker design
Today I did a better* drawing of my clock. Please excuse the messiness, and I expect my one on Rhino to be much better. For the record, I did not fail CMA last year.
*somewhat
Day 14: 80% complete model of the speaker
So I pivoted a little bit from my last drawing. Or a lot. In fact I pivoted a lot. I have now decided to do an entire clock, rather than just making a fake clock. It's a real clock! Hopefully it'll work but we'll see. I've figured out the necessary gear ratios, and I'm almost done with the design. The main part I'm doing is the clock itself, while the speaker is just going to be a rectangular box. I didn't want to do anything fancy with the box, as I already had my hands full with the clock itself. It's going to probably mostly cherry, and I might add in some MDF because I don't have enough wood.
Day 15-18: Cardboard Prototype
I've cut some of the parts out of MDF, and some out of chipboard. I cut the gears out of MDF because I wanted to see how they would mesh. I think that I've got a pretty good system so far. Hopefully, I can get them to work on the first try, but if they don't, I can re-drill holes in the right position in a new piece of MDF. I'm way over in terms of materials, so I've been making use of the scrap bin as much as I can. I'm pleased with how the prototype came out, and I think my clock is going to end up looking pretty decent. I just need to make sure that it works now. For the prototype, not all the gears are in place.
Day 19: Breadboarded circuit
To my surprise, my circuit actually worked when I first tried it. I had expected that it would've had problems, but it was relatively fine. I'm pleased with the sound quality, and that everything seems to be good. I had some challenges with the volume knob, and I'm hoping that in the PCB, it will be better.
Day 24: Intro to Python
We created some code that allowed us to print various messages, using strings, integers, booleans, and floats.
Here's our document:
Day 25: Python Continued
We created code using "for" and "and" loops, and learned how to substitute various lists in for one another.
Here's our document:
Out of order - Day 20: Amp PCB Design
I worked with Taran to create a new circuit board for our integrated circuit and other analog components. I did a bit of the schematic, but most of my contribution was on the board, where I arranged the components and routed the wires. I learned a couple new things doing the circuit board, like that the schematic is very helpful for figuring out the connections, and the check for errors tool really helps. I think in the future, I'll keep in mind that the board can always be arranged in a different way, and that it's useful to try out the various combinations.
Day 28: Coding Challenges
I worked with Kai Liu to try to solve the challenge of how to make the LEDs on the Circuit Playground change color with the temperature sensor. Because some of our libraries were messed up, it didn't end up working completely, but it was still a fun project to attempt. Here's a picture of us in progress, as nothing worked completely.
Just for fun, here's Nico pretending to be a police car with the Feather M4 and the Neopixel Grid.
Day 29: Coding Challenges Part 2
Nico and I worked together to try to input some API data onto the screen, however it didn't quite work. Instead, we uploaded some of my pictures onto the microcontroller and created a doomsday countdown. The challenge we worked on was making a timer that counts up or down towards something. Basically, we set x to 10000, and put in that x=x-1 so that it perpetually counted down.
Here's a link to our code.
Day 30: Digital Project Chosen
I'm planning to make a clock for my digital project. As redundant as this might seem given the rest of my speaker, it's for a good cause, as I do need a way to set the time on the mechanical clock. In addition, it'll have the date and a handy hour counter that tells me how long I have until I need to wind the clock again. The hour counter will be reset with a little button on the side. I'm planning to put this on the side of the speaker, near the volume control and the on/off switch. I'll use the Feather M4 with a screen to show all of this.
Day 31: Circuit Board Arrives
The circuit board I worked on with Taran has finally gotten here. This is what it looked like before it was soldered, so all you can see are the outlines for where the components will go. The rectangle at the 45 degree angle is the amplifier and integrated circuit. On the left side, there is the audio jack, volume control, and power inputs. Next to that are the resistors, capacitors, and a voltage regulator to control the flow of electricity around the circuit for a better sound. On the top right, there are places to put the wires that will eventually connect to the speakers. Finally, on the bottom, there are some places for the bluetooth equipment to go, so it can connect to a phone.
Day 33: Final shaped PCB
I made a streetlight and a bench with Kai Liu much earlier in the class. This is a printed circuit board, with connection pads for LEDs, resistors, and a small coin cell battery. I finally soldered everything together. The streetlight sort of has light emanating from it, shown with all the LEDs that go in various directions. The lights have a slight orange glow to them, not yellow, which I think is actually quite nice. There's a single switch on the bottom of the lamp post.
Day 36: Soldered Amp Circuit
Here's my final soldered amp circuit. I think that I got much better at the technique of soldering. I made sure to take my time and not rush it, and I think my solders turned out well. I also learned how to isolate problems to certain components. My volume knob was acting up, so I did my best to fix it.
Day 37: Progress Report
Here's my build so far. Everything is going pretty smoothly, and I expect to have it done soon. All I need to do to finish it is finalize the speaker enclosure and assemble the clock face, clock mechanism, and speaker box.
Day 39: Finished Project and Analog and Digital (and mechanical too) components
Analog
For the analog part and the speaker enclosure, I created a box with the front made with 1/4 in plywood and the sides, top, and bottom made out of MDF. I had to do this because I ran out of materials. There's one switch on the left side that turns on the battery. I removed the switch from the battery. In creating this, I learned how important it is to be able to identify problems in my soldering and fix them. There were a lot of problems around the connections with my volume knob, and I ended up melting some of the rubber off of it. I was able to solve the problem, and this has taught me valuable soldering skills.
Digital
I used the Feather M4 and the Feather Stepper Wing to code a stepper motor to power my clock. The stepper motor turns at exactly 2 revolutions per minute, which means that the gear that it turns will eventually turn the clock accurately. A challenge I faced is that I've never worked with a stepper motor. I was practically just diving into an area of coding I had never explored before. I ended up consulting Chat GPT and other resources to come up with the final code. My code is pretty simple, with a definition for the number of steps the motor has, how many times it should step in a set timeframe, and what a step is defined as. So far, I haven't really had issues with it.
Here's a link to the code I used.
Mechanical
This was what I spent the majority of my time on. I created a working clock that tells time accurately. It is about 30 seconds off after an hour. It is the part that I am the most satisfied about, as I feel really rewarded that it actually works. If I were to start over, I'd want to model the gears in a place where I could simulate their movement. I think this would allow me to figure out how to make them mesh better. This in turn could make the clock weight driven, which would make it have the nice tick-tock sound. I think that the majority of creating this project was trial and error and design. It came together pretty quickly, but the modeling behind it was lengthy. I also became much more familiar with some applied math concepts with fractions and ratios. To set the time on the clock, I made it so the seconds gear could be removed.