This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR6843ISK: Trouble connecting mmWaveICBoost module to Nvidia Jetson Orin via Serial.

Part Number: IWR6843ISK
Other Parts Discussed in Thread: MMWAVEICBOOST, , IWR6843

Hi There

I have written a software package for windows and ubuntu that allows me to stream raw data from a DCA1000 into a python script using mmwave_platform toolbox pre-built binaries. It works perfectly on my personal system (laptop Windows/Ubuntu). However, the radar actually needs to be interfaced with a Nvidia Jetson AGX Orin system. My software package uses the python serial and socket libraries to communicate with the DCA1000 and IWR6843ISK +mmWaveICBOOST boards. However upon trying to use my package, which I know works with regular windows and ubuntu, with the Orin the serial interface does it work. 

Some facts about the problem:

  1. The radar ttyACM0 and ttyACM1 appears in the /dev directory.
  2. The package opens the port successfully
  3. I am definitely using ttyACM0 which is the correct port but I have tried both anyway.
  4. The baudrates are correct (I've set them to 115200 on both the radar board binary and my python package)
  5. The package throws no erros when reading or writing. However, when trying to read a response from the device over serial, I only receive an empty bytes object and not the expected device response.
  6. The Orin uses Ubuntu Integra as it has a ARM core and not an x86 core which I believe is the source of the issue.
  7. The PySerial Library is working properly. I have verified this with another device that has Rx and Tx lines connected using a loopback script on the Orin. 
  8. There are additional files created in /dev when the device is plugged in which might be what is causing the issue (hidraw0 and usb) but not sure. 

I have an idea for a potential workaround. The loopback device I mentioned is just a ftdi232 USB to Serial (UART) converter. I thought it might be possible to connect the Orin to the radar via the Usb to Serial converter by recompiling the radar binaries to use any free pins on the mmwaveICBoost as the UART command port instead of using the radar xds110 usb port.

There are 14 JTAG pins not really being used by anything on the board. Can two of these pins be converted to just Tx and Rx pins? If this is possible can you give guidance on how the radar binary source code should be edited and recomplied in Code Composer Studio. 

Best regards

Nicholas Bowden

  • Hi Nicholas,

    Which prebuilt binary from the platform toolbox are you running?

    Best Regards,

    Josh

  • Hi Josh

    Thank you for your reply. I'm just using the mmwave_Studio_cli_xwr68xx.bin binary. But I'm actually trying something a bit different (which should be easier and achieve the same thing but is unfortunately still not working).

    I've got a micro controller acting as bridge between the Orin and Radar. The orin sends serial commands to the micro-controller and the microcontroller relays them to the radar. Currently:

    1. Laptop => Radar is working
    2. Orin => MicroController => Laptop is working
    3. Laptop=> MicroController => Radar is not working
    4. Orin => MicroController => Radar is not working

    Are there any special timing requirements I am missing? 

    Best regards

    Nic

  • Or possibly and issue with the terminator byte?

  • I apologise for the barrage of messages on this forum but I have checked the UART Signals on an oscilloscope and the signal from my laptop (which works) is identical to the signal from the ORIN (which doesn't work) in terms of timing and byte order etc. 

    Therefore, the only thing I can think of left to check is if it is a logic level issue (5V vs 3.3V)? If that could be the issue what logic level does the IWR6843 accept for the UART interface?

  • Hi Nicholas,

    I'm sorry for the late response. Please see this thread, the voltage level for the UART interface should be 3.3V.

    • Laptop => Radar is working
    • Orin => MicroController => Laptop is working
    • Laptop=> MicroController => Radar is not working
    • Orin => MicroController => Radar is not working

    When you say "not working." Specifically, what behavior are you seeing? 

    Best Regards,

    Josh

  • Hi Josh

    No worries, thank you for your help.

    "Not working" in this case means that I do not get any response from the radar. The baudrate is correct and other uart settings are correct. 

    But I have made some progress with plugging the radar straight into the Jetson Orin. I have achieved some level of communication using c++ instead of python by actually opening the /dev/ttyACM0 file and using termios.h etc. But this method has very inconsistent and poor results. I often have to unplug everything and plug it back in again to get around "file busy" permission type errors. The c++ code will work 1 in 100 times and I'll write a command such as dfeDataOutputMode 1\n and receive: 

    dfeDataOutputMode 1\n

    Done \n

    \rmmWaveDemo:/>\n

    But most of the time I am having to deal with the aforementioned errors or I just get no response back at all or I get all previous attempted read responses at once in one long string. 

    Best regards 

    Nic

  • Nic,

    Have you seen our ROS driver? This uses a c++ based library (serial) for interfacing with our devices. I think even if you are not using the ROS framework, you may be able to repurpose this for your needs. Please let me know if this will work.

    Best Regards,

    Josh