• VEXcode Robotics Logo VEX Robotics Logo
  • VEX API Home Button VEX API Home Button
  • VEX 123 logo in purple VEX 123 logo in white
  • VEX GO logo in lime green VEX GO logo in white
  • VEXcode AIM logo in blue VEXcode AIM logo in white
  • VEX IQ logo in blue VEX IQ logo in white
  • VEX EXP logo in red VEX EXP logo in white
  • VEX V5 logo in red VEX V5 logo in white
  • VEX CTE logo in green VEX CTE logo in white
  • VEXcode VR logo in gold VEXcode VR logo in white
Skip to main content
Ctrl+K

< Back to Platform Select

  • VEX EXP
  • Python
  • MessageLink
  • VEXcode Robotics Logo

Section Navigation

  • Blocks
  • Switch
  • Python
    • Enums
    • Accelerometer
    • AddressableLed
    • AiVision
    • AnalogIn
    • Arm
    • Brain
    • Bumper
    • Color
    • Competition
    • Controller
    • DigitalIn
    • DigitalOut
    • Distance
    • DriveTrain
    • Electromagnet
    • Encoder
    • Event
    • Gyro
    • Inertial
    • Led
    • Light
    • Limit
    • Line
    • MessageLink
    • Motor
    • Motor29
    • MotorGroup
    • MotorVictor
    • ObjectDetector
    • Optical
    • Pneumatic
    • Potentiometer
    • PotentiometerV2
    • Print Console
    • Pwm
    • Rotation
    • SerialLink
    • Servo
    • SignalTower
    • SmartDrive
    • Sonar
    • Thread
    • Triport
    • Vision
  • C++

Platform Navigation

  • VEX 123 logo in purple VEX 123 logo in white
  • VEX GO logo in lime green VEX GO logo in white
  • VEXcode AIM logo in blue VEXcode AIM logo in white
  • VEX IQ logo in blue VEX IQ logo in white
  • VEX EXP logo in red VEX EXP logo in white
  • VEX V5 logo in red VEX V5 logo in white
  • VEX CTE logo in green VEX CTE logo in white
  • VEXcode VR logo in gold VEXcode VR logo in white

MessageLink#

  • What is a Message Link?

  • Initializing the MessageLink Class

  • Class Methods

    • is_linked()

    • send()

    • receive()

    • received()

    • installed()

What is a Message Link?#

VEXlink enables an EXP Brain to communicate with another EXP Brain, allowing for point-to-point connections and the creation of communication meshes between multiple robots. It supports both wireless and wired communication, with wired connections recommending a modified smart cable to prevent power routing issues. For wireless communication, each robot needs a V5 Robot Radio connected to a Smart Port, and the VEXlink Radio can be used alongside a V5 Controller’s VEXnet radio, which should be connected to the highest numbered Smart Port to avoid conflicts.

The MessageLink class within VEXlink facilitates sending simple messages, such as “play” and “stop,” with minimal data to the connected robot.

Initializing the MessageLink Class#

A VEXlink is created by using the following constructor:

MessageLink(port, name, linktype, wired)

This constructor uses four parameters:

Parameter

Description

port

A valid Smart Port that the VEXlink Radio is connected to.

name

The name of this link. It is recommended that this unique string is long enough that when hashed by vexos it will create a unique ID. A bad link name would be something generic such as “vexlink” as it may be used by another team.

linktype

The type of link, either VexlinkType.MANAGER or VexlinkType.WORKER. This information is used to correctly configure the radio and also determines available bandwidth for transmission and reception. A manager robot has double the available bandwidth (1040 bytes/second) to send information to the worker robot (520 bytes/second).

wired

Optional. Whether or not it is a wired link. Set to True if wired.

# Construct a VEXlink "link" with the MessageLink class.
link = MessageLink(Ports.PORT1, "Link", VexlinkType.MANAGER)

This link object will be used in all subsequent examples throughout this API documentation when referring to MessageLink class methods.

Class Methods#

is_linked()#

The is_linked() method returns the VEXlink’s current status.

Returns: True if the VEXlink is active and connected to the paired Brain. False if it is not.

send()#

The send(message, index, value) method sends a message through the VEXlink.

Parameters

Description

message

The message to send.

index

Optional. An integer, such as a port number.

value

Optional. A float.

Returns: The length of transmitted data or None if there is an error.

# Send the message 'test' with no parameters.
link.send('test')

# Send the message 'test' with parameters.
link.send('test', 1, 3.14)

receive()#

The receive(timeout) method receives a message from the VEXlink.

Parameters

Description

timeout

Optional. The timeout duration for receiving the message in milliseconds before the function returns.

Returns: The received message or None if there is an error.

received()#

The received(callback, arg) method registers a callback function for when a message is received. If the message is omitted then the callback function will be called for all messages.

Parameters

Description

callback

The callback function to be called when a message is received.

arg

Optional. A tuple of arguments to pass to the callback function.

Returns: None.

# Define a function message_received()
def message_received():
    # The Brain will print that the message was received by
    # the Message Link on the Brain's screen.
    Brain.screen.print("message received")

# Run message_received() when a message is received.
link.received(message_received)

installed()#

The installed() method checks if the VEXlink is connected.

Returns: True if the VEXlink is connected. False if it is not.

previous

Line

next

Motor

On this page
  • What is a Message Link?
  • Initializing the MessageLink Class
  • Class Methods
    • is_linked()
    • send()
    • receive()
    • received()
    • installed()
Innovation First, International

VEX and VEX Robotics are trademarks or service marks of Innovation First, Inc. Copyright ©2025. All Rights Reserved. VEX Robotics, Inc. is a subsidiary of Innovation First International, Inc. All other product names / marks of others are the property of their respective owners. Patents and / or Patents Pending - innovationfirst.com/patents
Site Privacy Policy / Site Terms of Use / Cookie Policy / Software Privacy Policy

Visit the VEX Robotics Facebook Page Visit the VEX Robotics Twitter Page Visit the VEX Robotics Instagram Page Visit the VEX Robotics YouTube Page
VEX API Feedback Form

We value your feedback! Use this form to share suggestions, compliments, or report errors with the VEX API. Your input helps us enhance the VEX API documentation.

If you are experiencing technical issues or require customer support, please visit support.vex.com.

  • Send Happy Feedback
  • Send Sad Feedback

Note: the current URL will be shared with your message

By including your email address, you agree that VEX may send you email emails if we have questions about your feedback.
Privacy Policy >
Choose Which VEX IQ Generation to View

VEX IQ (1st gen)

VEX IQ (2nd gen)