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.

IWR6843AOP: IWR6843AOP

Part Number: IWR6843AOP
Other Parts Discussed in Thread: IWR6843

Tool/software:

We are in the process of porting an existing Windows GUI-based application to a web-based platform. Specifically, we're working on migrating the IWR6843 people counting software to the web. The current implementation relies heavily on a Windows toolbox, but our goal is to visualize the output directly in a browser, without depending on any desktop GUI software.

As part of this, we are integrating the IWR6843 sensor with a Raspberry Pi system using its UART interface. Our objective is to retrieve the human count and their X, Y, Z coordinates from the sensor and display that information on a web frontend.

We're looking for a lightweight version of the code that can run on the Raspberry Pi, communicate with the IWR6843 over UART, and extract only the necessary data namely, the human count and their 3D coordinates. This data will then be passed to the frontend for visualization.

Is there an existing codebase or example that focuses only on this functionality?

  • Hello, 

    We do not currently have a tool with the specific functionality you are talking about. A lightweight data parser that connects to and reads data from the device without any visualization or plotting of the data is something that has been discussed and requested before so this is something we may provide in the future but I can't say exactly if/when this would be released. 

    The closest options we have at this moment are the parsing script available in the SDK ({MMWAVE_SDK3_INSTALL}\packages\ti\demo\parser_scripts) which provides a python example for parsing the point cloud. Note, this script does not establish any serial connection. And the second option is our python based GUI application (mmWave Industrial Visualizer), which obviously does much more than what you need but it could serve as a reference to develop this type of application as it already includes the serial connection and data parsing, it would just be a matter of removing the unnecessary pieces.

    You may also be able to find some helpful github repositories from others such as this one but we have not verified these internally. 

    Best regards,

    Josh

  • Hello Josh,


    Thank you for pointing out.  I will that out.

  • Hello Josh,

    Is there any guide in the /Common/ folder of the visualizer that explains what each part of the code does?

  • Hi, 

    Sorry about the delayed response here. The only guide that currently exists for the visualizer is the user guide I linked above however I do not believe it documents the different parts of the visualizer code. If you have specific questions about what a part of the code does please feel free to post them on this forum and we can provide more information.

    Best regards,

    Josh

  • Hi josh,

    I'm working on porting the visualizer code to run on a Raspberry Pi without the GUI. Could you please let me know which parts of the code are essential for extracting the number of humans detected and their coordinates? We'll be displaying that data separately on the frontend.
    We are about to buy 10 thousands of IWR6843 radar sensor for our inhouse IoT sensor, and if we need proper support on this whom should I reach ?

  • Hello,

    if we need proper support on this whom should I reach ?

    You are always welcome to post any technical questions for TI parts on this forum here and that will usually be the fastest way to get an answer. For questions/issues outside the scope of this forum you can contact your local field engineer/sales rep. I have asked the relevant person to reach out to you directly. 

    Could you please let me know which parts of the code are essential for extracting the number of humans detected and their coordinates?

     The UARTParser class in gui_parser.py contains a lot of the main components that are required which are:

    1. Opening the serial connection. This is done in UARTParser.connectComPorts() (gui_parser.py)
    2. Sending the configuration file/commands to start the sensor. This is done in UARTParser.sendCfg() (gui_parser.py)
      1. If you want to simplify the process further, you can skip this step by modifying the application fw to "hardcode" the configuration. See this page for more information if this is something you are interested in.
    3. UARTParser->readAndParseUartDoubleCOMPort() (gui_parser.py) is called repetitively to parse incoming UART data.

    readAndParseUartDoubleCOMPort will read the incoming data and call the required parsing functions depending on which TLVs are output. If you are running the 3D people tracking example, parseTrackTLV (parseTLVs.py) gives you both the number of tracked targets and their coordinates/velocity/etc.. Optionally you may also wish to parse the point cloud (parseCompressedSphericalPointCloudTLV), point track indices (parseTargetIndexTLV), track heights (parseTrackHeightTLV), etc... 

    Best regards,

    Josh

  • Hi Josh,

    After sending this configuration, I receive an acknowledgment from the RADAR, but I’m not getting any data from the DataPort /dev/ttyUSB1.

    I understand that the CLI port is for sending commands, and the DataPort should provide people count and coordinates data. However, no data is coming through the DataPort after sending the config file.

    Could you please let me know if I need to send any additional commands after loading the configuration?



  • Hello, 

    Do you receive any response on the configuration port after sending the sensorStart command? It should respond there with 'done' similar to all the other commands. If there is no 'done' after sensorStart it may indicate a configuration issue. Is this a default configuration from the people tracking example or it is modified?

    Also, the data port uses a different baudrate than the configuration port (962100 compared to 115200) can you confirm you are opening the data UART with the correct baudrate. 

    Best regards,

    Josh

  • Hello Josh,

    I'm able to send cli command to the radar in response I'm getting this raw data



    is this what we supposed to get then using parseFrame  to parse incoming data ?

  • Hello, 

    Yes, that looks right. I can see the magic word "0201040306050807" which is part of each frame header. You can refer to readAndParseUartSingleCOMPort which shows how to find the magic word and parse one frame of data.

    Best regards,

    Josh