pdf-icon

Base X

SKU:K037

Description

Base X is a specialized base compatible with LEGO EV3 motors. Its structural design is similar to BASE26, supporting multiple mounting methods, and additionally providing a LEGO connector base that allows Base X to be easily integrated into LEGO builds. Base X can connect up to 4 LEGO motors (RJ11) simultaneously, supporting angle/speed reading and control, perfectly compatible with the original motor functions.
In addition, the base provides 2 servo interfaces for direct servo angle control, a built-in PDM microphone for sound acquisition, a UART interface (16/17), and a GPIO interface (26/36), making it more flexible for connecting various sensors in different scenarios. The base has a built-in 950mAh battery that can be charged via the M5Core’s USB Type-C port to extend battery life. To improve the driving capability of the interfaces, the base is equipped with a DC power jack for powering motors using an external 9 ~ 12V DC power supply (charging through the base is not supported).

Features

  • 4-way RJ12 LEGO motor interface (total maximum current output 2A for the base)
  • 2-way servo drive (total maximum current output 2A for the base)
  • 1-way UART
  • 1-way GPIO
  • Built-in PDM microphone (G34)
  • Onboard DC-DC conversion (9 ~ 12V input, for independent motor power only)
  • Built-in 950mAh battery
  • Multiple mounting methods / LEGO hole support

Applications

  • LEGO encoder motor/servo controller
  • Intelligent control for LEGO DIY toys

Includes

  • 1 x Base X
  • 1 x LEGO Base
  • 2 x M3 * 5mm 304 Stainless Steel Hex Socket Bolt
  • 2 x M3 * 32mm 304 Stainless Steel Hex Socket Bolt
  • 1 x Hex Key L-Shape 2.5mm (For M3 Screw)

Specifications

Specification Parameter
MCU STM32F030C8T6
Product Weight 59.0g
Product Size 54.0 x 54.0 x 26.0mm
Package Size 150.0 x 65.0 x 40.0mm
Gross Weight 110.0g

PinMap

M5-Bus

Switch
The pins in the M5-Bus below marked as SW can be switched via the DIP switch to adapt to different main controllers.
PIN LEFT RIGHT PIN
GND 1 2 NC
GND 3 4 PORT.B
GND 5 6 NC
NC 7 8 NC
NC 9 10 PORT.B
NC 11 12 3V3
NC 13 14 NC
PORT.C 15 16 PORT.C
I2C_SDA 17 18 I2C_SCL
NC 19 20 NC
NC 21 22 NC
NC 23 24 I2S_LRCK (SW)
HPWR 25 26 I2S_DIN (SW)
HPWR 27 28 5V
HPWR 29 30 BAT

Softwares

Arduino

UiFlow1

Protocol

I2C Control Description

  • I2C Slave Address: 0x22
Function Register Address Value
SERVO1_ANGLE_ADDR 0X00 0~180
SERVO2_ANGLE_ADDR 0x01 0~180
SERVO1_PULSE_ADDR 0x10 (uint16_t)500~2500
SERVO2_PULSE_ADDR 0x12 (uint16_t)500~2500
MOTOR1_PWM_DUTY_ADDR 0x20 -127~127
MOTOR2_PWM_DUTY_ADDR 0x21 -127~127
MOTOR3_PWM_DUTY_ADDR 0x22 -127~127
MOTOR4_PWM_DUTY_ADDR 0x23 -127~127
MOTOR1_ENCODER_ADDR 0x30 int32_t
MOTOR2_ENCODER_ADDR 0x34 int32_t
MOTOR3_ENCODER_ADDR 0x38 int32_t
MOTOR4_ENCODER_ADDR 0x3C int32_t
MOTOR1_SPEED_ADDR 0x40 -127~127
MOTOR2_SPEED_ADDR 0x41 -127~127
MOTOR3_SPEED_ADDR 0x42 -127~127
MOTOR4_SPEED_ADDR 0x43 -127~127

I2C Motor Address:

Motor No. Motor Address
MOTOR1 0x50
MOTOR2 0x60
MOTOR3 0x70
MOTOR4 0x80

Configuration Method
Motor Address + nBit

Bit Value
0 Motor Run Mode
1 position-p(3)
2 position-i(1)
3 position-d(15)
4/5/6/7 position-point (lower bit effective)
8 position-max-speed
9 speed-p
10 speed-i
11 speed-d
12 speed-point
Motor Run Mode Value
Normal 0X00
Position 0x01
Encoder 0x02
3 position

EasyLoader

Easyloader Download Note
Base X Test Easyloader download /

Video