Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ CANBUS-Stepper

ESP32-S3 Based Closed-Loop CAN Bus Stepper Motor Driver Board

Development StatusOverviewHardware FeaturesPCB PreviewSponsorshipLicense


🚧 Development Status

Warning

Work In Progress (WIP): This project is currently in active schematic design & PCB layout stage. The board has NOT yet been physically manufactured or field-tested. The schematics and component placements may undergo further design revisions before initial prototype batch production and physical hardware validation.


📌 Overview

CANBUS-Stepper is an open-source, high-performance smart stepper motor driver board built around the ESP32-S3 microcontroller. Designed specifically for 3D printer toolheads, robotic actuators, and CNC automation, this board integrates a native CAN Bus transceiver (TCAN1051V), magnetic position encoder feedback (AS5600), power regulation (TI LMR33630 36V/3A buck converter), and stepper motor driving into a compact NEMA 17 footprint.


🛠️ Hardware Features

  • Microcontroller: ESP32-S3 (Dual-core Xtensa LX7 @ 240MHz, Native USB 2.0, TWAI / CAN Bus support).
  • CAN Bus Transceiver: TCAN1051VDRBRQ1 5V CAN FD Transceiver with 3.3V $V_{IO}$ logic interface (VSON-8 3mm x 3mm).
  • Power Management: TI LMR33630CRNXR High-efficiency 3.8V–36V / 3A step-down buck converter (VQFN-12 2mm x 3mm).
  • Reverse Polarity Protection: Alpha & Omega AON7407 -30V/-30A P-Channel MOSFET (DFN 3mm x 3mm).
  • Position Feedback: AS5600 Magnetic Rotary Encoder (I2C interface) for accurate absolute angle sensing and closed-loop control.
  • Connectivity & I/O:
    • USB Type-C receptacle for programming, flashing, and serial debugging.
    • Molex Micro-Fit 3.0 & JST connectors for CAN Bus power/data and motor phase outputs.
    • SPDT Slide switches for boot mode and power control.

🖼️ PCB & Hardware Preview

CANBUS-Stepper PCB Top Side    CANBUS-Stepper PCB Bottom Side
Figure 1: CANBUS-Stepper PCB Component Layout Preview — Top Side (Left) & Bottom Side (Right)


💖 Sponsorship & Support

To bring this open-hardware project from design files to physical prototype boards, test hardware, and community adoption, sponsorship and hardware support are warmly welcomed!

If you are a PCB manufacturing house, component supplier, or individual backer interested in supporting:

  • 🛠️ Prototype PCB Fabrication & Assembly (PCBA)
  • 🧪 Component Sourcing & Hardware Testing
  • Developer Contributions & Project Funding

Please feel free to reach out, open an issue, or sponsor through GitHub Sponsors. Your support directly accelerates physical prototyping and open-source hardware validation!


📁 Repository Structure

CANBUS-Stepper/
├── README.md                      # Main project documentation
├── LICENSE                        # Creative Commons CC BY-NC-SA 4.0 License
├── .gitignore                     # Git ignore rules for KiCad and build outputs
├── docs/
│   └── assets/                    # Board renders, diagrams, and documentation assets
├── pcb/                           # KiCad PCB Hardware Design Files
│   ├── canbus-stepper.kicad_pro   # KiCad Project file
│   ├── canbus-stepper.kicad_sch   # Schematic diagram
│   ├── canbus-stepper.kicad_pcb   # PCB Layout
│   ├── sym-lib-table              # Symbol library table
│   ├── fp-lib-table               # Footprint library table
│   ├── *.kicad_sym                # Custom symbol libraries (AS5600, TCAN1051V, LMR33630, AON7407, etc.)
│   ├── CANBUS-Stepper.pretty/     # Custom footprint library
│   ├── 3dmodels/                  # Component 3D STEP models for KiCad rendering
│   └── bom/                       # Bill of Materials & Interactive HTML iBOM (ibom.html)
├── firmware/                      # ESP32-S3 Stepper Driver Firmware
│   └── README.md                  # Firmware architecture & CAN bus protocol roadmap
└── step/                          # Board 3D CAD STEP Files
    └── README.md                  # Exported overall PCB 3D STEP model for mechanical integration

🔧 Getting Started

Opening the PCB Project in KiCad

  1. Download and install KiCad 7.0 or later.
  2. Clone this repository:
    git clone https://github.com/omrfrkmll/CANBUS-Stepper.git
    cd CANBUS-Stepper
  3. Open pcb/canbus-stepper.kicad_pro inside KiCad.
  4. To view the Interactive Bill of Materials, open pcb/bom/ibom.html in any web browser.

📜 Firmware Roadmap

Firmware development for the ESP32-S3 is structured under firmware/. Key roadmap milestones include:

  • TWAI CAN Bus Protocol: Standardized command set for motor movement, status telemetry, and configuration.
  • Closed-Loop Control: AS5600 encoder feedback loop for stall detection and precise step regulation.

⚖️ License & Commercial Use

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

👥 For Individual & Educational Users (Bireysel ve Eğitimsel Kullanım)

  • 100% Free and Open: You are free to view, modify, build, and use this hardware design and code for personal projects, research, education, and non-commercial applications.

🏢 For Commercial Use & Manufacturing (Ticari Kullanım ve Üretim)

  • Commercial Restriction: Producing, selling, or deriving commercial products from this design without explicit written authorization from the copyright holder is strictly prohibited.
  • Dual Licensing: If you wish to manufacture, integrate, or sell boards based on this design commercially, please contact the repository owner to obtain a commercial license.

About

ESP32-S2 powered closed-loop CAN Bus stepper motor driver board (KiCad PCB design & Open Hardware)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages