Customization
Expand and enhance your Fabrica robot with custom modifications
Adding More Panels
Scaling Up to 8 Panels
The base 4-panel design can be extended to 8 panels for more complex folding patterns.
Hardware Required:
- • 4× Additional servo motors (SG90 or MG90S)
- • 4× Additional folding panels (3D printed)
- • 4× Additional servo mount brackets
- • 8× Additional hinge pin holders
- • 4× Hinge pins (M3×30mm smooth rods)
- • Extension to base frame (print extended_base.stl)
Software Configuration:
# Edit config.py
NUM_PANELS = 8 # Change from 4
# Add servo limits for new servos
SERVO_LIMITS = {
0: {"min": 10, "max": 170, "home": 90},
1: {"min": 15, "max": 165, "home": 90},
2: {"min": 10, "max": 175, "home": 90},
3: {"min": 20, "max": 160, "home": 90},
# New servos:
4: {"min": 10, "max": 170, "home": 90},
5: {"min": 10, "max": 170, "home": 90},
6: {"min": 10, "max": 170, "home": 90},
7: {"min": 10, "max": 170, "home": 90},
}Note: The PCA9685 supports up to 16 servos. You can expand to 16 panels by adding more sections and extending the power supply.
Panel Layout Configurations
Linear Configuration (Default)
[1] ═══ [2] ═══ [3] ═══ [4] ═══ [5] ═══ [6] ═══ [7] ═══ [8] Best for: Long items (towels, pants, scarves)
Grid Configuration (Advanced)
[1] ═══ [2] ║ ║ [3] ═══ [4] ║ ║ [5] ═══ [6] ║ ║ [7] ═══ [8] Best for: Complex folds, larger garments, quilts
Cross Configuration
[1]
║
[2] ═══ [3] ═══ [4]
║
[5]
Best for: Centered folds, shirts, t-shirtsAdding Sensors
Fabric Detection Sensor
Add an IR proximity sensor to detect if fabric is present before folding.
Hardware:
- • IR proximity sensor (e.g., TCRT5000)
- • 3 wires (VCC, GND, Signal)
- • Connect to GP2 on Pico
Software:
from machine import Pin
fabric_sensor = Pin(2, Pin.IN)
def check_fabric():
if fabric_sensor.value() == 1:
print("Fabric detected")
return True
else:
print("No fabric")
return FalseLoad Sensing (Weight Detection)
Add load cells to measure garment weight and adjust folding speed accordingly.
Hardware:
- • 1kg load cell
- • HX711 ADC module
- • Connect DT→GP3, SCK→GP4
Library:
# Install hx711 library
mpremote mip install hx711
# Use in code
from hx711 import HX711
scale = HX711(3, 4) # DT, SCK
weight = scale.read()
print(f"Weight: {weight}g")Push Buttons for Manual Control
Add physical buttons for start, stop, and mode selection.
from machine import Pin
# Connect buttons to GP pins with pull-up resistors
btn_start = Pin(5, Pin.IN, Pin.PULL_UP)
btn_stop = Pin(6, Pin.IN, Pin.PULL_UP)
btn_mode = Pin(7, Pin.IN, Pin.PULL_UP)
# Button press detection
if btn_start.value() == 0: # Button pressed (active low)
print("Start button pressed")
sm.play_sequence()
if btn_stop.value() == 0:
print("Stop button pressed")
sm.stop_sequence()
if btn_mode.value() == 0:
print("Mode button pressed")
sm.cycle_mode() # Switch between sequencesAdvanced Features
Wi-Fi Control
Control your robot wirelessly using the Pico 2W's built-in Wi-Fi.
# web_interface.py
import network
import socket
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('SSID', 'password')
# Create simple web server
# Access via http://192.168.x.x
# Control sequences from phone/tabletOLED Display
Add a 0.96" OLED display for status information.
# Install ssd1306 library
mpremote mip install ssd1306
from machine import I2C
from ssd1306 import SSD1306_I2C
i2c = I2C(1, scl=Pin(27), sda=Pin(26))
oled = SSD1306_I2C(128, 64, i2c)
oled.text('Fabrica Robot', 0, 0)
oled.text('Ready', 0, 20)
oled.show()Voice Control
Integrate with Google Assistant or Alexa via IFTTT.
- • Set up IFTTT webhook on Pico web server
- • Create voice command: "Hey Google, fold my t-shirt"
- • IFTTT triggers sequence via HTTP request
- • Robot executes selected folding pattern
Camera Vision (Raspberry Pi)
Add a Raspberry Pi with camera for garment recognition.
- • Use Raspberry Pi 4 or Zero 2W
- • Pi Camera Module v2 or v3
- • OpenCV for garment classification
- • Automatically select correct sequence
Motorized Base
Mount robot on a rotating base for 360° folding.
- • NEMA 17 stepper motor
- • A4988 stepper driver
- • Lazy Susan bearing for rotation
- • Enables multi-angle folding patterns
Conveyor Integration
Build a feeding system for continuous operation.
- • Simple belt conveyor with DC motor
- • Fabric sensor triggers folding cycle
- • Output conveyor for folded items
- • Automate laundry folding workflow
Custom Panel Designs
Modify Panel Dimensions
Adjust panel size for different garment types:
Small Panels
150mm × 200mm
For: Baby clothes, handkerchiefs, small towels
Standard Panels
200mm × 300mm (default)
For: T-shirts, dress shirts, most clothing
Large Panels
300mm × 400mm
For: Bath towels, blankets, bed sheets
Edit in CAD Software
Source files available in STEP and Fusion 360 formats. Modify dimensions and re-export to STL.
- • Download source files from GitHub
- • Open in Fusion 360, FreeCAD, or Onshape
- • Modify parameters (length, width, thickness)
- • Export to STL and print
Community Modifications
Share Your Mods!
The Fabrica community has created amazing modifications. Check out these resources:
Need Help Troubleshooting?
If you encounter any issues during or after customization, check the troubleshooting guide for common problems and solutions.