VEX Serial or Smart Ports

Hi is anyone aware of the pinouts of the V5 Smart Ports and the 3 wire ports? I read on these posts below that the smart ports might use I2C and the triport support serial but I’m not sure how to get started. Essentially, I’d like to communicate data to my program via a 3rd party device like an esp32. Does anyone have any more information or guides on this? Even if the smart ports were inaccessible I could probably use 2 triports for data and another for a 1 way clock but I’d like to avoid that.

https://www.vexforum.com/t/v5-brain-smart-ports/104497/4
https://www.vexforum.com/t/smart-ports-power-wire/68061/4

Also, would I have to complete the triports’ circuits by connecting the power and ground? I’m only interested in the data line for now but I might explore power the esp32 via the Brain.

  • 3-wire ports are for basic digital I/O, serial communication isn’t possible at this point in time. You may have seen some references to I2C or SPI on the smart ports, disregard that. Even bit-banging isn’t really an option since you can only command the ports to change state once every 10ms.
  • V5 smart ports use RS485, not I2C, and do support a generic serial mode, which VEXU teams routinely use to communicate with offboard processors. Unless your device natively supports RS485 however, you’ll likely need an RS485 transceiver. Pinout for the smart cables depends on how they were crimped, see these posts:
    Smart Ports Power Wire - #4 by nickmertin
    Smart Ports Power Wire - #9 by Andrew_Strauss
  • The USB port on the brain is also another option for communications with other devices, however you will be restricted to devices which themselves can act as a USB host (such as a raspi, nvidia jetson, etc). I’m not sure if the esp32 can act as a USB host.
2 Likes

The pinout for the smart ports is shown in the picture in the second post you linked. Note that the power (+) line is battery power (with a margin of safety, 11V to 14V, depending on the charge level of the battery). The pinout for the 3-wire ports is black=ground, red=5V, white=signal (anywhere from ground to +5V is acceptable).

As it says in the posts you linked, the smart ports use UART over RS-485. This means you will need to use an RS-485 transciever chip to talk to it using the UART port of another device. The 3-wire ports are unfortunately not capable of serial communication.

Connecting power and ground is generally not a good idea.

3 Likes

Do you have any more guidance on how I can use the smart ports? I can probably get the hardware for the 3rd party device working but I’m not sure how to communicate back in the program. How is this normally done in VEX U? I’d like to stick with VEXCode but I’m sure PROS has a better ecosystem when it comes to this.