WEEK 12 – Mechanical Machine Design
Group Assignment
Automatic Irrigation Elevator System for an Orchid Plant
This group assignment was developed at the Industrial FabLab UCuenca. The objective was to design and build a machine that integrates mechanism, actuation, automation, function, and user interface.
The machine designed by the group is an automatic irrigation elevator system. The system is intended to water an orchid plant by immersion. The plant pot remains static, while a water container moves vertically using a stepper motor connected to a lead screw mechanism.
The system uses the electronic resources developed in previous assignments, especially the PCB and networking/control logic from Week 11, humidity sensor input, and stepper motor output. The main controller is a XIAO ESP32-C3, connected to a humidity sensor, an A4988 stepper motor driver, and a 12 V stepper motor.
Final automatic irrigation elevator system developed at Industrial FabLab UCuenca.
1. Group Assignment Requirements
| Requirement | How It Was Addressed |
|---|---|
| Design a machine | The group designed an automatic irrigation elevator system for an orchid plant. |
| Include mechanism | The machine uses a lead screw mechanism connected to a moving water container. |
| Include actuation | A 12 V stepper motor actuates the vertical movement of the container. |
| Include automation | The XIAO ESP32-C3 reads a humidity sensor and activates the motor automatically. |
| Include function | The machine moves a water container to irrigate an orchid by immersion for approximately 5 minutes. |
| Include user interface | The system includes a basic control interface through the ESP32-C3 for monitoring and activation. |
| Build mechanical parts and operate manually | The structure was fabricated, assembled, and tested manually before automation. |
| Document group project | The full workflow, components, fabrication process, assembly, testing, and results were documented. |
| Document individual contribution | My contribution focused on electronics integration, PCB fabrication, sensor/motor logic, and documentation. |
2. Project Concept
The machine was designed as a functional prototype for automated orchid irrigation. Orchids often require controlled watering, and in this case the irrigation method is based on immersion. Instead of pouring water from above, the plant pot remains static and the water container moves upward until the pot is partially immersed.
The orchid pot is placed in a fixed position approximately 30 cm away from the initial position of the water container. When the humidity sensor detects that the plant requires water, the stepper motor activates the lead screw. The screw moves the container upward until the water reaches the plant pot. The container remains in that position for approximately 5 minutes, allowing irrigation by immersion. After this time, the system can lower the container again.
General diagram of the automatic irrigation elevator system.
3. System Function
| Stage | Description |
|---|---|
| Humidity detection | The humidity sensor measures the condition of the orchid substrate. |
| Signal processing | The XIAO ESP32-C3 compares the sensor value with a defined threshold. |
| Motor activation | If irrigation is required, the ESP32-C3 sends STEP and DIR signals to the A4988 driver. |
| Mechanical elevation | The stepper motor rotates the lead screw, lifting the water container. |
| Irrigation by immersion | The container remains elevated for around 5 minutes to water the orchid. |
| Return movement | After watering, the mechanism can lower the water container back to its initial position. |
4. Bill of Materials
| Category | Component / Material | Quantity | Function |
|---|---|---|---|
| Electronics | XIAO ESP32-C3 | 1 | Main microcontroller for sensing, control, and automation. |
| Electronics | Humidity sensor | 1 | Input device used to detect if the orchid needs water. |
| Electronics | A4988 stepper motor driver | 1 | Controls the 12 V stepper motor. |
| Electronics | 12 V stepper motor | 1 | Actuator that moves the lead screw mechanism. |
| Electronics | 12 V external power supply | 1 | Provides power for the stepper motor. |
| Electronics | Custom PCB | 1 | Integrates ESP32-C3, sensor, motor driver, and power connections. |
| Mechanism | Lead screw / worm screw | 1 | Transforms rotational motion into vertical movement. |
| Mechanism | Guides / support rods | As needed | Stabilize the vertical movement of the water container. |
| Structure | MDF 5 mm | As needed | Laser-cut structural support of the machine. |
| 3D Printing | Water container | 1 | Container that moves upward with water for immersion irrigation. |
| 3D Printing | Orchid pot / plant holder | 1 | Static support for the orchid plant. |
| Assembly | Screws, nuts, washers | As needed | Mechanical fastening of the structure and moving parts. |
| Assembly | Wires and connectors | As needed | Electrical connections between modules. |
5. Software Used
| Software | Use in the Project |
|---|---|
| Fusion 360 | General machine design, assembly visualization, mechanical modeling, and design validation. |
| Rhino | Parametric design and adjustment of geometric parts. |
| Slicer for Fusion 360 | Preparation of serialized MDF parts for laser cutting. |
| Ultimaker Cura | Slicing software used to prepare the 3D printed containers and pot parts. |
| Arduino IDE | Programming of the XIAO ESP32-C3 control board. |
| KiCad | PCB design for the electronics control board. |
6. Mechanical Design
The mechanical design was developed in Fusion 360. The main structure supports the static orchid pot and the moving water container. The lifting movement is generated by a stepper motor connected to a lead screw. As the screw rotates, the container moves vertically.
The machine was designed so that the orchid remains in a fixed position while the water container moves toward the plant. The approximate travel distance of the system is 30 cm. This distance allows the water container to reach the pot and perform irrigation by immersion.
Mechanical design of the irrigation elevator system in Fusion 360.
7. Mechanism: Lead Screw Elevator
The central mechanism of the machine is a lead screw elevator. The stepper motor rotates the screw, and the moving platform connected to the water container translates vertically.
This mechanism was selected because it provides controlled linear movement and allows the water container to move slowly and precisely. It also helps maintain the container in position during the 5-minute immersion stage.
| Mechanism Element | Function |
|---|---|
| Stepper motor | Provides controlled rotational movement. |
| Lead screw | Transforms motor rotation into vertical linear motion. |
| Moving platform | Supports the water container and moves with the screw. |
| Guides | Keep the container aligned during vertical movement. |
| Static frame | Supports the motor, screw, plant pot, and movement system. |
8. Manual Operation Test
Manual Mechanical Validation
- Assemble the MDF structural frame.
- Install the lead screw and guides.
- Attach the moving platform to the screw mechanism.
- Place the water container on the moving platform.
- Move the mechanism manually to verify alignment.
- Check if the container can travel approximately 30 cm.
- Verify that the orchid pot remains static and stable.
- Confirm that the container reaches the irrigation position.
9. Laser-Cut Structure
The structural support of the machine was fabricated using MDF of 5 mm thickness. The parts were designed parametrically in Rhino and prepared as serialized components using Slicer for Fusion 360. This allowed the group to create a structure that could be assembled from flat laser-cut parts.
The cutting process was performed using a 90 watt CO2 CNC laser machine. The laser-cut structure supports the mechanical system, the orchid pot, the moving water container, and the motor mechanism.
| Laser Cutting Element | Description |
|---|---|
| Material | 5 mm MDF. |
| Machine | 90 watt CO2 CNC laser cutter. |
| Design software | Rhino and Fusion 360. |
| Preparation software | Slicer for Fusion 360. |
| Purpose | Create the structural frame and serialized parts of the machine. |
10. 3D Printed Components
The water container and orchid pot components were fabricated using 3D printing. These parts were modeled according to the dimensions required by the irrigation mechanism and prepared for printing using Ultimaker Cura.
The printer used for this process was the FLSUN V400. This printer was used to fabricate the custom containers and supports required for the system.
| 3D Printed Part | Function |
|---|---|
| Water container | Holds the water used for orchid immersion irrigation. |
| Orchid pot | Holds the orchid plant in a static position. |
| Container support | Connects the water container to the moving platform. |
| Guiding or fixing parts | Assist with alignment and assembly of the mechanism. |
11. 3D Printing Process
3D Printing Workflow
- Design the container and pot components in Fusion 360.
- Export the models as STL files.
- Open the STL files in Ultimaker Cura.
- Orient the parts correctly on the build plate.
- Configure layer height, infill, supports, and print temperature.
- Slice the file and generate the G-code.
- Send the file to the FLSUN V400 printer.
- Print the parts.
- Remove supports if necessary.
- Test the fit of the printed parts in the machine assembly.
3D printed water container, pot, and support components.
12. Electronics and PCB
The electronic system was based on the same workflow used in previous assignments. The PCB was designed to integrate the humidity sensor input, the ESP32-C3 control board, and the output stage for the stepper motor through the A4988 driver.
The PCB was fabricated using the 90 watt fiber laser process. This process was used to remove copper and isolate the circuit traces. After engraving, the board was drilled, soldered, and tested before being integrated into the machine.
| Electronic Part | Role in the System |
|---|---|
| Humidity sensor | Input device that detects if the plant requires water. |
| XIAO ESP32-C3 | Reads the sensor, executes the logic, and controls the motor driver. |
| A4988 driver | Controls the 12 V stepper motor using STEP and DIR signals. |
| 12 V power supply | Provides motor power. |
| Custom PCB | Connects all the electronic elements in one board. |
13. PCB Fabrication Process
PCB Production Workflow
- Design the schematic in KiCad.
- Design the PCB layout.
- Export the traces and outline files.
- Prepare the copper board.
- Engrave the traces using the 90 watt fiber laser machine.
- Inspect trace isolation.
- Drill the holes for components and connectors.
- Solder the XIAO ESP32-C3 headers.
- Solder the A4988 driver headers.
- Solder the humidity sensor and motor connectors.
- Test continuity with a multimeter.
- Program the control board using Arduino IDE.
14. Automation Logic
The automation is based on the humidity sensor reading. When the sensor indicates that the orchid requires water, the ESP32-C3 activates the motor. The motor raises the water container until it reaches the irrigation position. The container stays in that position for around 5 minutes, allowing the orchid to be watered by immersion.
15. Arduino IDE Code
const int humidityPin = A0;
const int stepPin = 4;
const int dirPin = 5;
const int enablePin = 6;
int humidityValue = 0;
int humidityThreshold = 500;
unsigned long liftingTime = 10000;
unsigned long irrigationTime = 300000;
unsigned long loweringTime = 10000;
int stepDelay = 800;
void setup() {
Serial.begin(115200);
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enablePin, OUTPUT);
digitalWrite(enablePin, HIGH);
Serial.println("Week 12 - Automatic Irrigation Elevator System");
Serial.println("Industrial FabLab UCuenca");
}
void loop() {
humidityValue = analogRead(humidityPin);
Serial.print("Humidity value: ");
Serial.println(humidityValue);
if (humidityValue > humidityThreshold) {
Serial.println("Watering condition detected.");
Serial.println("Raising water container...");
moveMotor(liftingTime, HIGH);
Serial.println("Irrigation by immersion started.");
delay(irrigationTime);
Serial.println("Lowering water container...");
moveMotor(loweringTime, LOW);
Serial.println("Cycle completed.");
delay(5000);
}
delay(1000);
}
void moveMotor(unsigned long duration, int direction) {
unsigned long startTime = millis();
digitalWrite(enablePin, LOW);
digitalWrite(dirPin, direction);
while (millis() - startTime < duration) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(stepDelay);
digitalWrite(stepPin, LOW);
delayMicroseconds(stepDelay);
}
digitalWrite(enablePin, HIGH);
}
The values for humidity threshold, lifting time, lowering time, and irrigation time must be adjusted according to the final mechanical assembly and sensor readings.
16. User Interface
The system includes a simple user interface for monitoring and control. The interface allows the user to observe the sensor status and activate or stop the irrigation cycle. Since the ESP32-C3 has WiFi capability, the interface can be implemented as a basic web page hosted by the microcontroller, following the same networking logic developed in Week 11.
| Interface Element | Function |
|---|---|
| Humidity value display | Shows the current sensor reading. |
| System status | Displays if the machine is idle, lifting, irrigating, or lowering. |
| Manual start button | Allows the user to start the irrigation cycle manually. |
| Stop button | Allows the user to stop the machine if needed. |
| Time adjustment | Allows future adjustment of irrigation or motor movement time. |
Proposed user interface for monitoring and controlling the irrigation system.
17. Assembly Process
Machine Assembly Steps
- Laser cut the MDF structural parts.
- Assemble the main frame.
- Install the fixed orchid pot support.
- Install the lead screw and guides.
- Mount the stepper motor.
- Connect the motor shaft to the lead screw.
- Attach the water container to the moving platform.
- Install the 3D printed parts.
- Mount the PCB and electronics.
- Connect the humidity sensor.
- Connect the motor and 12 V power supply.
- Test the movement manually.
- Test the automated movement.
18. Testing and Validation
| Test | Expected Result |
|---|---|
| Manual movement test | The container moves vertically without obstruction. |
| Sensor test | The humidity sensor changes values according to moisture condition. |
| Motor test | The stepper motor rotates in both directions. |
| Elevator test | The lead screw raises and lowers the water container. |
| Irrigation position test | The container reaches the orchid pot after approximately 30 cm of travel. |
| Timing test | The container remains in irrigation position for approximately 5 minutes. |
| Automation test | The system activates when the humidity threshold is reached. |
Testing the irrigation position and immersion process.
19. Individual Contribution
My individual contribution to the group project focused on the integration of the electronic system and the documentation of the machine. I worked on connecting the logic of the previous assignments with the machine design requirements.
| Contribution Area | Tasks Completed |
|---|---|
| Electronics integration | Supported the connection of the XIAO ESP32-C3, humidity sensor, A4988 driver, and stepper motor. |
| PCB fabrication | Documented the PCB production process using the 90 watt fiber laser machine. |
| Automation logic | Helped define the sequence: sensor reading, motor activation, irrigation time, and return movement. |
| Testing | Supported manual and automated testing of the system. |
| Documentation | Organized the assignment documentation, tables, visual evidence, and process explanation. |
20. Download Files
The following files are available for downloading. They include the mechanical design, laser cutting files, 3D printing files, PCB files, and Arduino code.
21. Evidence List
| Evidence | Suggested Image Path |
|---|---|
| Final hero shot | images/w12/hero_shot.jpg |
| System diagram | images/w12/system_diagram.jpg |
| Fusion 360 design | images/w12/fusion360_design.jpg |
| Lead screw mechanism | images/w12/lead_screw_mechanism.jpg |
| Manual operation | images/w12/manual_operation.jpg |
| Rhino parametric design | images/w12/rhino_parametric_design.jpg |
| Laser cutting MDF | images/w12/laser_cutting_mdf.jpg |
| Cura slicing process | images/w12/cura_slicer.jpg |
| FLSUN V400 printing process | images/w12/flsun_v400_printing.jpg |
| Printed parts | images/w12/printed_parts.jpg |
| PCB design | images/w12/pcb_design.jpg |
| PCB fabrication with fiber laser | images/w12/fiber_laser_pcb.jpg |
| PCB drilling | images/w12/pcb_drilling.jpg |
| PCB soldering | images/w12/pcb_soldering.jpg |
| Frame assembly | images/w12/frame_assembly.jpg |
| Mechanism assembly | images/w12/mechanism_assembly.jpg |
| Sensor testing | images/w12/testing_sensor.jpg |
| Motor testing | images/w12/testing_motor.jpg |
| Irrigation testing | images/w12/testing_irrigation.jpg |
22. Problems and Solutions
| Problem | Possible Cause | Solution |
|---|---|---|
| The container did not move smoothly. | Misalignment between the lead screw, guides, and moving platform. | Adjust the guides, check the screw alignment, and test the movement manually. |
| The motor vibrated but did not move the mechanism. | Incorrect motor coil wiring or insufficient current adjustment on the A4988. | Identify the motor coils with a multimeter and adjust the driver current limit. |
| The structure moved during operation. | Insufficient mechanical stability or loose fasteners. | Tighten screws and reinforce the MDF frame. |
| The sensor readings were unstable. | Noise, poor contact, or humidity sensor calibration issue. | Check wiring, average sensor values in code, and adjust the threshold. |
| The container did not reach the correct height. | Motor time or number of steps was not calibrated. | Adjust the lifting time and test the 30 cm travel distance. |
| Watering time needed adjustment. | The orchid immersion time depends on the plant and container design. | Set the irrigation delay to approximately 5 minutes and adjust after testing. |
23. Results
The group successfully designed and built a machine that integrates mechanical structure, actuation, automation, function, and user interface. The machine was able to move a water container vertically using a stepper motor and lead screw mechanism.
The mechanical parts were fabricated using laser cutting and 3D printing. The MDF structure provided the main support, while the 3D printed parts were used for the water container, plant pot, and support elements.
The electronics combined a humidity sensor, XIAO ESP32-C3, A4988 driver, 12 V motor, and custom PCB. The system was designed to activate when the orchid requires water and perform irrigation by immersion for around 5 minutes.
24. Learning Outcomes
Through this group assignment, we learned how to:
- Design a machine with mechanism, actuation, automation, function, and user interface.
- Integrate input and output devices into a functional machine.
- Use a humidity sensor to trigger an automated response.
- Control a stepper motor with an A4988 driver.
- Design and fabricate a PCB for machine control.
- Use a lead screw mechanism for vertical movement.
- Design mechanical parts in Fusion 360.
- Use Rhino for parametric design.
- Prepare serialized MDF pieces with Slicer for Fusion 360.
- Fabricate structural components using a 90 watt CO2 laser cutter.
- Prepare and print 3D components with Ultimaker Cura and FLSUN V400.
- Test a machine manually before automation.
- Document both the group process and individual contribution.
25. Final Reflection
This assignment was important because it connected several Fab Academy skills into one integrated machine. The project included electronics production, input devices, output devices, mechanical design, 3D printing, laser cutting, programming, and system integration.
The automatic irrigation elevator system showed how a simple sensor reading can generate a physical action through a mechanical actuator. It also demonstrated that machine design requires coordination between structure, electronics, movement, and user interaction.
Working as a group at the Industrial FabLab UCuenca allowed us to divide tasks and combine different fabrication processes to build a functional prototype.
26. Conclusion
In conclusion, the group assignment was successfully completed by designing and building an automatic irrigation elevator system for an orchid plant. The machine includes a mechanical structure, a lead screw mechanism, stepper motor actuation, sensor-based automation, irrigation function, and a user interface concept.
The system was fabricated using MDF laser cutting, 3D printing, PCB production with fiber laser, and electronic assembly. The final prototype demonstrates how digital fabrication tools can be combined to create a machine capable of responding to environmental data and performing a useful physical task.