PbHub Expander unit is a single-bus board which is controlled using GROVE PortB connector (The black port on the M5Go Base). The expander unit contains 6 ports all in 1 unit. PortB can be used as GPIO and Analog in (the two data lines are connected to GPIO36 and GPIO26 on the ESP32 module).

Similar to the PaHub Unit, the PbHub provides solution for multiple devices control using a single port - PortB. With PbHub each of the IO can be configured as input and output, it has a built-in MEGA328 MCU with a simple driver firmware installed.

Product Features

  • Single-Bus GROVE PORTB Expander
  • Two Lego-compatible holes
  • 1-To-6


  • 1x PbHUB Unit
  • 1x Grove Cable


Resources Parameter
Communication protocol I2C: 0x61(can be modified by resistance A0, A1, A2)
Net weight 7g
Gross weight 19g
Product Size 48*24*12mm
Package Size 67*53*12mm
1.The default range of the ADC input voltage of the built-in MCU is 0-5V, and the corresponding ADC resolution is 10bit (1024), so when using an analog signal input with an input range less than 5V, it will not reach the maximum The value is 1024.
2. Not all Units with a black interface (PortB) support expansion through PbHUB. PbHUB can only be applied to basic single-bus communication, through the I2C protocol (built-in MEGA328) to achieve basic digital read and write, analog Read and write. But for units such as Weight (built-in HX711) that not only need to read analog, but also depend on the timing of the Unit, PbHUB cannot be expanded.
3.The two data buses in Port B are connected to the ESP32's GPIO36 and GPIO26, which can be programmed with multiple port inputs (analogue inputs supported) and outputs according to requirements


download EasyLoader

1.EasyLoader is a precise and fast program writer which has a built-in functionalities related to the 4-Relay unit. The Easyloader program can burn the firmware to the main controller board by simple easy to follow steps.
2. After downloading the software, double-click to run the application, connect the M5 device to the computer through the data cable, select the port parameters, click "Burn" to start burning. (For M5StickC burning, please Set the baud rate to 750000 or 115200)
3. Currently EasyLoader is only suitable for Windows operating system, Please install the corresponding driver according to the device type. Please click here to view the CP210X driver installation tutorial , M5StickC/V/T/ATOM series can be used without driver)


Mega328 ISP footprint definition


Change I2C Address

The Default I2C address of the unit is 0x61 (which can be changed by using solder resistors A0 ~ A2, the address range is 0x61 ~ 0x68).

A0 A1 A2 I2C Address
/ / / 0x61
Resistors / / 0x62
/ Resistors / 0x63
Resistors Resistors / 0x64
/ / Resistors 0x65
Resistors / Resistors 0x66
/ Resistors Resistors 0x67
Resistors Resistors Resistors 0x68



For the complete Arduino code please click here


Feature Introduction

Extended IO interface

  • pos digitalRead Read pin digital value

  • pos digitalWrite value Write a digital value to the pin

  • analogRead Read analog value

  • Set pos RGB number to Set the number of specified pins RGB

  • Set pos num RGB pos color Set the color of the specified serial number RGB

  • Set pos num RGB begin count color Set the RGB color within the specified range

  • Set pos RGB brightness Set the specified pin RGB brightness


For the Complete UIFlow example code please click here

  • protocol type - I2C
  • address - 0x61
  • Set oneLED Color : LED address(2bytes) + RGB value(3bytes)
  • Set moreLED Color : LED start address(2bytes) + LED end address(2bytes) + RGB value(3bytes)
state IO0 Digital Write IO1 Digital Write IO0 Analog Write IO1 Analog Write IO0 Digital Read IO1 Digital Read IO0 Analog Read reserve Set RGB LED Num Set oneLED Color* Set moreLED Color* Set Brightness
r/w w w w w r r r r w w w w
data length (Byte) 1 1 1 1 1 1 2 / 2 5 7 1
ch0 cmd 40 41 42 43 44 45 46 47 48 49 4A 4B
ch1 cmd 50 51 52 53 54 55 56 57 58 59 5A 5B
ch2 cmd 60 61 62 63 64 65 66 67 68 69 6A 6B
ch3 cmd 70 71 72 73 74 75 76 77 78 79 7A 7B
ch4 cmd 80 81 82 83 84 85 86 87 88 89 8A 8B
ch5 cmd A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB