AIPI Moto Studio User Manual

1. Getting Started

1.1 Introduction

AIPI Moto Studio is a visual motion editing platform designed for AIPI Lite creators.

Through our early interactions with AIPI Lite creators, we discovered that many users were connecting AIPI Lite to their own DIY projects, giving their creations the ability to speak, or even bringing old toys back to life. We were amazed by the creativity and hands-on skills of the AIPI Lite community, as well as their enthusiasm for the platform.

To make it easier for creators to bring their ideas to life with AIPI Lite, we developed Moto Studio.

With Moto Studio, you don't need to write code. Simply configure your hardware output devices and use the visual editor to create motion sequences that can be controlled by AIPI Lite—including servo movements, motor operations, and other hardware actions.

By combining different actions, you can create fun projects such as:

Turn your ideas into reality with AIPI Lite and Moto Studio.

1.2 Hardware Overview

AIPI Lite

AIPI Lite is a customizable AI-powered smart hardware device designed for creators. More than just an AI device capable of natural conversations, it serves as an open platform that connects users' creativity with the capabilities of artificial intelligence.

Through the AIPI Creation Platform, users can customize AI personalities, select AI models, configure conversational capabilities, and create unique AI voices through voice cloning. Once created, an AI agent can be connected to AIPI Lite, allowing users to interact with it naturally through voice in real time.

Whether you're creating a companion, a learning partner, a creative character, or an AI companion with a unique personality, AIPI Lite makes it easy for everyone to create and bring their own AI agent to life.

Built around powerful AI interaction capabilities and an open creator-focused philosophy, AIPI Lite brings together hardware, AI models, and personalized creation. It enables users to move beyond simply using AI to creating their own AI experiences, opening up new possibilities for intelligent interaction.

ESP32-S3 Chip

AIPI Lite is powered by ESP32-S3 as its main controller.

The ESP32-S3 is a high-performance, low-power microcontroller designed for IoT applications. It provides a wide range of communication and control capabilities for device control, data processing, and interactive applications.

Key Features:

In AIPI Lite, the ESP32-S3 receives motion commands created by the user and controls connected external devices through PWM signals. This allows creators to control hardware such as servos and motors and bring their custom projects to life.

AIPI Lite Rear 6-Pin Connector

AIPI Lite Rear 6-Pin Connector

The back of AIPI Lite features a 6-pin expansion connector for connecting external hardware modules and enabling a wider range of creative projects.

Name Function ESP32-S3 Moto Studio Output
VBAT 5 V power output, up to 500 mA total IO38 /
GND Ground connection GND /
TX TX IO43 CH4
RX RX IO44 CH3
IO41 IO IO41 CH2
IO40 IO IO40 CH1

Servo

AIPI Lite supports controlling servos through PWM (Pulse Width Modulation) signals, enabling precise position control. A servo contains a motor and a control circuit that adjusts its position based on the incoming PWM signal.

A servo is a small actuator designed to precisely control position and angle. It can rotate to a specified angle according to a control command and hold that position. Servos can be used to control the movement of robot joints, robotic arms, grippers, and other mechanical structures.

Based on their operating modes, common servos can be divided into two types:

Motor

AIPI Lite supports controlling motors through PWM (Pulse Width Modulation) signals. By adjusting the PWM duty cycle, the motor's operating parameters can be controlled.

A motor is a power actuator that converts electrical energy into mechanical motion, providing continuous power for a device.

Unlike a servo, a motor is primarily used to control speed and direction (clockwise/counterclockwise) rather than maintain a specific position. By controlling the motor through PWM signals, AIPI Lite can adjust the motor's speed and direction, enabling a wide range of motion effects, such as driving a small robot car, rotating mechanisms, and other moving structures.

Servo Motor
Primary Function Position Control Power / Motion
Control Target Angle Speed
Motion Type Limited-Angle Rotation Continuous Rotation
Typical Applications Robotic Arms, Grippers Robot Cars, Fans
Control Method PWM PWM

1.3 Hardware Connection

Before connecting, you need to expose the six pins on the back of the AIPI to facilitate connection;

Method 1: Solder six DuPont wires to the six pins

Soldering Six DuPont Wires

Method 2: Official No-Solder Mechanical Connection

The official mechanical connection method allows you to connect the hardware without soldering.

First, print the provided STL file using a 3D printer. Then, prepare six male header pins and assemble the components as shown in the figure.

You can also use elastic rubber bands to secure the structure and apply additional pressure, helping ensure better contact between the header pins and the connector.

Official Mechanical Connection
Official Mechanical Connection
Official Mechanical Connection

1.3.1 Servo Connection

Using the MG90S servo as an example:

Connect the wires as follows:

MG90S Wire Function AIPI Lite Connection
Brown GND GND
Red Power VBAT
Yellow PWM Signal TX / RX / IO41 / IO40

Connect the brown wire to GND, the red wire to VBAT, and the yellow wire to any available TX, RX, IO41, or IO40 pin on AIPI Lite.

Note: Make sure the servo wiring is connected correctly before powering on the device. Reversing the power and ground connections may damage the servo or AIPI Lite.

1.3.2 Connecting Multiple Servos

AIPI Lite supports connecting up to four servos simultaneously.

For each servo:

When connecting multiple servos, assign each servo's signal wire to a different available signal pin.

Servo GND Power PWM Signal
Servo 1 GND VBAT TX
Servo 2 GND VBAT RX
Servo 3 GND VBAT IO41
Servo 4 GND VBAT IO40

1.3.3 External Power Supply

!Important: It is not recommended to power multiple servos directly from the development board.

For projects using multiple servos, we recommend using an external power supply for the servos while connecting the external power supply ground (GND) to the ESP32/AIPI Lite GND.

This creates a common ground, allowing the PWM control signals from AIPI Lite to be correctly referenced by the servos.

Notes

2. Using the Moto Studio

2.1 Home Page

The home page displays several quick-start options, such as connecting devices, creating new actions, and recently edited action groups.

Moto Studio Home Page

2.2 Connect the Device

Connect the AIPI to your computer using a data cable that supports data transfer, then click "Connect Device" to establish a serial connection.

Moto Studio Connect Device

If the device is connected successfully, the web page will display the Serial Port Selection dialog. Select the appropriate serial port, then click Connect.

Once connected, the device page will display information about the currently connected device.

!Note: If the device information is not displayed, make sure that your AIPI device has been updated to the latest firmware version.

Moto Studio Connect Device Success
Moto Studio New Motion
Moto Studio New Motion

2.3 Create Your First Motion

Click "New Motion" to go to the motion editor page

Moto Studio New Motion
Moto Studio New Motion

The Output Device panel on the left allows you to add and configure output devices and their corresponding output ports.

For example, when connecting an MG90S servo, add a CH1 output port and configure it accordingly. In this example, the servo is connected to IO40 on AIPI Lite.

Important: Make sure the output port configured in Moto Studio matches the corresponding physical pin on the back of AIPI Lite. Otherwise, the connected device may not respond or move as expected.

Pin Names AIPI Motion Editor Output Port
VBAT /
GND /
TX CH4
RX CH3
IO41 CH2
IO40 CH1
Moto Studio Output Device

Once the output device has been added, you can test whether the connection is working properly by dragging the PWM slider at the bottom.

When the servo is connected correctly, moving the PWM slider will cause the servo to move according to the corresponding PWM value.

This feature provides a visual way to understand how different PWM values affect servo movement, making it easier to identify the servo's operating range and movement behavior before creating motion sequences.

Tip: A PWM value of 1500 represents the center position. At this value, the servo is at its center position, which is recommended as a safe starting position for setup and testing.

2.4 Motion Debugging and Preview

Before introducing the Block Editor, it is important to understand the relationship between Motion Groups, Motions, and Motors/Servos.

Motion Group

A Motion Group is a complete sequence made up of multiple motions. It describes a series of actions that a device needs to perform in a specific order.

For example, users can combine individual motions into a Motion Group to create behaviors such as waving, dancing, or nodding.

A Motion Group can contain multiple motion steps. By managing and triggering these motions as a single unit, complex movement sequences can be quickly executed and reused.

Motion

A Motion is the basic execution unit within a Motion Group. It represents a specific operation that the device needs to perform.

For example:

Each Motion contains the corresponding output device and motion parameters. Multiple Motions can be arranged in sequence to create a complete Motion Group.

Motor / Servo

Motors and servos are the hardware devices that execute motion commands. They convert the commands configured in the software into actual mechanical movement.

A servo is primarily used for precise position control, such as controlling the angle of a robotic arm joint or gripper.

A motor is primarily used to provide continuous rotational motion, such as driving a small robot car or other motorized mechanisms.

On AIPI Lite, motors and servos are controlled through PWM signals. Users can configure device parameters in the Motion Editor to create different movement effects.

Relationship

The basic structure can be understood as:

Motion Group → Motion → Motor / Servo

This structure allows creators to combine simple hardware movements into complex and reusable motion sequences.

Moto Studio Motion Group

In the Block Editor, the green block at the top represents a Motion Group.

You can edit the Motion Group name to make it easier to identify and remember. Once the Motion Group has been created, you can simply say its name to AIPI Lite, and AIPI Lite can directly execute the corresponding motion sequence.

The "Loop … Times" option determines how many times the entire Motion Group will be executed. For example, setting it to 3 times means the Motion Group will be performed three consecutive times.

The Steps section contains the individual motions that make up the Motion Group. Drag and drop the appropriate Motion Blocks into this section and arrange them in the desired execution order.

Moto Studio Motion Group Steps

The yellow blocks represent individual Motions.

The "Duration … ms" setting determines how long the motion takes to complete. For example, if a servo moves from 0° to 90°:

In other words, the shorter the duration, the faster the movement.

The "Delay … ms" setting determines the amount of time between the completion of the current motion and the start of the next motion.

Important: The delay is measured after the current motion has finished. It does not include the motion's duration.

For example:

Duration: 500 ms
Delay: 200 ms
→ The servo moves for 500 ms, then waits 200 ms before the next motion starts.

Drag and drop the yellow Motion Blocks into the Steps section of the Motion Group block.

Tips

Example:

Motion 1 → Duration: 500 ms → Delay: 200 ms → Motion 2

This means Motion 1 runs for 500 ms, waits another 200 ms, and then Motion 2 begins.

Moto Studio Output Device

The blue blocks represent Output Modules. They use PWM signals to control the movement or operation of connected servos and motors.

Drag and drop the blue Output Blocks underneath a Motion Block to define the hardware output for that motion.

A single Motion Block can contain up to four Output Blocks, allowing multiple servos or motors to operate simultaneously as part of the same motion.

Structure:

Motion Group → Motion Block → Output Blocks

For example, one Motion Block could control four servos at the same time, allowing creators to create more complex movements such as a robot raising both arms, turning its head, and moving another mechanism simultaneously.

Moto Studio Output Device

Example: Creating a Servo Motion

Let's use an MG90S servo as an example. We will create a motion sequence in which the servo:

  1. Rotates 90°
  2. Pauses for 1 second
  3. Returns to its original position

Note: The first Motion Block does not allow you to set a custom duration, so its duration is set to 100 ms by default.

Step 1: Create the First Motion

The first motion is:

Rotate 90° in 100 ms

First, add a Motion Group Block, then drag a Motion Block into the Steps section.

Set the following parameters:

The delay is set to 1100 ms because the servo takes 100 ms to complete the movement, followed by a 1-second pause:

100 ms + 1000 ms = 1100 ms

Next, drag an Output Block into the Motion Block.

The MG90S is a 0–180° positional servo, with a typical PWM range of 500–2500 μs. Assuming 1500 μs represents the center position, moving from 1500 μs to 2500 μs corresponds to approximately 90°.

Set the PWM value to:

2500 μs

Step 2: Create the Second Motion

The second motion is:

Return to the original position in 500 ms

Add another Motion Block and configure it as follows:

Since there is no following motion, the delay does not affect the execution of another step. Setting it to 500 ms keeps the timing configuration consistent.

Final Motion Sequence

Step Motion Duration Delay PWM
1 Rotate 90° 100 ms 1100 ms 2500
2 Return to Center 500 ms 500 ms 1500

The resulting behavior is:

Center → Rotate 90° → Pause 1 second → Return to Center

Moto Studio Test Run

After completing the motion setup, click the "Test Run" button below the motor/output controls to test the motion. The servo should move according to the configured parameters.

Below the editor, you can configure the Motion Group Settings. These settings allow you to specify when the Motion Group should be automatically executed based on the device's current state.

For example, you can configure a Motion Group to execute automatically when AIPI is listening.

If no automatic trigger is configured, you can simply say the name of the Motion Group to AIPI Lite, and the device will execute the corresponding motion sequence.

Note: Motion Group trigger settings only take effect after the Motion Group has been uploaded/flashed to the device.

Moto Studio Motion Group Settings

2.5 Saving and Deploying Motions

After completing the Motion Group, click "Save" to save it to the Motion Library.

At this point, the Motion Group is only saved in Moto Studio and has not yet been transferred to AIPI Lite.

To make the Motion Group available on the device, click "Deploy to Device" to upload it to AIPI Lite.

Note: The Motion Group will only be available for execution on AIPI Lite after it has been successfully deployed to the device.

Moto Studio Motion Group Deploy
Moto Studio Motion Group Deploy

2.6 Motion Library Management

In Motion Library, you can view all the Motion Groups you have saved.

You can manage your Motion Groups by:

The official motion examples can be used as references to help you understand how to create and configure different types of motions in Moto Studio.

Moto Studio Motion Library