All Projects
IEEE Bionic Arm

IEEE Bionic Arm

A bionic arm project focused on embedded firmware, joystick-driven control, calibration, and real-time servo actuation built around a finite-state machine. I led the firmware side, shaping how inputs were processed and translated into coordinated multi-joint motion.

Role

Firmware Lead

Date

September 2025

Team

Multidisciplinary student engineering team

~70%

Onboarding Time Reduction

FSM + Embedded Control

Core Domain

Multi-DOF Bionic Arm

System Type

CC++ESP-32Embedded FirmwareFinite-State MachineJoystick ControlPWM / Servo ControlCalibration Logic

Overview

A bionic arm project focused on embedded firmware, joystick-driven control, calibration, and real-time servo actuation. I led the firmware side, shaping how operator inputs were processed through a finite-state machine and translated into coordinated multi-joint motion.

Problem

The team needed a reliable firmware foundation for processing joystick inputs, calibrating servo outputs, and supporting responsive multi-DOF actuation in a bionic arm platform.

Objectives

  • Process joystick inputs and map them to arm motion
  • Support real-time control behavior through a finite-state machine
  • Improve firmware structure and documentation
  • Make the system easier to scale across a larger student team

System Architecture

Joystick inputs feed into an STM32-based embedded system running a finite-state machine (Calibration, Idle, Movement, and Joystick states). State transitions are driven by operator inputs, and the active state drives PWM servo actuation for downstream arm behavior.

bionicarm architecture diagram
Bionic arm control architecture — finite-state machine

Software Architecture

The firmware is organized into input handling, state management, calibration, and servo-output layers, keeping subsystem interfaces clean enough for a multidisciplinary team to extend.

Bionic arm software architecture

Add this diagram at public/images/projects/bionicarm/software.svg

Hardware

  • STM32
  • joystick input
  • servos / actuation hardware

Software

  • C
  • C++
  • embedded firmware
  • finite-state machine
  • calibration logic

Algorithms / Processing

  • joystick input processing
  • finite-state machine transitions
  • PWM signal generation for servo control
  • calibration workflows

Key Decisions and Tradeoffs

  • Balanced structured firmware design with rapid iteration needs
  • Modeled control as a finite-state machine to keep behavior predictable and debuggable
  • Emphasized documentation and subsystem interfaces to improve scalability

Biggest Challenge

One of the biggest challenges was building a firmware foundation that could process real-time inputs and drive coordinated actuation while remaining understandable to a multidisciplinary team. I addressed that by modeling the control flow as a finite-state machine and standardizing documentation and subsystem interfaces alongside the implementation.

Validation and Testing

  • subsystem testing
  • joystick input and state-transition checks
  • calibration workflow validation
  • integration support

Impact

The project gave the team a stronger firmware structure and made it easier for new members to contribute effectively.

Next Improvements

  • Add more robust input-processing and motion-smoothing detail
  • Improve validation pipelines
  • Deepen actuation integration