Breadboard Mates has defined a bus system specifically for Breadboard Mates products, to provide an easy-to-use standard when designing bords/products to mate with MatesBUS compatible devices.

The MatesBUS is small and compact while retaining the all-important breadboard compatibility and uses standard Male and Female headers which makes it easily accessible and easy to integrate.

Adding a MatesBUS compatible header to a development platform or product, will allow easy connection of a MatesBUS product to that platform, for quick and easy connection and interfacing, without needing wires or jumpers.

MatesBUS Product Types

There are 2 main MatesBUS product types, which will be outlined as to their intended function.
Display Products – these would include products such as the TIMI-96, which are a stand-alone product capable of operating independent of other devices or in conjunction with other devices.

Adaptor Products – these would include products such as the Click Adaptor, or Pi Adaptor, which are interface products, designed to allow easy connection between a Host platform and a MatesBUS compatible product, such as a Raspberry Pi to a TIMI-96. These do not feature any smarts (typically) and are an interfacing aid only.

Customers/Companies are encouraged to design their own Host platforms or Adaptors which feature a MatesBUS header (or Headers), just follow the guidelines in this document to retain compatibility.

Mode Options

MatesBUS products can typically operate in 2 different modes. Master/Host mode, or Slave/Device mode.

Master/Host mode is where the MatesBUS device, such as a TIMI-96, is in control of itself and devices attached to it. This would be where TIMI-96 would be programmed in the Mates Studio IDE using the Genius Environment.

Slave/Device mode is where the MatesBUS device, such as the TIMI-96, is taking direction from another device, such as an external Host/Microcontroller which is connected over the Serial UART. This would be where TIMI-96 would be programmed using the Commander or Architect environments in the Mates Studio IDE.

Technical Information

The MatesBUS header/footprint specification is made up of 2 rows of 5 pins, spaced a standard 2.54mm (0.1”) pitch between each pin, and spaced at 7.62mm (0.3”/300mil) between each row. This is also the inner spacing of a standard breadboard.

MatesBUS Footprint Layout

MatesBUS Pinout

MatesBUS Pinout (Header1 on Left, Header2 on Right)
Header / Pin Symbol I/O Type Description
Header1 – 1 GND Power Module / System GND
Header1 – 2 IO3 I/O GPIO – Capabilities are Module Dependant
Header1 – 3 IO2 I/O GPIO – Capabilities are Module Dependant
Header1 – 4 IO1 I/O GPIO – Capabilities are Module Dependant
Header1 – 5 3V3 OUT Power 3.3V Power Output for User
Header2 – 1 RESET I System Reset, Active Low
Header2 – 2 GND Power Module / System GND
Header2 – 3 RX I Asynchronous Serial UART Receive Pin (TX from Host)
Header2 – 4 TX O Asynchronous Serial UART Transmit Pin (RX from Host)
Header2 – 5 5V Power Module 5V Input, Main Power

MatesBUS Pinout Specification

5V (Device Supply Voltage) Supply voltage pin. This pin should be connected to a stable supply voltage in the range of 4.0 Volts to 5.5 Volts DC

3V3 (Device Output Voltage) 3.3V Output for the User. Not all Devices may provide this.

GND (Device Ground) Device ground pin. This pin must be connected to system ground.

RESET (Device Master Reset) Device Master Reset pin. Not all Device may require a Reset pin.

RX (Device Serial UART Receive) Device Serial UART Receive, connects to the Host Serial UART Transmit (TX) pin.

TX (Device Serial UART Transmit) Device Serial UART Transmit, connects to the Host Serial UART Receive (RX) pin.

GPIO (Device Inputs/Outputs) GPIO pins IO1, IO2 and IO3 can be individually set as a digital input or output, or in some cases Analog Input, or I2C.
Depending on the device being connected, the functionality may be different. Not all Devices will feature GPIO.

  • If a device has Analog IO capability, the Analog pins should be positioned on IO1 and/or IO2.
  • If a device has I2C capability, the SCL pin should be on IO1, and the SDA pin should be on IO2
  • If a device has PWM capability, the PWM pin should be on IO3.
  • Not all Breadboard Mates products will meet all these IO possibilities.
  • If a device has Analog IO capability, the Analog pins should be positioned on IO1 and/or IO2.
  • If a device has I2C capability, the SCL pin should be on IO1, and the SDA pin should be on IO2
  • If a device has PWM capability, the PWM pin should be on IO3.
  • Not all Breadboard Mates products will meet all these IO possibilities.

Males vs Female pins

MatesBUS products (other than Adaptors) all feature Male pin headers. These are designed to plug directly into a Breadboard, direct wire/jumper connection, or into a Female pair of MatesBUS compatible headers.

An example of this, is the TIMI-96.

Adaptors must have Female headers and match the MatesBUS specification for compatibility. Adaptors are used to be the interface between a MatesBUS product, and something else, such as a Raspberry Pi, or a Click Board.

An example of this is the BBM-Click-Adaptor.

The Male pins of the MatesBUS display product, plug into the Female headers of the MatesBUS Adaptor/Host, connecting the two together. In the case of the above, the TIMI-96 plugs into the headers of the Click Adaptor, allowing the TIMI-96 to connect to development boards and host platforms which feature a MikroBUS Click Socket.

Designing with MatesBUS

When designing a product using MatesBUS, typically a Breadboard Mates product would overhang and stick out beyond the outer edge of the mating board, however this does not strictly need to be adhered to, as Breadboard Mates products could be used in many applications and could easily clear other components on the designed board, depending on the height of the Female headers used.

Adaptors and Host products can feature one or multiple MatesBUS headers, and the spacing between these need to be considered based on the range of Breadboard Mates products that are wanting to be supported.

Breadboard Mates products are not limited for size/width, therefore consideration needs to be made to allow adequate/reasonable spacing between MatesBUS headers, or be willing to accept that larger devices may prevent multiple being able to be connected together.

The MatesBUS primarily uses a Serial UART for communication to a Breadboard Mates product, therefore if multiple compatible products are present on a Host or Adaptor, each must have access to an individual UART on the Host. For Hosts which only feature a single UART, either some sort of multiplexing hardware will be required, or limiting to a single MatesBUS device will be required.

Simplistic illustration of 2 MatesBUS products on an example Host PCB, connected to a single Host with 2 UART’s. The spacing between potential modules needs to be considered.

Programming Suggestions

MatesBUS products feature a single Serial UART, which is shared for programming from the Mates Studio IDE, as well as interfacing to a Host or other device.

When programming the MatesBUS product, it needs to be isolated from any other circuit that might be connected to the UART. Unplug any UART connections from the RX and TX, and program the MatesBUS module directly with the BBM Programmer. When programming is complete, connect the UART RX/TX back up to allow communication to the host/device to resume.

BBM Programmer

On some MatesBUS Adaptors/Development boards, a switch or jumper may be offered to isolate the RX pin, allowing only Programming TX signals to reach the MatesBUS products’ RX pin, until the switch is changed. This is useful as it means unplugging or unwiring the UART is no longer required when programming.

Illustration of Programmer and Host TX signals being switched between, going to the MatesBUS RX, while the RX signals are connected directly to the MatesBUS TX

The same situation applies for Hosts/Development boards which may also only have a single UART, as programming them often uses the UART too so they would need to be disconnected from the MatesBUS product to program them. This may not always be the case, and larger systems would often have multiple UART’s.

Considering the above, it is suggested to contemplate the programming process of the MatesBUS product that is to be connected. It is highly recommended to include provision to allow the MatesBUS product to be programmed without having to disconnect it from the Host system, every time. Adding a programming header for the MatesBUS product would aid the end customer considerably.

Design Example

If designing a Host board which incorporates a MatesBUS header, the following illustration provides an example where a Host could incorporate MatesBUS headers and associated programming parts.

The MatesBUS Headers illustrated at the top allow a MatesBUS compatible module to be easily connected to the Host platform.

The MatesBUS programming header at the bottom right of the illustration, along with the MatesBUS switch towards the upper right, are detailed more in the previous section.

The MatesBUS programming header uses the same signals that feature on Header 2 of the MatesBUS itself. RESET, GND, RX, TX, and 5V. Take note that RX and TX of the programmer go to TX and RX of the MatesBUS – as the MatesBUS pinout reflects the pinout of the product being connected. TX → RX, RX TX.

Revision History

Document

Revision Number Date Description
0.1 17/05/2021 Initial Draft
1.0 01/09/2021 Initial Public Release

MatesBUS Revision History

Revision Number Date Description
1.0 01/10/2020 Conception
Download Datasheet
Back to Resource Centre

Share this article on socials

Breadboard Mates has defined a bus system specifically for Breadboard Mates products, to provide an easy-to-use standard when designing bords/products to mate with MatesBUS compatible devices.

The MatesBUS is small and compact while retaining the all-important breadboard compatibility and uses standard Male and Female headers which makes it easily accessible and easy to integrate.

Adding a MatesBUS compatible header to a development platform or product, will allow easy connection of a MatesBUS product to that platform, for quick and easy connection and interfacing, without needing wires or jumpers.

MatesBUS Product Types

There are 2 main MatesBUS product types, which will be outlined as to their intended function.
Display Products – these would include products such as the TIMI-96, which are a stand-alone product capable of operating independent of other devices or in conjunction with other devices.

Adaptor Products – these would include products such as the Click Adaptor, or Pi Adaptor, which are interface products, designed to allow easy connection between a Host platform and a MatesBUS compatible product, such as a Raspberry Pi to a TIMI-96. These do not feature any smarts (typically) and are an interfacing aid only.

Customers/Companies are encouraged to design their own Host platforms or Adaptors which feature a MatesBUS header (or Headers), just follow the guidelines in this document to retain compatibility.

Mode Options

MatesBUS products can typically operate in 2 different modes. Master/Host mode, or Slave/Device mode.

Master/Host mode is where the MatesBUS device, such as a TIMI-96, is in control of itself and devices attached to it. This would be where TIMI-96 would be programmed in the Mates Studio IDE using the Genius Environment.

Slave/Device mode is where the MatesBUS device, such as the TIMI-96, is taking direction from another device, such as an external Host/Microcontroller which is connected over the Serial UART. This would be where TIMI-96 would be programmed using the Commander or Architect environments in the Mates Studio IDE.

Technical Information

The MatesBUS header/footprint specification is made up of 2 rows of 5 pins, spaced a standard 2.54mm (0.1”) pitch between each pin, and spaced at 7.62mm (0.3”/300mil) between each row. This is also the inner spacing of a standard breadboard.

MatesBUS Footprint Layout

MatesBUS Pinout

MatesBUS Pinout (Header1 on Left, Header2 on Right)
Header / Pin Symbol I/O Type Description
Header1 – 1 GND Power Module / System GND
Header1 – 2 IO3 I/O GPIO – Capabilities are Module Dependant
Header1 – 3 IO2 I/O GPIO – Capabilities are Module Dependant
Header1 – 4 IO1 I/O GPIO – Capabilities are Module Dependant
Header1 – 5 3V3 OUT Power 3.3V Power Output for User
Header2 – 1 RESET I System Reset, Active Low
Header2 – 2 GND Power Module / System GND
Header2 – 3 RX I Asynchronous Serial UART Receive Pin (TX from Host)
Header2 – 4 TX O Asynchronous Serial UART Transmit Pin (RX from Host)
Header2 – 5 5V Power Module 5V Input, Main Power

MatesBUS Pinout Specification

5V (Device Supply Voltage) Supply voltage pin. This pin should be connected to a stable supply voltage in the range of 4.0 Volts to 5.5 Volts DC

3V3 (Device Output Voltage) 3.3V Output for the User. Not all Devices may provide this.

GND (Device Ground) Device ground pin. This pin must be connected to system ground.

RESET (Device Master Reset) Device Master Reset pin. Not all Device may require a Reset pin.

RX (Device Serial UART Receive) Device Serial UART Receive, connects to the Host Serial UART Transmit (TX) pin.

TX (Device Serial UART Transmit) Device Serial UART Transmit, connects to the Host Serial UART Receive (RX) pin.

GPIO (Device Inputs/Outputs) GPIO pins IO1, IO2 and IO3 can be individually set as a digital input or output, or in some cases Analog Input, or I2C.
Depending on the device being connected, the functionality may be different. Not all Devices will feature GPIO.

  • If a device has Analog IO capability, the Analog pins should be positioned on IO1 and/or IO2.
  • If a device has I2C capability, the SCL pin should be on IO1, and the SDA pin should be on IO2
  • If a device has PWM capability, the PWM pin should be on IO3.
  • Not all Breadboard Mates products will meet all these IO possibilities.
  • If a device has Analog IO capability, the Analog pins should be positioned on IO1 and/or IO2.
  • If a device has I2C capability, the SCL pin should be on IO1, and the SDA pin should be on IO2
  • If a device has PWM capability, the PWM pin should be on IO3.
  • Not all Breadboard Mates products will meet all these IO possibilities.

Males vs Female pins

MatesBUS products (other than Adaptors) all feature Male pin headers. These are designed to plug directly into a Breadboard, direct wire/jumper connection, or into a Female pair of MatesBUS compatible headers.

An example of this, is the TIMI-96.

Adaptors must have Female headers and match the MatesBUS specification for compatibility. Adaptors are used to be the interface between a MatesBUS product, and something else, such as a Raspberry Pi, or a Click Board.

An example of this is the BBM-Click-Adaptor.

The Male pins of the MatesBUS display product, plug into the Female headers of the MatesBUS Adaptor/Host, connecting the two together. In the case of the above, the TIMI-96 plugs into the headers of the Click Adaptor, allowing the TIMI-96 to connect to development boards and host platforms which feature a MikroBUS Click Socket.

Designing with MatesBUS

When designing a product using MatesBUS, typically a Breadboard Mates product would overhang and stick out beyond the outer edge of the mating board, however this does not strictly need to be adhered to, as Breadboard Mates products could be used in many applications and could easily clear other components on the designed board, depending on the height of the Female headers used.

Adaptors and Host products can feature one or multiple MatesBUS headers, and the spacing between these need to be considered based on the range of Breadboard Mates products that are wanting to be supported.

Breadboard Mates products are not limited for size/width, therefore consideration needs to be made to allow adequate/reasonable spacing between MatesBUS headers, or be willing to accept that larger devices may prevent multiple being able to be connected together.

The MatesBUS primarily uses a Serial UART for communication to a Breadboard Mates product, therefore if multiple compatible products are present on a Host or Adaptor, each must have access to an individual UART on the Host. For Hosts which only feature a single UART, either some sort of multiplexing hardware will be required, or limiting to a single MatesBUS device will be required.

Simplistic illustration of 2 MatesBUS products on an example Host PCB, connected to a single Host with 2 UART’s. The spacing between potential modules needs to be considered.

Programming Suggestions

MatesBUS products feature a single Serial UART, which is shared for programming from the Mates Studio IDE, as well as interfacing to a Host or other device.

When programming the MatesBUS product, it needs to be isolated from any other circuit that might be connected to the UART. Unplug any UART connections from the RX and TX, and program the MatesBUS module directly with the BBM Programmer. When programming is complete, connect the UART RX/TX back up to allow communication to the host/device to resume.

BBM Programmer

On some MatesBUS Adaptors/Development boards, a switch or jumper may be offered to isolate the RX pin, allowing only Programming TX signals to reach the MatesBUS products’ RX pin, until the switch is changed. This is useful as it means unplugging or unwiring the UART is no longer required when programming.

Illustration of Programmer and Host TX signals being switched between, going to the MatesBUS RX, while the RX signals are connected directly to the MatesBUS TX

The same situation applies for Hosts/Development boards which may also only have a single UART, as programming them often uses the UART too so they would need to be disconnected from the MatesBUS product to program them. This may not always be the case, and larger systems would often have multiple UART’s.

Considering the above, it is suggested to contemplate the programming process of the MatesBUS product that is to be connected. It is highly recommended to include provision to allow the MatesBUS product to be programmed without having to disconnect it from the Host system, every time. Adding a programming header for the MatesBUS product would aid the end customer considerably.

Design Example

If designing a Host board which incorporates a MatesBUS header, the following illustration provides an example where a Host could incorporate MatesBUS headers and associated programming parts.

The MatesBUS Headers illustrated at the top allow a MatesBUS compatible module to be easily connected to the Host platform.

The MatesBUS programming header at the bottom right of the illustration, along with the MatesBUS switch towards the upper right, are detailed more in the previous section.

The MatesBUS programming header uses the same signals that feature on Header 2 of the MatesBUS itself. RESET, GND, RX, TX, and 5V. Take note that RX and TX of the programmer go to TX and RX of the MatesBUS – as the MatesBUS pinout reflects the pinout of the product being connected. TX → RX, RX TX.

Revision History

Document

Revision Number Date Description
0.1 17/05/2021 Initial Draft
1.0 01/09/2021 Initial Public Release

MatesBUS Revision History

Revision Number Date Description
1.0 01/10/2020 Conception
Download Datasheet
Back to Resource Centre

Share this article on socials