Week 12
Mechanical Design / Machine Design
Individual contribution to the group machine: electronics, programming, sensor testing, motor control, debugging, and system integration.
1. Checklist
- ✅ Linked to the group assignment page
- ✅ Documented my individual contribution to the machine
- ✅ Clarified my specific individual tasks inside the group project
- ✅ Contributed to the electronics and programming of the machine
- ✅ Checked voltages and electrical connections
- ✅ Verified PCB continuity using a multimeter
- ✅ Identified and corrected continuity problems on the Fab XIAO PCB
- ✅ Tested sensors individually before integration
- ✅ Corrected the voltage divider problem on sensor 2
- ✅ Tested the motor and motor driver before full integration
- ✅ Integrated sensors, motor, driver, and control logic
- ✅ Included video evidence of a system test with the conveyor belt and sensors
- ✅ Included the required presentation slide reference
- ✅ Reflected on the importance of combining mechanical, electronic, and programming systems
2. Group Assignment
This assignment was developed as a group machine project. The main objective was to design, build, actuate, and automate a machine that included a mechanism, moving parts, sensors, electronics, programming, and a final functional test.
The complete group documentation includes the mechanical design, machine assembly, actuation system, automation process, slide, video, and final machine test. My individual contribution focused mainly on the electronic and programming side of the system.
3. Slides and Video
As part of the Mechanical Design / Machine Design assignment, the group prepared a presentation slide and a video to communicate the machine concept, development process, mechanism, actuation, automation, and final test. These elements are important because this assignment requires not only written documentation, but also a concise visual explanation of the machine.
I included the slide reference and the machine test video in this individual page so the required presentation material can be found easily from my documentation.
4. Assignment Context
The Mechanical Design and Machine Design assignments required us to work as a team to create a functional machine. This means that the project was not only about designing mechanical parts, but also about making the machine move, sense, react, and perform an automated sequence.
In this type of assignment, the mechanical structure and the electronic system must work together. The mechanical design defines how the machine moves, while the electronics and programming define how the machine detects objects, controls actuators, and responds to different conditions.
My main role was to support the machine by working on the electronics, checking the electrical behavior, verifying PCB connections, programming the control logic, testing sensors, testing the motor driver, and helping integrate the electronic system with the conveyor mechanism.
5. My Individual Contribution
My strongest contribution during this assignment was related to electronics and programming. I helped the group review voltage levels, electrical connections, continuity, sensor behavior, motor driver operation, and the logic needed to automate the machine.
Before integrating everything into the final machine, we tested each part separately. This was important because it allowed us to detect problems before combining the sensors, PCB, motor, motor driver, conveyor belt, and program into one complete system.
| Area | My contribution | Purpose |
|---|---|---|
| Electronics | Checked voltages, currents, power connections, and common GND | To make sure the components operated safely |
| PCB verification | Checked continuity and pin connections using a multimeter | To confirm that the board was electrically correct |
| PCB debugging | Detected that two Fab XIAO PCB pins did not have continuity | To identify why the board was not responding correctly |
| PCB repair | Supported the resoldering process and verified all required pins again | To make sure the PCB was ready for programming and testing |
| Sensor testing | Tested the sensors individually and checked their behavior | To understand the activation range and signal stability |
| Sensor 2 correction | Identified a wrong voltage divider and replaced the resistors | To make sensor 2 work correctly |
| Motor testing | Tested the motor and motor driver separately | To verify movement, power, direction, and actuation |
| Programming | Uploaded test programs and developed the control logic | To automate the machine behavior |
| Integration | Combined sensors, motor driver, motor, PCB, and code | To make the complete machine operate as one system |
| Team support | Shared electronic information with the group | To help integrate the electronics with the mechanical design |
6. My Specific Individual Tasks
To make my personal contribution clearer, this section summarizes the specific tasks that I developed during the group machine project. My main responsibility was the electronic and programming side of the machine, while also supporting the integration with the mechanical system.
| Task | What I did personally | Result |
|---|---|---|
| Electronic review | I reviewed voltage levels, current requirements, power supply connections, common GND, sensor connections, and motor driver wiring. | This helped the group connect the electronic system safely before testing the machine. |
| PCB continuity check | I used a multimeter to verify continuity between the Fab XIAO pins, traces, connectors, power lines, and GND. | We detected that two pins on the Fab XIAO PCB did not have continuity. |
| PCB repair verification | After finding the continuity problem, the PCB was soldered again. Then I checked all the required pins with the multimeter. | The board was verified and ready for programming and integration. |
| Sensor 2 voltage divider correction | I helped identify that the voltage divider for sensor 2 was not correct. We replaced the resistors and checked the cable connections. | Sensor 2 started working correctly after replacing the resistors and verifying the wiring. |
| Programming tests | I uploaded test programs, used the Serial Monitor, verified sensor states, and adjusted the control logic step by step. | The machine behavior could be debugged before running the complete system. |
| Sensor and motor integration | I connected the sensor readings with the motor control logic so the motor could react according to object detection. | The machine started to behave as an automated system instead of only separate components. |
| Complete system test | I participated in the complete test of the conveyor belt with sensors, electronics, and programming. During this test, I was working from the computer, programming and checking the behavior of the system. | The group could evaluate the machine as a complete integrated system. |
7. Video Evidence of My Contribution
The following video shows one of the tests of the complete system. In this test, the conveyor belt, sensors, electronics, and programming were being evaluated together. This video is important evidence of my individual contribution because my work during the test was focused on programming, checking the system behavior from the computer, and supporting the electronic integration.
8. Electronic System Review
One of the first tasks was to review the electronic system that would be used to actuate and automate the machine. This included identifying voltage levels, current needs, sensor connections, communication pins, motor driver inputs, power supply requirements, and common ground.
Checking these values before connecting everything was important because incorrect voltage, current, or wiring can damage components or prevent the machine from working correctly. For example, a motor cannot be powered directly from a microcontroller pin, so a motor driver is required.
| Element checked | Reason | Result / Importance |
|---|---|---|
| Voltage levels | To confirm the operating voltage of sensors, motor, and driver | Prevents overvoltage or insufficient power |
| Current consumption | To understand how much current the motor and electronics need | Helps select a proper power supply and avoid resets |
| PCB continuity | To verify that the board traces were connected correctly | Reduces wiring and soldering errors |
| Pin assignment | To know which pins control sensors, motor, and communication | Allows the code to match the hardware |
| TX and RX pins | To avoid communication errors or incorrect wiring | Improves reliability when using serial communication |
| Motor driver connection | To connect control pins, motor output, power, and ground correctly | Allows the motor to be actuated safely |
9. Datasheet Review
Reviewing datasheets was an important step before connecting and programming the machine. Datasheets provide the technical information needed to understand how a component should be powered, connected, and controlled.
For the electronic part of the machine, the datasheets helped us identify voltage ranges, current limitations, pin behavior, communication type, motor driver logic, sensor response, and safe operating conditions.
| Datasheet information | Why it matters | Application in the machine |
|---|---|---|
| Operating voltage | Prevents powering a component with the wrong voltage | Used to check the sensors, motor driver, and controller |
| Maximum current | Prevents overheating or damaging the component | Used to evaluate the motor and power supply |
| Pinout | Shows how each pin should be connected | Used to define the wiring and program pin numbers |
| Communication type | Defines whether the component uses digital, analog, serial, I2C, SPI, etc. | Used to understand how sensors or modules communicate |
| Logic level | Defines what voltage is recognized as HIGH or LOW | Used to avoid compatibility problems with the microcontroller |
| Mechanical limits | Defines physical or operational limits | Used to avoid forcing the motor or conveyor system |
10. PCB and Connection Testing
Before uploading the final program, we checked the physical PCB and its electrical connections. Continuity testing was important to make sure that the traces, solder joints, and pin connections were correct.
During this process, we found that two pins of the Fab XIAO PCB did not have continuity. This explained why some parts of the system were not responding correctly. After detecting the problem with the multimeter, the PCB was soldered again. Then, all required pins were checked again to confirm that continuity was restored before programming.
- Checked continuity between the microcontroller pins and the external connectors.
- Verified that GND connections were common across the system.
- Confirmed that power lines were connected to the correct input points.
- Checked that the sensor pins matched the program logic.
- Verified the motor driver input pins and output connections.
- Detected two Fab XIAO pins without continuity.
- Resoldered the PCB and verified the corrected pins again.
- Confirmed that there were no visible solder bridges or incorrect traces.
11. Sensor 2 Voltage Divider Correction
Another important problem appeared with sensor 2. The sensor was not working correctly because the voltage divider was not properly configured. This was important because the sensor signal had to enter the microcontroller safely and with a usable voltage level.
To solve this problem, we replaced the resistors of the voltage divider and checked the cable connections again. After correcting the resistor values and verifying the wiring, sensor 2 started working correctly.
| Problem | Action | Result |
|---|---|---|
| Sensor 2 was not reading correctly | Checked the sensor wiring and voltage divider | The voltage divider was identified as the main problem |
| Incorrect voltage divider | Replaced the resistors | The signal level became suitable for the board |
| Possible cable connection issue | Verified the sensor cable connections | The sensor worked correctly after the correction |
12. Programming Process
The programming process was done step by step. Instead of programming the complete machine at once, we tested each part individually. This made it easier to identify problems and confirm that each component worked before integration.
First, the board upload and Serial Monitor were tested. Then, the sensors were tested one by one. After that, the motor and driver were tested separately. Finally, the sensor readings and motor control were integrated into one logic sequence for the machine.
| Programming stage | What was tested | Purpose |
|---|---|---|
| Stage 1 | Serial communication and board upload | Confirm that the board was detected and programmable |
| Stage 2 | Sensor 1 test | Verify sensor reading and activation behavior |
| Stage 3 | Sensor 2 test | Check detection distance and stability after correcting the voltage divider |
| Stage 4 | Motor driver test | Confirm motor direction, speed, and power response |
| Stage 5 | Sensor + motor integration | Make the motor react to sensor detection |
| Stage 6 | Complete machine logic | Automate the final machine process |
13. Programming and Upload Considerations
During programming, several practical details were important. Selecting the correct board and port in the Arduino IDE avoided upload errors. Also, using a good USB cable was necessary because some cables only provide power and do not transmit data.
It was also important to make sure that the board was completely connected and recognized by the computer before uploading the program. If the USB connection was unstable, the upload could fail or the Serial Monitor could stop responding.
- Select the correct board in the Arduino IDE.
- Select the correct serial port before uploading.
- Use a USB cable that supports data, not only charging.
- Check that the board is fully connected before programming.
- Open the Serial Monitor at the correct baud rate.
- Use serial messages to debug the machine behavior.
- Check TX and RX pins carefully if serial communication is used.
- Avoid incorrect TX/RX connections that could create communication problems.
14. Motor Driver and Actuation
The motor was one of the most important parts of the machine because it generated the movement needed for the conveyor mechanism. Since motors require more current than microcontroller pins can provide, a motor driver was necessary.
The motor driver works as an interface between the microcontroller and the motor. The microcontroller sends control signals to the driver, and the driver provides the required current and voltage to move the motor.
During testing, we observed that the conveyor belt made of rubber generated friction. With a 5 V supply, the motor did not always have enough force to start moving the conveyor. This showed the importance of testing the real mechanical load, not only the motor by itself.
| Motor system issue | Cause | Learning |
|---|---|---|
| Motor did not start easily | Rubber conveyor belt generated friction | The mechanical load affects the electrical requirements |
| 5 V was not enough in some conditions | Initial torque demand was higher than expected | Voltage and current must be tested with the final mechanism |
| Driver connection required careful checking | Motor power and logic power are different parts of the circuit | The driver must be wired correctly with common ground |
| Movement depended on mechanical alignment | Friction and belt tension changed the load | Electronics and mechanics must be adjusted together |
15. Sensor Testing
The sensors were tested individually before being integrated with the motor. This was necessary to understand the distance at which the sensor detected an object and how stable the readings were.
The sensor distance was important because the motor needed to activate or stop depending on the position of the object. If the sensor was too far, too close, or not aligned correctly, the machine could fail to detect the object at the correct moment.
- Each sensor was tested separately before integration.
- The detection distance was checked with real objects.
- The sensor position was adjusted according to the mechanical path.
- Sensor 2 was corrected by replacing the voltage divider resistors.
- The cable connections were verified after the resistor replacement.
- The motor behavior was tested according to sensor activation.
- The final position of the sensors depended on both code and mechanics.
16. Integration Between Mechanics and Electronics
The most important part of this assignment was integrating the mechanical system with the electronic and programming systems. A machine is not only a mechanical structure and not only a circuit; it is the combination of movement, sensing, actuation, and control.
During the integration, we shared electronic information with the rest of the group so that the mechanical design could be adjusted according to the real behavior of the sensors and motor. This helped the group understand how the position of components, conveyor friction, sensor distance, and cable routing affected the final result.
The integration process showed that machine design requires constant communication between mechanical design, electronics, and programming. A small change in the mechanical structure can affect the motor load, sensor detection, or wiring.
| System | Integration requirement | Why it was important |
|---|---|---|
| Mechanical structure | Correct alignment and stable movement | Reduces friction and improves machine reliability |
| Conveyor belt | Proper tension and motor power | Too much friction prevents the motor from starting |
| Sensors | Correct distance and position | Allows the machine to detect objects at the right moment |
| Motor driver | Correct power and control wiring | Protects the microcontroller and drives the motor safely |
| Programming | Logical sequence for sensing and actuation | Coordinates the behavior of the complete machine |
7. Problems and Fixes
During the machine development, several technical issues appeared. These problems were solved by testing the system step by step and separating the electronic, programming, and mechanical causes.
| Problem | Possible cause | Fix / Action |
|---|---|---|
| Upload errors | Wrong port, wrong board, or bad USB cable | Checked the selected port, selected the correct board, and used a data USB cable |
| Communication issues | TX/RX pins not verified or unstable connection | Reviewed pin connections and avoided incorrect wiring |
| Motor did not start with the conveyor | Friction from the rubber belt and insufficient torque | Checked voltage, motor behavior, and mechanical friction |
| Sensor did not activate correctly | Incorrect distance or alignment | Adjusted sensor position and tested with real objects |
| Two Fab XIAO PCB pins had no continuity | Incomplete soldering or connection problem on the PCB | Detected the issue with a multimeter, soldered the PCB again, and verified continuity on all required pins |
| Sensor 2 did not work correctly | Incorrect voltage divider and wiring that affected the sensor signal | Replaced the resistors, checked the cable connections, and tested the sensor again until it worked correctly |
| Integration errors | Testing all components together too early | Tested sensors, motor, and driver individually before integration |
| Unclear wiring during assembly | Pin mapping not fully identified | Created and shared electronic connection information with the group |
18. My Role in the Group
My role was mainly related to electronics and programming. I helped the group understand how the electronic system had to be connected, powered, and programmed so that the mechanical structure could become an automated machine.
I also helped transmit the electronic information to the rest of the team. This was important because the mechanical parts, sensor positions, actuator placement, and cable routing depended on the electronic behavior of the machine.
- Reviewed electrical connections and power requirements.
- Checked voltages and continuity on the PCB.
- Detected missing continuity on two Fab XIAO pins.
- Verified the PCB again after resoldering.
- Identified the pins used for sensors and motor control.
- Tested sensors individually.
- Corrected the voltage divider of sensor 2.
- Tested the motor and motor driver.
- Integrated the sensor logic with the motor behavior.
- Supported the group during the machine integration process.
- Helped connect the mechanical behavior with the electronic control system.
19. Reflection
- This assignment helped me understand that building a machine requires more than designing mechanical parts. The electronics, programming, and mechanical structure must work together as one system.
- Reviewing datasheets was essential because they provide important information such as voltage, current, pinout, communication type, and operating limits. Without this information, it is easy to damage a component or connect it incorrectly.
- I learned that checking voltage and current is necessary before integrating components. A motor, sensor, and controller can have different electrical requirements, and these must be respected.
- Selecting the correct board and serial port in the Arduino IDE is very important. A wrong port or board selection can create upload errors even if the code is correct.
- A good USB cable is also important. Some cables only provide power and do not transmit data, which can cause programming or communication problems.
- Checking TX and RX connections is important when using serial communication. If these pins are connected incorrectly, the system may not communicate or may behave unpredictably.
- I learned that motor drivers are necessary when controlling motors because a microcontroller pin cannot provide the current needed by a motor. The driver protects the microcontroller and handles the motor power side.
- The conveyor belt showed that mechanical friction directly affects the electrical system. With a rubber belt, the motor required more torque, and a 5 V supply was not always enough to start the movement correctly.
- Sensor placement is critical. The detection distance and alignment must match the physical path of the object; otherwise, the motor may activate or stop at the wrong time.
- Testing each sensor individually before integration made the process easier. It allowed us to identify if a problem came from the sensor, the code, the wiring, or the mechanical position.
- Testing the motor separately was also important because it helped us understand its real behavior before connecting it to the complete machine.
- The integration process showed the importance of communication inside the team. The mechanical team needed electronic information to place the components correctly, and the electronics side depended on the mechanical design to work properly.
- I learned that a machine is an interdisciplinary system. Programming, electronics, mechanics, power, and physical movement must be considered together.
- This assignment was important because it simulated a real engineering process: testing, debugging, integrating, failing, adjusting, and testing again until the machine worked.
- The PCB continuity problem showed me why it is important to test a board electrically before assuming that the code is wrong. In this case, two Fab XIAO pins were not connected correctly, and the solution was to resolder and verify the board again.
- The sensor 2 problem helped me understand the importance of voltage dividers. If the resistor values or connections are not correct, the sensor signal can be wrong even if the program is correct.
- The complete conveyor test showed that debugging a machine requires observing the code, electronics, and mechanical movement at the same time.
- Overall, this work helped me understand how to contribute to a group machine project by focusing on the electronic and programming systems while coordinating with the mechanical design process.