Controller 2.4G (PS2) × MATRIX × MATRIXblock stock blocks
Interactive tutorialMATRIX
First time? Try the interactive tutorial in your browser first, then follow the steps below with your hub.
This page covers MATRIXblock stock colour-sensor blocks (0x22) only: how to set it up for the Controller 2.4G (PS2) on MATRIX Mini R4, how to read every value, the commands it supports and examples. Use the switcher above to change product, host or software.
Which edition and how to connect
Get the MATRIX edition and connect it with the stock MATRIX 4-pin cable to I2C1 or I2C2 of the Mini R4 (address 0x22); pick that port in the block.
Setup
What you need
- Sensor: Controller 2.4G (PS2) (MATRIX edition).
- Controller: MATRIX Mini R4.
- Cable: the stock MATRIX 4-pin sensor cable.
- Software: MATRIXblock (the stock MATRIX block software). This method needs no extra library.
Install the software
- Install MATRIXblock (default folder
C:\matrixblock-r4\).
Make the software see the sensor
The Mini R4 sees the sensor as a stock colour sensor (I2C address 0x22); read it with the built-in blocks, no extension needed:
- The "colour sensor → R / G / B / C / M / Y / K" blocks each read one
0 ~ 255number. The firmware packs the product data into these seven slots; see the readings below for what each slot means. - MATRIXblock's Arduino mode works too:
MiniR4.I2C1.MXColor.getColor(R).
Warning
Do not use the H / S / V or colour ID blocks: the controller computes those from R, G, B itself, so they mean nothing for MBC products. MATRIX removed the grey-level and colour-number blocks, so only these seven slots are usable.
Wiring
- Connect the stock MATRIX 4-pin sensor cable to the Mini R4 I2C1 or I2C2 port.
- Choose that port in the blocks (for example
I2C1). - 5 V direct, no level shifter needed.
Connect the gamepad to the receiver
The PS2 2.4G gamepad and its receiver are paired at the factory; no pairing button needed.
- Connect the receiver and turn the controller on.
- Switch the gamepad on; it connects by itself.
- Watch the green LED on the receiver: on = no gamepad yet; off = gamepad connected.
- The ANALOG (or MODE) light on the gamepad must be on for the sticks to give values. The receiver switches to this mode on connect; if the light is off, press the ANALOG button in the middle of the gamepad.
Caution
2.4 GHz is a shared band (Wi-Fi, microwave ovens). With 12 or more sets in use at one venue they may interfere; in that case use the Bluetooth version (PS4 / PS5).
First test
- Show the number from the "colour sensor → R" block.
- If the number changes with what is in front of the sensor, everything is connected.
FAQ
- The numbers make no sense? Make sure you use the seven slots R / G / B / C / M / Y / K, not the H / S / V or colour ID blocks.
Reading values
Use the stock MATRIXblock colour-sensor R / G / B / C / M / Y / K blocks (not H / S / V or colour ID); the Arduino-mode line is shown too.
d-pad dpad
| Range | Meaning |
|---|---|
0~15 bit |
Up 1, Right 2, Down 4, Left 8 (added when pressed together), 0~15; 0 when not connected |
Block "colour sensor → R"
int dpad = MiniR4.I2C1.MXColor.getColor(R); // d-padshoulder buttons shoulder
| Range | Meaning |
|---|---|
0~15 bit |
L2 1, R2 2, L1 4, R1 8 (added when pressed together), 0~15; 0 when not connected |
Block "colour sensor → G"
int shoulder = MiniR4.I2C1.MXColor.getColor(G); // shoulder buttonsconnected connected
| Range | Meaning |
|---|---|
0~1 |
1 = gamepad connected (psx.read() succeeds), 0 = not; while disconnected all buttons read 0 and sticks are centred |
Block "colour sensor → K"
int connected = MiniR4.I2C1.MXColor.getColor(K); // connectedstick LX / LY / RX / RY stick
| Range | Meaning |
|---|---|
-100~+100 |
10 LX, 11 LY, 12 RX, 13 RY: −100 to +100, 0 = centre, right / up positive (raw 0 |
Blocks "colour sensor → B~Y": #67 新增:B、C、M、Y = LX、LY、RX、RY
int raw = MiniR4.I2C1.MXColor.getColor(B); // group 1Not readable here:16 buttons, shape buttons, function buttons, battery, L2 analog, R2 analog, system keys, gamepad type. Use Arduino / mBlock / micro:bit for these.
Commands
This software cannot send commands; use Arduino I2C, mBlock or micro:bit if you need them.
Examples
There is no full example program for this software yet. Each item under “Reading values” and “Commands” above comes with code you can use as is; put them together in order, or contact us for a full example.
More questions
Still stuck? Contact us with your software and a screenshot of the program.
Downloads
Sources
- Host and software list:
_build/guides.json - Values and commands:
_build/protocol/ps2.json(single source of truth) - Setup:
_build/guides/software/matrix-matrixblock.en.md、_build/guides/product/ps2/matrix-matrixblock.en.md