Spreadsheet Link

You can find the link to our spreadsheet that we have been using to track our progress here:



  • We worked on the lights and were able to create a mechanism that detects the difference in light values in its surroundings
  • We designed and 3D printed wheels that can facilitate bi-directional motion. At first, we printed two wheels that fit a Starbucks straw. Then, to make the robot more sturdy and steady, we worked on a second version of the wheel that uses an adapter instead of relying on straws to connect to the motors.
  • We were able to connect the DC Motors to allow the wheels to move using the adafruit motor and adafruit motorkit libraries. Additionally, we used two batteries to make the entire device operational and programmed it for bi-directional movement.

Wheel Design & 3d Print Process

<Rapid Prototyping>

Two-legged wheggo wheel design, with wider surfaces

<Version 1>

  • Adjusted size of the hole to perfectly fit the Starbucks straw
  • Incorporated Prof Ang’s suggestion of adding bumps to the wheel surfaces
  • Used Black Tough PLA for 3d printing material

<Version 2>

  • 2 parts, wheel and adapter, can be combined with screws
  • [Problem] The adapter needs to fit perfectly to the DC Motor… not working well
Wheel (Fusion 360 Mockup)
Adapter (Fusion 360 Mockup)
  • The final version of the wheel and the adapter fits the DC motors perfectly. 

Progress with Microphone Module

  • Professor Mang’s explanation:
    • The microphone takes the input as waves. The typical sound waves. 
  • The sound wave in our case is having a peak at 1024 (10-bit), so the default values might range somewhere close to the 500s.
  • In this case, when the sound level increases the wave’s amplitude increases, and we have to measure this change – which means that when I set the threshold, I have to make sure to check the positive and the negative changes. For example, if I set the threshold to be 150.0, I have to check for the difference both above and below 150.0
  • Secondly, the microphone has a good amount of sensitivity, which means that I have to check for the sampling as soon as possible instead of the 1 second or 0.5 seconds delay. 
  • The code is updated accordingly based on the inferences from above. (#Prof. Mang the savior)
  • The code has universal variables, hence we only have 1 place to change if we need to change the threshold or the standby time. The program has 2 modes where if it hears a sound (a change in sounds technically), it goes to the standby mode.

  • Other problems
    • [SOLVED] The program is always taking the first value to be a change. I think I’ll just ignore the first iteration. (11.09 / 11.55AM)
  • To work on:
    • Prof. Mang: Maybe use a potentiometer to change the sensitivity, because we do not know how the sensitivity requirements change once we are out in the desert. 
Categories: Fall 2022