← Back

RoboMaster Embedded Control

Oct 2025 – Present · Embedded Developer → Software Lead at UrsaWorks, WashU

Two of our robots facing off, one lit red and one lit blue

Overview

RoboMaster is DJI's university robotics competition. It has run for over a decade and is one of the most competitive robotics contests in China. In North America it was held as RMNA until 2025, when it became the ARC Championship (ARCC). Teams build robots on microcontrollers that fire projectiles at each other's armor plates, a bit like a real-life MOBA. We compete in the 1v1 and 3v3 formats, with two driver-controlled robots and one fully autonomous robot.

When I joined, every experienced member had just graduated. Nobody was left to maintain the control code or teach new members, and the club was close to shutting down.

What I did

Rebuilding the firmware from scratch

The code I inherited was our own modification of ARUW's Taproot framework, and it was hard to maintain. Taproot hides most of the STM32 hardware behind its own abstractions. I wanted to understand what the microcontroller was actually doing, and in industry nobody hands you a ready-made competition framework, so I set it aside and started over. I worked through open-source projects and tutorials, including USTC's lecture videos, and chose Hunan University YueLu's basic_framework as the new base.

Leading and teaching the team

I now lead the software team, split into control (3 members) and algorithm (4 members). I didn't want anyone else to go through what I did, using code without knowing what it does, so I teach the fundamentals first. I recorded a series of STM32 development lectures for new members.

Designing our own architecture

Open-source frameworks got us to competition, but they were written for another team's robots and were hard for us to extend. I am now rewriting the firmware architecture from my own understanding so it fits our robots and is easier for new members to learn.

Results

One of our 1v1 matches at ARCC 2026