Category: Uncategorized

  • Planet Exploration Project

    For this blog post, I’m going to talk about our new project: the Planet Exploration Project. I’m short, we will find a place of residence most suitable for humans, much later into the future.

    Before we begin, I did not use AI or any large any LLM’s to help with my research.

    I’m going to answer the following questions:

    What celestial body did you choose and why?

    What opportunities present themselves on your new home planet?

    What challenges do you foresee?

    What implications might there be for vehicle design?

    How do we know what we know about your planet?  Be specific.  What research was done?  What devices were used?  How did those devices collect what data, and what conclusions can be drawn from them?  What report speaks specifically to this information?

    Alright. First question: What celestial body did you choose and why?

    We chose Saturn’s moon Enceladus, because of its match to the criteria needed for life; the presence of liquid water, a source of energy, and a specific set of chemical elements. It also have a thin exosphere.

    Second Question: What opportunities present themselves on your new home planet?

    ESA International state that the plumes that shoot through the icy crust of the planet are rich in organic compounds, many are key for life. This is a great opportunity for researching extraterrestrial life. Further, This planet has water, which is the most crucial part of life, leading to opportunities to advance this planet in different sectors without having to worry about the basics. NASA also claims that there are hydrothermal vents releasing hot, mineral rich water into its ocean, which is also an opportunity for fertile soil when agriculture becomes relevant. The hot steam is also an opportunity for energy generation.

    Third Question: What challenges do you foresee?

    The first challenge I see instantly is how we are going to get there. Our destination is 1.3 billion kilometers from earth, so we would need a carrier ship capable of hosting generations of humans to our destination, Further on out transportation, it would be very difficult to time and route the course to its moon, as the moon constantly orbits its planet Saturn.

    Another challenge i see its our acclimatization to our new planet, and our living arrangements. I see it very difficult for a generation of humans to go from a ship, which they have resided on for their entre life, to a moon with little to no information about. I think the shock would be tremendous, like going from a blazing hot shower to an ice bath.

    Even if we mange to adapt, another challenge to overcome would be the moons drastic change in climate, as it only has a thin exosphere. For comparison: Earth’s atmosphere at sea level: 10¹⁹ molecules per cm, Enceladus: 10–1,000 molecules per cm³. That’s a trillion trillion (10²¹+) times thinner than Earth’s air.

    Fourth Question: What implications might there be for vehicle design?

    Vehicles on Enceladus would need to be completely reimagined to adapt to its extreme environment. First, the lack of a substantial atmosphere means traditional combustion engines would not work, so vehicles would need to rely on electric propulsion, nuclear power, or other non-air-dependent energy sources. The icy surface and plumes also present a challenge, requiring vehicles to be heavily insulated and resistant to extreme cold, with special traction systems to move across ice and avoid slipping.

    Additionally, the thin exosphere offers little protection from radiation from the Sun and cosmic rays, so all vehicles would need radiation shielding to protect occupants. Mobility in low gravity, about 1/100th of Earth’s, would also change how vehicles accelerate, brake, and maneuver. Traditional wheeled vehicles might need magnetic tracks, hover systems, or treads designed for minimal gravity. Finally, vehicles may need to navigate through or around plumes of water vapor and ice particles, so their exteriors must be resistant to corrosion or damage from constant particle impact.

    In short, vehicles for Enceladus would need to be energy-efficient, radiation-shielded, and engineered for ice, extreme cold, and low gravity while ensuring the safety of passengers in an environment that is harsh and unforgiving compared to Earth.

    Last question: How do we know what we know about Enceladus?

    Our understanding of Enceladus comes primarily from detailed observations by the Cassini spacecraft, which orbited Saturn from 2004 to 2017. Cassini carried several instruments that allowed scientists to study the moon in depth. The Ion and Neutral Mass Spectrometer (INMS) sampled gases in the plumes, measuring water vapor, carbon dioxide, methane, hydrogen, and other trace compounds. The Cosmic Dust Analyzer (CDA) collected tiny ice grains ejected in the plumes, allowing scientists to determine their composition, including salts and organic molecules. Imaging systems and thermal instruments mapped the surface, revealing fractures known as “tiger stripes” and areas of higher temperatures, indicating active geology and cryovolcanism. Data from these instruments showed that the plumes are fed by a subsurface ocean beneath the icy crust, and the presence of silica grains and chemical signatures suggests hydrothermal activity on the ocean floor.

    In addition to Cassini, ground-based observations and space telescopes have confirmed the plumes extend far into space and contribute to Saturn’s E ring. Laboratory studies and theoretical models have helped scientists understand the ocean chemistry and energy sources, supporting the idea that Enceladus has the key ingredients for life: water, chemical elements, and a source of energy. These findings are summarized in several reports. NASA’s Science website on Enceladus provides an overview of the plumes, subsurface ocean, and Cassini data. The European Space Agency has reported on the detection of complex organic molecules in the ocean. Finally, in the article “Exploration of Enceladus and Titan: investigating ocean worlds’ evolution and habitability in the Saturn system” outlines the current knowledge of Enceladus and mission concepts for further exploration. Together, these studies show that Enceladus is an active world with a subsurface ocean and the potential for habitability.

    Here are my sources in APA format:

    Glein, C., Baross, J., & Waite, J. H. (2015). The pH of Enceladus’ ocean. Astrobiology. https://arxiv.org/abs/1502.01946

    Hedman, M. M., Dhingra, D., Nicholson, P. D., Hansen, C. J., Portyankina, G., Ye, S., & Dong, Y. (2018). Spatial variations in the dust-to-gas ratio of Enceladus plume. Geophysical Research Letters. https://arxiv.org/abs/1801.01567

    Hirata, N., Miyamoto, H., & Showman, A. P. (2022). Particle deposition on Saturnian satellites from ephemeral cryovolcanism on Enceladus. Planetary and Space Science. https://arxiv.org/abs/2205.11265

    Mitri, G., Barnes, J., Coustenis, A., et al. (2022). Exploration of Enceladus and Titan: investigating ocean worlds evolution and habitability in the Saturn system. Experimental Astronomy, 54(3), 877–910. https://doi.org/10.1007/s10686-021-09772-2

    NASA Jet Propulsion Laboratory. (2008, March 26). Enceladus plume neutral mass spectrum [Photograph]. NASA. https://www.jpl.nasa.gov/images/pia10356-enceladus-plume-neutral-mass-spectrum/

    NASA Science. (2008, March 26). Enceladus plume neutral mass spectrum. https://science.nasa.gov/photojournal/enceladus-plume-neutral-mass-spectrum/

    Villanueva, G. L., Hammel, H. B., Milam, S. N., Kofman, V., Faggi, S., Glein, C. R., … & Hedman, M. (2023). JWST molecular mapping and characterization of Enceladus water plume feeding its torus. Astrophysical Journal. https://arxiv.org/abs/2305.18678

    Waite, J. H., Combi, M. R., Ip, W.-H., Cravens, T. E., McNutt, R. L., Kasprzak, W. T., … & Hansen, C. J. (2006). Cassini ion and neutral mass spectrometer: Enceladus plume composition. Science, 311(5766), 1419–1422. https://pubmed.ncbi.nlm.nih.gov/16527970/

    Thank you for reading!

  • Fusion Robotics

    Hi everyone!

    For this post, I’m doing something very different. I’m building a simulation for an Arduino radar!

    DISCLAIMER:

    A big shoutout to Robotics India for the amazing ideas and tutorials on Arduino projects. Many of the concepts here were inspired by their work, and we’ve adapted them to fit the flow of this post. We encourage readers to check out Robotics India’s content for even more detailed insights and guidance.

    Furthermore, I did not use any form of AI assistance in this project. Thanks!

    This is my first time EVER doing something like this. Therefore, I’ve looked online for some ideas, and have come across the holy grail of videos.

    Check it out!

    After watching the video, I decided to recreate the project myself, a mini Arduino radar system using an ultrasonic sensor (HC-SR04) and a servo motor.

    DISCLAIMER: This code is heavily inspired by a YouTuber, and under no circumstances do I claim it as my own. I have, however, studied how the code works and believe I have a solid understanding of its functionality. My explanation within the code below reflects my own understanding and interpretation.

    The basic idea is simple: the servo rotates the ultrasonic sensor back and forth, sending out sound waves to detect objects. The distance readings are then used to simulate a radar sweep, just like what you’d see on an actual radar screen.

    Here’s what the setup includes:

    • Arduino UNO (the brain of the project)
    • HC-SR04 Ultrasonic Sensor (for distance measurement)
    • SG90 Micro Servo (to rotate the sensor)
    • Breadboard and jumper wires (for connections)

    The circuit sends out ultrasonic pulses, measures how long they take to return, and converts that time into distance. Then, the servo moves to a new angle and repeats the process, scanning the area in front of it.

    Here is the BOM (parts list), and code below, along with an explanation of how everything works!

    ComponentQuantityDescription
    Arduino UNO1The “Brain” of he circuit
    HC-SR04 Ultrasonic Sensor1Sends and receives sound waves to measure distance.
    SG90 Micro Servo Motor1Rotates the ultrasonic sensor to scan different angles.
    Breadboard1Makes it easy to connect components without soldering.
    Male-to-Male Jumper Wires1For all electrical connections between the components.
    USB Cable (Type-B)8Used to upload code and power the Arduino.
    #include <Servo.h>  
    // Includes the Servo library, which allows control of servo motors.
    
    const int SERVO_PIN = 11;  
    const int TRIG_PIN = 8;  
    const int ECHO_PIN = 9;  
    // Defines which Arduino pins are connected to the servo and ultrasonic sensor.
    
    const int MIN_ANGLE = 0;  
    const int MAX_ANGLE = 180;  
    const int ANGLE_STEP = 1;  
    const int SWEEP_DELAY = 15;  
    // Sets the servo movement range and speed of rotation.
    
    const float SOUND_SPEED_FACTOR = 58.2;  
    // Used to convert the echo time (in microseconds) to distance (in centimeters).
    
    Servo myServo;  
    // Creates a Servo object to control the servo motor.
    
    void setup() {
      pinMode(TRIG_PIN, OUTPUT);
      pinMode(ECHO_PIN, INPUT);
      myServo.attach(SERVO_PIN);
      Serial.begin(9600);
    }
    // Initializes pin modes, connects the servo, and starts serial communication.
    
    void loop() {
      sweepAndMeasure(MIN_ANGLE, MAX_ANGLE, ANGLE_STEP);
      sweepAndMeasure(MAX_ANGLE, MIN_ANGLE, -ANGLE_STEP);
    }
    // Continuously sweeps the servo from 0° to 180° and back, taking distance readings.
    
    void sweepAndMeasure(int startAngle, int endAngle, int step) {
      for (int angle = startAngle; (step > 0) ? (angle <= endAngle) : (angle >= endAngle); angle += step) {
        myServo.write(angle);
        delay(SWEEP_DELAY);
        int distance = calculateDistance();
        printData(angle, distance);
      }
    }
    // Moves the servo in steps, measures the distance at each angle, and sends the data to Serial.
    
    int calculateDistance() {
      digitalWrite(TRIG_PIN, LOW);
      delayMicroseconds(2);
      digitalWrite(TRIG_PIN, HIGH);
      delayMicroseconds(10);
      digitalWrite(TRIG_PIN, LOW);
      long duration = pulseIn(ECHO_PIN, HIGH);
      return static_cast<int>(duration / SOUND_SPEED_FACTOR);
    }
    // Sends an ultrasonic pulse, measures how long it takes to return, and converts that time to distance.
    
    void printData(int angle, int distance) {
      Serial.print(angle);
      Serial.print(",");
      Serial.print(distance);
      Serial.print(".");
    }
    // Prints each angle and corresponding distance reading to the Serial Monitor for radar visualization.
    

    In short, it sweeps a servo back and forth while measuring and logging distances with an ultrasonic sensor.

    Here is the link to this project

    Here is the demonstration:

    Thanks for reading!

  • Post: Bonjourno Everyone:

    It has been quite a while since I last posted, but I’m really excited to share my first official project created in Fusion 360! This marks my very first completed design using CAD software, and I couldn’t be happier with how it turned out. For this project, I decided to go with the first assignment option, a simple and meaningful task that allowed me to explore the fundamentals of 3D modelling, constraints, and precision design within Fusion.

    Before diving into the details, I want to make an important disclaimer: I did not use any form of AI assistance in the creation of this project. Every sketch, extrusion, constraint, and adjustment was made manually by me. I wanted to rely solely on my own skills and understanding of CAD design principles to truly learn and develop some major points in my designing area. The goal was to create something that reflects both my personal effort and my growing comfort with Fusion 360 as a modelling tool.

    For my first project, I decided to model a moving box with a fitted lid, something functional but still detailed enough to challenge me. I started by drawing out the base of the box, then extruded the base upward to form the drawn section. Then, on a separate assembly, I worked on creating a smaller upper piece that would act as the lid.

    The key part of my design was ensuring that the lid and box could interlock properly. To achieve this, I made sure that the extrusion of the first part was exactly the right size to fit into the indentation of the other part. This design choice allows the two components to slide together smoothly, forming what is essentially an airtight seal.

    One of the most interesting and enjoyable parts of the design process was using slider mates to simulate how the two parts would interact in motion. This feature allowed me to show that the box and its lid could slide together naturally, replicating how they would behave if they were physically manufactured. I also made use of the parallel constraint, which ensured that the lid remained aligned with the box during motion and didn’t accidentally phase through the walls of the container. It’s a small detail, but it gave the model a very realistic feel, which was one of my proudest moments figuring it out.

    Honestly, I think that alignment feature might be the part of my project that I’m most proud of. It gave the box a sense of realism that makes it look like something that I could actually touch in real life. Seeing the simulation of the lid sliding on perfectly and locking into place was a very satisfying moment. It really made all the earlier sketching and dimensioning work feel worth it.

    After completing the modelling phase, I moved on to the technical drawing portion of the project. This step allowed me to document the box in a 2D format, complete with dimensions from all the important views. Translating a 3D design into a proper technical drawing gave me a much better appreciation for how engineers communicate design intent. While working on this stage, I noticed that a few parts of my box weren’t perfectly symmetrical. Some lines and edges were slightly off on the inside, likely because of minor inconsistencies in my original sketch dimensions. Even though it was a bit frustrating to spot those imperfections, I see it as a valuable learning experience. It reminded me just how important it is to plan and double-check constraints early in the process. However, the CAD software managed to “solve” this issue in the assembly part, which was nice to see.

    Coming back to CAD after not doing it since grade 8 was honestly really nostalgic. It’s cool how something I learned years ago manages to connect to what I’m doing now, just with more patience and a stronger rig.

    Looking back, I’m very proud of the final product, although it does look simple. I learned how to manage sketches, control constraints, and use assembly motion tools to test functionality, all within a single project. Even small details, like understanding how the “parallel” and “slider” constraints interact, made me feel like a true designer.

    As I continue improving this design, my next goal is to fix the minor symmetry issues, and maybe, far off into the future, I would like to have a go at designing an F1 car.

    This may only be a small project, but it feels like a big achievement for me personally. It shows that with patience, curiosity, and resilience, I can re-learn the fundamentals of design and apply them after years of not using this software. For now, though, I’m genuinely happy with how this simple moving box turned out, and I’m looking forward to sharing even more progress in the future.

    Stay tuned!

    Here is the link to view my project

    https://sgs.onshape.com/documents/b8b518f08341ba4ab622405e/w/3d5bac8fe6bf8bffee515d99/e/bd93993d1864058e1f4670f4

    Here is the link to view the drawing and BoM

    https://sgs.onshape.com/documents/b8b518f08341ba4ab622405e/w/3d5bac8fe6bf8bffee515d99/e/04af9857d2a11e93c234c5bb

    Thanks!

  • Fusion coding Project

    Bonjourno everyone!

    this is my first coding project in fusion, and I’ve made a number guessing game with the help of google Gemini!

    Here is the link to the project if you do want to try it out yourself

    Here is the link to the transcript between me and Google Gemini

    Here is the line by line code explanation

    import random

    This line imports Python’s built-in random module, which allows the program to generate random numbers. We need it to pick a secret number for the guessing game.

    secret_number = random.randint(1, 100)

    Here, we use random.randint(1, 100) to generate a random integer between 1 and 100 (inclusive). This number is stored in secret_number and is what the player needs to guess.

    guess = 0

    print(” I’m thinking of a number between 1 and 100.”)
    print(“Can you guess what it is?”)

    These lines display a message to the player, explaining the game and prompting them to guess a number.

    while guess != secret_number:
    while True:

    player_input = input(“Enter your guess: “)
    try:

    guess = int(player_input)
    break
    except ValueError:
    print(“That’s not a valid number. Please enter an integer.”)

    while guess != secret_number:

    This while loop keeps the game running as long as the player’s guess is not equal to the secret number. Once the guess matches the secret number, the loop stops.

    player_input = input(“Enter your guess: “)
    guess = int(player_input)

    The program asks the player to enter a guess. Since input() returns a string, we convert it to an integer using int() so we can compare it to the secret number numerically.

    if guess < secret_number: print(“Too low! Try again.”) elif guess > secret_number:
    print(“Too high! Try again.”)

    These lines check the player’s guess:

    If it’s smaller than the secret number, the program says “Too low!”

    If it’s larger, it says “Too high!”
    This feedback helps the player adjust their next guess.

    print(f”🎉 You got it! The secret number was{secret_number}.”)

    Once the loop ends (meaning the player guessed correctly), the program congratulates the player and reveals the secret number. The f before the string lets us insert the value of secret_number directly into the message.

    and here is the thoght process I took while coding this, in a flowchart

    Thanks for reading!