FDC1004QEVM: LabVIEW 2010 Interface for FDC1004EVM, FDC1004QEVM and FDC2214EVM

Part Number: FDC1004QEVM

Attached is a copy of the LabVIEW modules that Yibo provided to several users in this thread .

However, thanks to Evgeny's response in this thread

I updated the read register module to accommodate all 3 EVM boards.

I cannot confirm its operation on the FDC2214EVM board but assumed it originally worked prior to my updates.

Join the dark side!


  • The files are provided as is. The user should assume all responsibility and risk in using these files.



  • Hello,

    I combined a couple of the VI files and put them into one file. Outside a while loop, I write the registers (based on a setup for a test I am running) and tell the FDC2214EVM to start streaming. Inside the while loop, I read back from the EVM, then I perform the calculations to get the sensor capacitance and I graph this information. For each data point I receive in Y (capacitance), LabVIEW plots this in X as a series of increasing integers.

    When using the TI GUI, the data is sent to a CSV file as Y(capacitance) and X(time) instead of a series of increasing integers. My question is how do I get the time component along with capacitance when taking a read  - (Samples/second/channel is set to 829.694 in this instance)? When the data is in a while loop, it will loop as fast as it can to get data reads. If a timer is introduced, data points will be lost. Is there a way to have an accurate time output from VISA?

    Please note: Attached files are the responsibility of the user.


  • In reply to James Mannion:

    Hello James,

    I cannot open your vi (no LV2016 on my machine), but if it's based on the source given above in this thread, then it uses a legacy protocol, for which timestamp in the data packet is not available.

    The FW implements this old legaxy protocol as well as a newer protocol with the time stamp, which TI GUI uses. We are working on documenting this protocol, and will likely provide LV wrappers as well.

    In the meanwhile you can use LV timestamp in your while loop to get the time. Not as accurate as MCU timestamp, of course, but do you really require that kind of precision? moreover, if I recall correctly, the legacy prtocol does not support streaming faster than 1kS/s anyway.

    With best regards,

    Evgeny Fomin

    Pr. Systems Architect


  • In reply to Evgeny Fomin:

    Hi Evgeny,

    I have attached a saved VI in LabVIEW 10 version (hopefully). The reason I am looking to get the timestamp data with the capacitance is because I am trying to get the frequency of the oscillation of capacitance back from the board. I am not able to get the loop data to give me timestamp data that works for this purpose.

    To get the time data, I would need to issue a different set of commands from another protocol set? Is there a rough draft of the new protocol available currently?

    Thank you for your help,

    James Mannion

    New Tester.zip

  • In reply to James Mannion:

    Hello James,

    I would organize your VI differently.

    In 1 loop, I would collect 32 bytes from port, get LV timestamp  right after data is collected, and send all to another loop which will be processing the data.

    As it is implemented, it takes a long (and unpredictable) amount of time to update the front panel.

    The new protocol is implementation is shown in C:\ti\Sensing Solutions EVM GUI-1.9.1\PC GUI\node_modules\SspEvmNodeJS\SensingSolutionsEvm_Protocol_0v1.js

    Open the file with something like notepad, and you will see the format.

    With best regards,

    Evgeny Fomin

    Pr. Systems Architect