3-Axis Motion Controller with DRO – Simple, Intuitive UI (Arduino/STM32 or CNC Module Based)
Budget: $250 – $750 USD
Project Title:
3-Axis Motion Controller with DRO – Simple, Intuitive UI (Arduino/STM32 or CNC Module Based)
Looking for a simple, reliable 3-axis motion controller with a clean user interface — can be Arduino/MCU-based or built from off-the-shelf CNC/DRO components. The goal is a compact, intuitive system with clear position display for all axes, step/jog in fine/medium/coarse increments, Goto/offset moves, and soft limits — without complex programming or confusing menus.
Overview
This controller will be used in a lab environment.
The design must focus on clarity, simplicity, and reliability — not on complex CNC programming.
The interface must always show the position of each axis clearly and allow for straightforward movement commands.
I am open to two possible solution paths:
1. Arduino/microcontroller-based (STM32 Blue Pill preferred if suitable, otherwise any Arduino-compatible MCU).
2. Off-the-shelf CNC/DRO module integration (“Lego” approach).
Required Core Functions
1. Init – If not using absolute encoders: drive the axis to the end stop, then set zero with a predefined offset (set in firmware).
2. Set Zero – Long press to avoid accidental activation.
3. Goto/Offset Move –
- Goto: Move to a specific position (absolute).
- Offset: Move by a relative amount (e.g., +3 mm or -0.2 mm from current position).
4. Step/Jog – Move axis in selectable Fine, Medium, or Coarse steps.
5. Display – Always show the DRO for all three axes.
6. Soft Limits – Prevent overtravel.
Controls
- Axis selection: X / Y / Z (and possibly None for cancel).
- Fine/Medium/Coarse selector.
- Step forward/back: Two buttons, spring-toggle, jog dial, or similar.
- Set Zero: Long press.
- Goto/Offset input: PC-style numeric keypad or similar.
- Init button: Only if not using absolute encoders.
Note: Input display management is up to the freelancer to propose (e.g., cancel via button or by selecting “None” on axis selector).
Technical Requirements
- Travel range: Configurable in firmware; anywhere between 20 mm and 700 mm.
- Editable parameters: Step sizes, motor step angle, screw pitch, travel range.
- Limit stops:
- Not needed with absolute encoders.
- If no encoders: use limit switches placed before full travel to allow deceleration.
- Display: Backlit, minimum of 3 lines, clear and easy to read.
- Modular firmware: Easy to adapt to other hardware later.
- Absolute encoders: Preferred if cost-effective — freelancer should propose and justify whether they are recommended or not.
Deliverables
If Arduino/microcontroller-based:
- Firmware + source code (Arduino IDE or STM32 toolchain).
- Clearly commented parameters at top of code for easy reconfiguration.
- Wiring diagram and assembly instructions.
- PCB design for clean integration (JLCPCB-ready Gerbers, BOM).
- Video of system in operation.
If module-based:
- Complete BOM with purchase links.
- Wiring diagram or small PCB for clean integration.
- Video of full system operation.
Preferred Hardware Path (Option 1 – Arduino/MCU)
- STM32 Blue Pill preferred (I already have units with step-ups and accessories).
- If not suitable, any Arduino-compatible MCU is acceptable.
- Clean wiring or PCB for tidy assembly.
Alternative Hardware Path (Option 2 – CNC/DRO Modules)
- Use commercially available modules for DRO and control.
- Clean wiring harnesses or PCB for integration.
- Minimal configuration complexity for the end user.
Questions to Answer in Proposal
1. Do you recommend absolute encoders for this? Why or why not?
2. What display type do you propose?
3. How will Goto/offset input be handled and displayed?
4. Will your design require Init?
5. Will your design use soft limits and/or physical limit stops?
6. Estimated cost of key components.
Decision Guide – How I Will Select the Winning Proposal
I will choose the freelancer based on the following criteria:
1. Understanding of Requirements
- Proposal clearly reflects the key functions: Init (if needed), Set Zero, Goto/Offset, Step/Jog with fine/medium/coarse steps, clear DRO display for all axes, and soft limits.
- Proposal demonstrates awareness of the focus on simplicity, clarity, and clean design.
2. Technical Approach
- A practical, cost-effective, and reliable approach is described.
- For Arduino/MCU solutions: modular firmware with editable parameters at the top of the code.
- For CNC/DRO module solutions: clean integration plan with minimal end-user complexity.
- Clear explanation of whether absolute encoders are recommended, including cost and benefit considerations.
3. Hardware Proposal
- Hardware selection is appropriate for the range of travel and accuracy needed.
- If Arduino/MCU-based: preference given to designs that can use STM32 Blue Pill, but alternatives will be considered if justified.
- Display type and controls are suitable for a clear, easy-to-read interface.
4. Implementation Quality
- Clean wiring or PCB design for neat assembly.
- If PCB is proposed: JLCPCB-ready Gerbers and BOM must be provided.
- If wiring is used: should be well-organized (e.g., harness with DB connectors).
5. Deliverables Clarity
- All required deliverables are listed and explained in the proposal.
- Includes wiring diagrams, BOM, assembly instructions, firmware, and video demonstration of operation.
6. Cost and Availability
- Component cost estimates are provided.
- Components are available for purchase without long lead times.
7. Relevant Experience
- Prior work in motion control, DRO integration, CNC retrofitting, or similar projects.
- Ability to adapt off-the-shelf modules or microcontroller-based systems to meet specific UI requirements.
Timeline
- Component/module selection must be completed within 1 week of project start.
- Full project completion, including testing and delivery of all files, must be within 3 weeks of project start.
3-Axis Motion Controller with DRO – Simple, Intuitive UI (Arduino/STM32 or CNC Module Based)
Looking for a simple, reliable 3-axis motion controller with a clean user interface — can be Arduino/MCU-based or built from off-the-shelf CNC/DRO components. The goal is a compact, intuitive system with clear position display for all axes, step/jog in fine/medium/coarse increments, Goto/offset moves, and soft limits — without complex programming or confusing menus.
Overview
This controller will be used in a lab environment.
The design must focus on clarity, simplicity, and reliability — not on complex CNC programming.
The interface must always show the position of each axis clearly and allow for straightforward movement commands.
I am open to two possible solution paths:
1. Arduino/microcontroller-based (STM32 Blue Pill preferred if suitable, otherwise any Arduino-compatible MCU).
2. Off-the-shelf CNC/DRO module integration (“Lego” approach).
Required Core Functions
1. Init – If not using absolute encoders: drive the axis to the end stop, then set zero with a predefined offset (set in firmware).
2. Set Zero – Long press to avoid accidental activation.
3. Goto/Offset Move –
- Goto: Move to a specific position (absolute).
- Offset: Move by a relative amount (e.g., +3 mm or -0.2 mm from current position).
4. Step/Jog – Move axis in selectable Fine, Medium, or Coarse steps.
5. Display – Always show the DRO for all three axes.
6. Soft Limits – Prevent overtravel.
Controls
- Axis selection: X / Y / Z (and possibly None for cancel).
- Fine/Medium/Coarse selector.
- Step forward/back: Two buttons, spring-toggle, jog dial, or similar.
- Set Zero: Long press.
- Goto/Offset input: PC-style numeric keypad or similar.
- Init button: Only if not using absolute encoders.
Note: Input display management is up to the freelancer to propose (e.g., cancel via button or by selecting “None” on axis selector).
Technical Requirements
- Travel range: Configurable in firmware; anywhere between 20 mm and 700 mm.
- Editable parameters: Step sizes, motor step angle, screw pitch, travel range.
- Limit stops:
- Not needed with absolute encoders.
- If no encoders: use limit switches placed before full travel to allow deceleration.
- Display: Backlit, minimum of 3 lines, clear and easy to read.
- Modular firmware: Easy to adapt to other hardware later.
- Absolute encoders: Preferred if cost-effective — freelancer should propose and justify whether they are recommended or not.
Deliverables
If Arduino/microcontroller-based:
- Firmware + source code (Arduino IDE or STM32 toolchain).
- Clearly commented parameters at top of code for easy reconfiguration.
- Wiring diagram and assembly instructions.
- PCB design for clean integration (JLCPCB-ready Gerbers, BOM).
- Video of system in operation.
If module-based:
- Complete BOM with purchase links.
- Wiring diagram or small PCB for clean integration.
- Video of full system operation.
Preferred Hardware Path (Option 1 – Arduino/MCU)
- STM32 Blue Pill preferred (I already have units with step-ups and accessories).
- If not suitable, any Arduino-compatible MCU is acceptable.
- Clean wiring or PCB for tidy assembly.
Alternative Hardware Path (Option 2 – CNC/DRO Modules)
- Use commercially available modules for DRO and control.
- Clean wiring harnesses or PCB for integration.
- Minimal configuration complexity for the end user.
Questions to Answer in Proposal
1. Do you recommend absolute encoders for this? Why or why not?
2. What display type do you propose?
3. How will Goto/offset input be handled and displayed?
4. Will your design require Init?
5. Will your design use soft limits and/or physical limit stops?
6. Estimated cost of key components.
Decision Guide – How I Will Select the Winning Proposal
I will choose the freelancer based on the following criteria:
1. Understanding of Requirements
- Proposal clearly reflects the key functions: Init (if needed), Set Zero, Goto/Offset, Step/Jog with fine/medium/coarse steps, clear DRO display for all axes, and soft limits.
- Proposal demonstrates awareness of the focus on simplicity, clarity, and clean design.
2. Technical Approach
- A practical, cost-effective, and reliable approach is described.
- For Arduino/MCU solutions: modular firmware with editable parameters at the top of the code.
- For CNC/DRO module solutions: clean integration plan with minimal end-user complexity.
- Clear explanation of whether absolute encoders are recommended, including cost and benefit considerations.
3. Hardware Proposal
- Hardware selection is appropriate for the range of travel and accuracy needed.
- If Arduino/MCU-based: preference given to designs that can use STM32 Blue Pill, but alternatives will be considered if justified.
- Display type and controls are suitable for a clear, easy-to-read interface.
4. Implementation Quality
- Clean wiring or PCB design for neat assembly.
- If PCB is proposed: JLCPCB-ready Gerbers and BOM must be provided.
- If wiring is used: should be well-organized (e.g., harness with DB connectors).
5. Deliverables Clarity
- All required deliverables are listed and explained in the proposal.
- Includes wiring diagrams, BOM, assembly instructions, firmware, and video demonstration of operation.
6. Cost and Availability
- Component cost estimates are provided.
- Components are available for purchase without long lead times.
7. Relevant Experience
- Prior work in motion control, DRO integration, CNC retrofitting, or similar projects.
- Ability to adapt off-the-shelf modules or microcontroller-based systems to meet specific UI requirements.
Timeline
- Component/module selection must be completed within 1 week of project start.
- Full project completion, including testing and delivery of all files, must be within 3 weeks of project start.
Related categories:
Microcontroller
PCB Layout
Arduino
Motor Control
STM32
CNC Machine Retrofitting
CNC Accessories