← Back to portfolio
STM32F446 · CAN · KiCad · DCDC Isolation · Damiao Motors · MuJoCo · Inverse Kinematics

Ratta “Mario” Automated Cat Litter Box

Ratta · Embedded Systems Intern · Jun 2026 – Jul 2026

Embedded systems intern on a 12-person product team building an automated cat litter box (internal codename “Mario”). Worked within a two-person robotic arm sub-team, owning all embedded hardware and firmware for a 4-DOF arm that receives target positions from the main controller and executes scoop-and-deposit motions into a collection bin.

Designed the arm’s PCB in KiCad using off-the-shelf isolated DCDC modules and isolated TTL/CAN transceivers for full galvanic isolation between the 24V motor domain and 5V logic domain. Selected and integrated Damiao servo motors on CAN at the actuator level along with stepper motors, handling SMD selection and procurement end to end. Developed the full 4-DOF inverse kinematics pipeline with workspace constraints from enclosure dimensions and wall boundaries, validated trajectories in MuJoCo, and iterated through sim-to-real transfer until physical arm motions matched simulation.

Beyond the arm sub-system: provided scoop geometry parameters to the mechanical team and assisted with assembly decisions. On the system integration side, identified a thermal risk from undersized power supply wiring, designed the isolation solution, improved the inter-module communication protocol, and drove the switch from CAN to TTL on the arm-to-main-controller link based on transceiver cost savings at equivalent bandwidth and distance.

Highlights

  • Owned arm embedded hardware and firmware: STM32F446 control, KiCad PCB with 24V/5V galvanic isolation (isolated DCDC + isolated transceivers), SMD selection, and procurement
  • Developed 4-DOF inverse kinematics with enclosure and wall constraints; validated in MuJoCo and iterated sim-to-real until motions matched
  • Identified power thermal risk, designed isolation fix, improved comms protocol, drove CAN-to-TTL architecture switch on cost-bandwidth tradeoff