Problem: UART communication with Unity running VESC 5

I’ve been unable to establish communication between my arduino and the COMM port.

  • I measured Tx and Rx on the Unity’s comm port and both are fixed at 3.3v.
  • My Arduino is a pro mini running at 3.3v, i’m using the one hardware serial port for debug output monitoring on my pc and NeoSWSerial to talk to the Unity with 2 of the digital pins (3,4)
  • NeoSWSerial runs at max 38400 baud so I’ve set the unity’s comm baud to this match number
  • When i try to send a command using the Arduino, I get nothing in return.
  • The only time I see any bits come through is during power on/off, but inconsistently, I think they’re just garbage.
  • I did try swapping Tx/Rx a couple of times during testing as well, no difference

wired up to these pins: Screen Shot 2020-11-15 at 9.09.09 AM

Command I tried sending: COM_GET_DECODED_PPM

Here’s the integer-based packet that ends up being encoded according to the protocol defined by VESC, with the full packet structure and checksums: 2,1,30,243,255,3,0