Assistance • Actuation • Automation
A3Bujji Core is a modular robotics platform that seamlessly switches between three operational environments based on human involvement:
- Assistance Mode – Human‑following & supervised task execution using ultrasonic + IR sensors.
- Actuation Mode – Remote tele‑robotic control via Bluetooth and a cross‑platform mobile app.
- Automation Mode – AI‑powered autonomy using sensor fusion and onboard decision logic.
The framework includes:
- Arduino control firmware (ATmega328P @ 16 MHz)
- Hardware reference designs (sensors, actuators, wiring)
- Bluetooth mobile app (React Native / Flutter template)
- Optional Web Dashboard (Node.js + Express + Vite) for logs, teleop, and OTA config
A3Bujji-Core/
├─ arduino/ # Firmware sketches & libraries
│ ├─ core_firmware/ # Main firmware (modes, sensors, actuators)
│ └─ libs/ # Reusable Arduino libs
├─ apps/
│ ├─ mobile/ # React Native (Expo) app for Bluetooth teleop
│ └─ dashboard/ # Node.js + Vite web dashboard
├─ docs/ # Diagrams, assets, user guides
└─ tools/ # Scripts, simulators, CI helpers
- MCU: Arduino UNO / Nano (ATmega328P, 16 MHz)
- Sensors: Ultrasonic (HC‑SR04), IR, IMU (MPU‑6050), object‑follow/IR array
- Actuators: DC gear motors, L298N driver, optional servos
- Wireless: Bluetooth (HC‑05/06 or BLE module)
- Power: Li‑ion 2S–3S (4–6 hours typical), BMS recommended
See /docs/circuit for the wiring diagram and BOM (bill of materials).
- Assistance: Real‑time human tracking, obstacle avoidance, supervised tasks
- Actuation: Manual teleop via mobile app, live telemetry & logs
- Automation: Autonomous navigation, waypoint following, rule‑based decisions
- Node.js ≥ 18, npm ≥ 9 (or pnpm/yarn)
- Arduino IDE ≥ 2.x (or PlatformIO)
- Expo CLI (for mobile) or Flutter if you choose Flutter template
git clone https://github.com/<your-org>/A3Bujji-Core.git
cd A3Bujji-Corecd apps/dashboard
npm install
# Useful scripts
npm run dev # Vite dev server
npm run build # Production build
npm run start # Serve built app
npm run lint # Lint
npm run test # Unit tests (Vitest)Environment variables (apps/dashboard/.env):
VITE_BT_SERVICE_ID=
VITE_API_BASE=http://localhost:4000
cd apps/mobile
npm install
npx expo startPair with the robot’s Bluetooth module (default: A3BujjiCore, PIN 1234 unless changed).
- Open arduino/core_firmware/core_firmware.ino in Arduino IDE
- Install libraries:
ArduinoBLE(if using BLE),NewPing,MPU6050 - Select board & port → Upload
Configure mode defaults in
config.h(e.g.,DEFAULT_MODE=ASSISTANCE).
- Connect/Disconnect Bluetooth
- Teleop Joystick / D‑Pad
- Mode Switch: Assistance | Actuation | Automation
- Telemetry: Distance, IMU, battery, connection status
- Live metrics and logs (WebSocket)
- Mode switching & safety stop
- Firmware config editor (stored in EEPROM)
- Session recorder (CSV export)
Run locally:
cd apps/dashboard
npm run devBuild & serve:
npm run build && npm run start[HC-SR04] TRIG → D9, ECHO → D8
[IR Array] A0–A3 → IR sensors
[IMU] SDA → A4, SCL → A5 (I2C)
[L298N] IN1–IN4 → D2–D5, ENA/ENB → PWM D3/D6
[BT] TXD → D10 (SoftSerial RX), RXD → D11 (SoftSerial TX)
- Unit tests (dashboard) with Vitest
- Firmware dry‑run via serial simulator in tools/
- Mock telemetry for UI development without hardware
HTTP
GET /api/status # robot summary
POST /api/mode # set {mode: assistance|actuation|automation}
POST /api/teleop # set {vx, vy, omega}
WebSocket
telemetry:{ distance, imu, battery, ts }
- OTA config via BLE characteristics
- Vision module (ESP32‑CAM / USB camera)
- Path planning plugin system
- SLAM integration (optional, off‑board)
- Multi‑robot fleet dashboard
- No Bluetooth pairing → Check module voltage (3.3V vs 5V), baud rate, and PIN.
- Sensors unstable → Add decoupling caps, verify grounds, calibrate IMU.
- Motors jitter → Use separate motor supply & common ground; verify ENA/ENB PWM.
- Slow response → Reduce serial logging, ensure 115200 baud, disable unused features.
- Fork the repo & create a feature branch
- Run linters/tests (
npm run lint && npm run test) - Open a PR with a clear description & screenshots
See CONTRIBUTING.md and CODE_OF_CONDUCT.md (add in
/docs).
- Vishal Jaiswal – Project Manager
- Nikhil Patel – Hardware Engineer
- Shreyansh Dubey – Software Developer
- Rahul Singh Lodhi – Systems Integrator
Gyan Ganga Institute of Technology and Sciences — Robotics & Embedded Systems, Sept 2024
MIT © A3Bujji Core Team
- Demo Video:
docs/demo.mp4 - Documentation:
docs/ - Circuit Diagrams:
docs/circuit/ - Prototypes:
docs/prototypes/ - GitHub Issues:
https://github.com/<your-org>/A3Bujji-Core/issues
A3Bujji Core — Empowering developers with adaptive robotics for the future of assistance, actuation, and automation.