A collection of my projects in How to Make Almost Anything.
Past: Lawyer - Nearly a decade in Colombia's public sector.
Present: MIT Grad Student - Studying Computer Science and City Planning.
Future: Excited about the possibilities ahead.
Project Description:
As someone new to embedded programming, I decided to explore the capabilities of the Xiao ESP32S3 by simulating a project to control an LED through WiFi. Due to time constraints, I couldn't complete the project physically, but I successfully simulated it using the Wokwi platform.Key Features of the Xiao ESP32S3:
Challenges:
One of the challenges I faced was simulating the WiFi connection in Wokwi. Although the WiFi aspect could not be fully tested in the simulator, the GPIO control logic for the LED worked seamlessly. By focusing on LED control first, I could validate my approach before introducing more complex features like over-the-air updates.Next Steps:
Once time allows, I plan to assemble the physical components and fully test the WiFi functionality on the Xiao ESP32S3. Additionally, I want to explore implementing over-the-air updates to simplify future modifications to the project.For this week's assignment, we were tasked with creating a machine. Our team developed the "Drop It Like It's Hot" project. I contributed by producing the video and assisting with the coding section of the project. You can learn more about our work by visiting the following link: Drop It Like It's Hot Project.
For this group assignment, my teammate Sergio, another Colombian student in the class, and I worked together to complete the task of sending a message between two projects. We collaborated on Monday with guidance from the TA, who provided valuable assistance during our session in her office. The teamwork and support were instrumental in successfully completing the assignment.
Additional description of group assignment:
- Variable 1. hghgd
- Variable 2.
For the individual assignment, I aimed to create a setup using a breadboard with multiple LED lights connected via Wi-Fi to a web server. This setup would allow me to control the lights from my smartphone, combining hardware and software for a practical IoT application. Initially, I worked with the ESP32-C3 microcontroller, but it didn’t meet my needs for this project. I decided to switch to the ESP32-S3, which provided better compatibility for my goals. Using tutorials from the Seeed website and other online resources, along with guidance from the TA, I gradually made progress and achieved the desired functionality. One fun fact: when nothing seemed to work and I felt stuck, the breakthrough came from two seemingly small actions—restarting the microcontroller and updating the Arduino IDE on my laptop. Although these steps may appear trivial, they were crucial in making the connection work. This experience taught me how even minor troubleshooting efforts can make a significant difference in solving technical challenges.
Subtitle: Challenges of this week's assignment.
- Variable 1. hghgd
Given that this week the US celebrated thanksgiving, almost the entire class travelled and we could not make the group assignment for this week. Nevertheless, when I did my individual assignent with Char's guidance, we tried as many tools as posible for it. So, in a certain way, I did the group assignment.
For the individual assignment, I aimed to create music visualization like the ones I used in the 2000s on Winamp. They are called "Winamp Milkdrops" and are very popular on the web. My idea was pretty straightforward. I wanted to use the microphone on my pcb to capture the music and then, the input from the microphone might produce some cool visualizations in the laptop. Therefore, I could achieve different visualizations having different kind of songs.
The steps to achieve this winamp milkdrop were simple: First, I connected the rp2040 to the laptop using Arduino. I had to download some specific libraries for music on the arduino ide app. Secondly, I used python on Visual code and the terminal to create the visualization. Char's libraries were instrumental in this step. Char explained to me how I could create the different visualizations by adding math equations that the laptop could plot. The main outcome of my conversation with Char was when she asked me about what was the real input that I wanted to capture with the mic. Then I understood that the inut from the mic would be music and time, and then, I had to connect that input to the code on python. Thus, i could achieve a small visualization using the shader and providing a math equation to the three RBG colors
Funfact of this week's assignment.
- This week's assignment would have been impossible without Char's help.
- It was pretty cool when i realized that the cool visualizations are basically just math equations plotted by the laptop that can change
This is the wildcar week. This means we have freedom to select what we want to do and do something very cool. The list of options was huge with alternatives that suffices everybody's preferences. I picked embroidery because i wanted to produce something meaningful to me that I could wear or use in a wearable. Kareem and I went to the EECS shop where Alec gave us the instructions about how to use both, the sewering and embroidery machine. The whole process took around 1 hour but it was pretty cool. We learned how to place the thread and the bobin, the pedal, the foot steper, the nail and te screwdrivers. Alex was an amazing instructor and the process was very fun. One of the mot challening thins here was to see the small numbers that work as a guidance on the machine since my sight is not the best.
Additional description of group assignment:
- We embroidered a small fish with 4 differen threads so we could see the colors.
- Fun fact, the colors look different once the thread has been sewered or embroidered.
For the individual assignment, I aimed to create the logo of my biggest inpiration when I was growing up, Cristiano Ronaldo. The logo is CR7 so I had to design it first and then bring the PES file to the embroidery machine to make it happen. Alec told me to download Inkscape and Ink/Stitch to do it. Once I downloaded the and installed, I tried to follow some youtube tutorials for it, but I needed more help, then Alec explained to me how to use and I could achieve it. It was a very cool process, it took me around 3 hours designing and embroidering.
the first step involves using Ink/stitch to design the logo to embroid. Alex taught me that this procesworks as tracing a map. So i first got the iamge from the web. Then, with the pencil tool, I created the edges of the letters, always following the same pattern. Then with the pen tool, i created some lines to show the embroider machine the pattern that I wanted to have in my design. It was not easy to understand in the beginning I had some troubles with the order, but at the end, I noticed it was very similar to using some adobe tools sch as illustrator or photoshop. You gotta be super cautios with the layers. Each letter and number was a layer and all the traces in those layers had to be combine in order to achieve the desired pattern. Later, using the ink/stitch extension and the satin column in it, I achieved the design with the different colors that I wanted. I exported the design in a PES file with a pendrive and then went to the embroider machine to finally make it happen. Someone was using the sewering machine earlier so I had to transform the machine into embrodering but it was easy, just took me 5 minutes. The trickiet part of the setting was getting the fabric in the perfect position since using the frame was not so easy. Once everything was ready to use, then I had select the file in the embroidering machine and place the logo in the extreme so I did not waste fabric. Then, I put the thread use the foot steper and pushed the start button. i had to change the thread twice because of the colors. It was pretty easy and the outcome was very cool.
Funfact of this week's assignment.
- My mom loved the assignment and she told me that she wants to buy one these machines.
- The trickiest part was the design but once you learn it, it is very entertained and i want to try it to do some customization to some tote bags.
This project draws inspiration from cymatics machines, Chladni plates, and the Pensieve from the Harry Potter series. The idea is to create a device that generates water waves in response to music chosen by the user. This interaction between sound and water aims to provide a visually soothing experience, allowing the user to relax and enjoy a tranquil moment with their favorite music.
Thee are the sketch with the original idea and this is the goal!
Currently, I’ve designed and milled the PCB and begun soldering the components. This week, I plan to 3D-print the container where the water will be placed, bringing the project closer to completion. Below are the sketches of the machine and its progress.