https://github.com/aaronjs99/mechaxy
mechaXY: Bluetooth-Controlled XY Precision Stage
https://github.com/aaronjs99/mechaxy
bluetooth embedded-systems esp32 firmware iot-hardware mechatronics mobile-app pcb-design precision-motion xy-stage
Last synced: about 1 month ago
JSON representation
mechaXY: Bluetooth-Controlled XY Precision Stage
- Host: GitHub
- URL: https://github.com/aaronjs99/mechaxy
- Owner: aaronjs99
- License: mit
- Created: 2019-12-24T11:49:06.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-07-30T11:04:26.000Z (10 months ago)
- Last Synced: 2025-09-08T22:25:26.779Z (9 months ago)
- Topics: bluetooth, embedded-systems, esp32, firmware, iot-hardware, mechatronics, mobile-app, pcb-design, precision-motion, xy-stage
- Language: C++
- Homepage:
- Size: 72 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mechaXY: Bluetooth-Controlled XY Precision Stage
## Overview
**mechaXY** is a Bluetooth-controlled XY precision stage built using stepper motors and an ESP32 microcontroller. Users send position commands from a custom Android app, and the stage responds by precisely actuating two axes of motion. Designed as part of ME6102 (Design of Mechatronic Systems) at IIT Bombay.
> Developed by [Aaron John Sabu](https://github.com/aaronjs99) and [Radhik Rammohan](https://github.com/radhikrammohan) in 2019.
## Features
- Wireless XY motion via Bluetooth
- ESP32-based control firmware
- Android app built with MIT App Inventor
- Stepper motor drivers with directional control
- Perfboard prototype with full schematic (Fritzing)
- Demo videos of full-stage operation
## Directory Structure
```
.
├── app/ # Android app build + BLE extension
│ ├── controller.aia
│ ├── controller_API_26.apk
│ ├── controller_API_28.apk
│ └── ble_extension/
│ └── edu.mit.appinventor.ble.aix
│
├── firmware/ # ESP32 firmware (Arduino-style)
│ └── main.ino
│
├── hardware/ # Circuit and mechanical design
│ ├── board/
│ │ └── board.fzz
│ ├── flowchart/
│ │ └── flowchart.rap
│ └── images/
│ ├── electrical.jpg
│ └── mechanical.jpg
│
├── results/ # Demos of system in action
│ └── demos/
│ ├── final_demo.mp4
│ └── stepper_motors.mp4
│
├── LICENSE
└── README.md
```
## Demo
Watch demo videos in [`results/demos`](results/demos).
## Hardware Overview
- **Microcontroller**: ESP32 Dev Module
- **Motor Drivers**: A4988 / DRV8825
- **Motors**: Bipolar Stepper Motors (e.g. NEMA 17)
- **Power**: 12V DC Supply
- **Control**: App Inventor BLE interface
- **Mechanical**: Custom-built linear motion guides
## Installation
### 1. Flash Firmware
Open `firmware/main.ino` in the Arduino IDE or PlatformIO. Select `ESP32 Dev Module`, and upload to your board.
### 2. Install Android App
- Option 1: Import `app/controller.aia` into [MIT App Inventor](https://appinventor.mit.edu/)
- Option 2: Install APK directly from `app/controller_API_26.apk` or `app/controller_API_28.apk` depending on your Android version
## Authors
- **Aaron John Sabu**
- **Radhik Rammohan**
Course project for **ME6102 – Design of Mechatronic Systems**
**Indian Institute of Technology, Bombay**
## License
This project is licensed under the **MIT License**. See [`LICENSE`](LICENSE) for details.