Making NX28
Agenda
1. Overview
2. Components
3. Features
4. 3D Modeling
5. Assembly
6. M5Cardputer Operation
7. Demonstration
8. Source Code
1. Overview
I made a small quadruped robot using the M5Stack M5AtomS3R.
It has an OLED SSD1306 display for expressive eyes, and it can be edited and controlled from an M5Cardputer.
The goal was to make it as simple, low-cost, cute, and cool as possible.




2. Components
The main components are listed below.
1) M5 Atom S3R
2) OLED SSD1306 128 x 64
3) SG92R servos x 5
4) FS403 servos x 2
5) 16340 3.7V lithium-ion battery
6) M5Cardputer for motion editing and control
7) M5 Joy2
The wiring is shown below.

3. Features
1) Forward, backward, side movement, and left/right turning
2) Eye expressions using an OLED SSD1306 display
3) BLE control from the M5Cardputer
4) Motion editing on the M5Cardputer
5) Trim adjustment for each servo
6) Motion data storage on an SD card
7) Real-time joystick control
4. 3D Modeling
I designed the robot in 3D CAD while keeping the structure as small and simple as possible.
The placement of the servos, battery, M5AtomS3R, and OLED was checked carefully to balance ease of assembly and appearance.



5. Assembly
The servos, controller board, OLED display, and battery are installed into the 3D printed parts.
I assembled everything compactly while making sure the wiring does not interfere with the leg movement.


6. M5Cardputer Operation
The M5Cardputer is used for motion editing, servo trim adjustment, saving data to the SD card, and joystick control.
It communicates with the robot over BLE, so the edited motion can be tested immediately on the robot.


Motion Playback Keys
F : Forward
C : Back
V : Right
X : Left
G : Right Turn
D : Left Turn
H : Home position
Servo Editing
[ : Select previous servo
] : Select next servo
+ : Increase value
- : Decrease value
Hold the key to change the value faster.
Trim Adjustment
T : Switch Trim Mode
MOV : Edit motion offset
TRM : Edit servo trim
Trim values are used to compensate for servo mounting angle errors and individual robot differences.
Step Control and Motion Length
, : Move to previous step
. : Move to next step
< : Shorten motion length
> : Extend motion length
Each motion step can be edited to adjust walking timing and posture.
Save
S : Save all data to the SD card
The following data is saved.
・Motion data
・Trim values
・Motion length
Joystick Modes
Press the joystick button to switch modes.
CTRL:1
Up : Forward
Down : Back
Right : Right Turn
Left : Left Turn
CTRL:2
Up : Forward
Down : Back
Right : Right
Left : Left
JOY:DIRECT
The joystick directly controls the head servos.
X axis : Servo 1 Head Roll
Y axis : Servo 2 Head Pitch
7. Demonstration
Making Expressions with the Eyes
The OLED display shows eye expressions such as normal eyes and smiling eyes.
By changing the eye shape, the robot can look more lively and expressive, not just mechanical.


Walking Motion
By coordinating six servos, the robot can move forward, backward, sideways, and turn left or right.
The motion can be adjusted on the M5Cardputer while checking the actual movement of the robot.


Video
This is a demonstration video of the robot in action.
8. Source Code
The sketches, M5AtomS3R code, M5Cardputer code, and 3D model files are available on GitHub.
Source Code on GitHub
M5AtomS3R : NX28_M5AtomS3R
M5Cardputer : NX28_M5Cardputer
3D Model : 3D_model_3mf
SD Card Files : SDCardFiles
Update History
- 2026.6.30Created the page for NX28, a small quadruped robot with M5AtomS3RNEW