# Newbie to NR, USB CDC challenge

**URL:** <https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530>\
**Category:** Hardware\
**Created:** [31 May 2021 22:39 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530 "2021-05-31T22:39:30Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![DrGeoff](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@DrGeoff](https://discourse.nodered.org/u/DrGeoff)\
**Post date:** [31 May 2021 22:39 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/1 "2021-05-31T22:39:31Z")

</div>

We have devices that use FS-USB rather than UART, with their own VID and PID. I have integrated the node-red-contrib-usb 1.0.0 node, but as a newbie I am struggling to see how to use it. I have been searching for a simple example flow of data in/out and how to use the USB nodes for CDC.  
This is not a virtual serial port topic, since we wish our devices to be auto-recognised through the USB VID/PID process automatically.  
Hoping someone might be able to advise.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [1 June 2021 18:56 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/2 "2021-06-01T18:56:45Z")

</div>

Welcome to the forum @DrGeoff

If you look at the node's page in the node-red flows library you will see that it has not been updated in 5 years, and if you look at it's github page there are several unaddressed issues. It looks likely that the node is abandoned.

What devices are you trying to access? How do they appear to the OS?

---

<div class="post-metadata">

**Author:** ![DrGeoff](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@DrGeoff](https://discourse.nodered.org/u/DrGeoff)\
**Post date:** [1 June 2021 22:16 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/3 "2021-06-01T22:16:32Z")

</div>

Thanks Colin,

Yes, I see that the node is abandoned, and that there are bulk transfer .js files that have also not been implemented.

Our devices use FS-USB, full speed USB, and are true USB devices rather than just serial comms. There is a VID/PID. The devices are IoT systems we have been developing that will have periodic requirement for data download that is not appropriate to do using the LoRaWAN aspect of the product.

We need to have data inputs to update the devices, and transferring of data out of the devices into CSV and JSON formal. So Node Red is interesting to us but I have not used it before. It looks like the perefect solution/console, except for the USB aspect.

I do have the data showing in debug using SERIAL Comms, and some buttons sending instructions back to the devices. But in the real world the USB cable will be plugged into different devices, where COM Port definitions will change.

I was surprised to see no active and proven USB solution in the NODE-RED box.

---

<div class="post-metadata">

**Author:** ![DrGeoff](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@DrGeoff](https://discourse.nodered.org/u/DrGeoff)\
**Post date:** [1 June 2021 22:32 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/4 "2021-06-01T22:32:22Z")

</div>

Colin, I should have answered your question. It appears as a CDC device.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [1 June 2021 22:38 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/5 "2021-06-01T22:38:10Z")

</div>

You will likely need to develop a contrib node for node-red. You might be able to use [this library](https://github.com/NordicPlayground/node-usb-cdc-acm) as a dependency.

---

<div class="post-metadata">

**Author:** ![DrGeoff](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@DrGeoff](https://discourse.nodered.org/u/DrGeoff)\
**Post date:** [1 June 2021 23:28 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/6 "2021-06-01T23:28:08Z")

</div>

Steve I stumbled across that as well in my searches. The last thing the world needs is for a non-JS programmer to develop a contrib node when I am not familiar with the environment. I will have a look further at how to do it though.

---

<div class="post-metadata">

**Author:** ![Andrei](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/andrei/32/10446_2.png) [@Andrei](https://discourse.nodered.org/u/Andrei)\
**Post date:** [2 June 2021 00:53 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/7 "2021-06-02T00:53:23Z")

</div>

> [@DrGeoff](#):
>
> The last thing the world needs is for a non-JS programmer to develop a contrib node

As a first recommendation I would tell you to have a look on [NPM module usb](https://www.npmjs.com/package/usb) as it seems to be a good API (mainly because it uses [libusb](https://libusb.info/) under the hood) to talk to USB devices. No need to develop anything, just learn how to use the capabilities of the package. If you are not comfortable with Node / JavaScript then you might consider exploring the Python land. There you will find the [pyusb](https://github.com/pyusb/pyusb/blob/master/docs/tutorial.rst) which seems to be a comprehensive library. Third option, which may be good for those who develop embedded devices in the library [tinyusb](https://github.com/hathach/tinyusb). It supports a great deal of microcontrollers. Just lags behind on the side of USB host stack.

---

<div class="post-metadata">

**Author:** ![DrGeoff](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@DrGeoff](https://discourse.nodered.org/u/DrGeoff)\
**Post date:** [22 June 2021 04:29 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/8 "2021-06-22T04:29:12Z")

</div>

I have moved my project to VS Code and Electron. But I am looking for some help getting Node-USB installed if anyone can assist. Prepared to cover costs for an hour of two of someone's time helping me get Node-USB installed and working. As I am lightly experienced in this area, getting confused with installation requirements.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [21 August 2021 04:29 UTC](https://discourse.nodered.org/t/newbie-to-nr-usb-cdc-challenge/46530/9 "2021-08-21T04:29:35Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
