HIDSharp is a multiplatform C# library for USB HID devices, COM enabled to additionally allow use by VB6 and MS Access programs (the .NET Framework will of course need to be installed). It has received four years of continual use with a Dymo Scale in MS Access, and two years with a wide variety of USB HID devices I've developed, so I know it to be reliable.

HIDSharp supports Windows, MacOS, and Linux (hidraw).

HIDSharp uses the ISC license.


Version 1.5 (May 18, 2013) (includes C# sample)
Version (April 21, 2013) (includes C# sample)
Version 1.3 (February 23, 2013) (includes C# sample)
Version 1.1 (July 28, 2012) (includes C# and VB6 samples)
Version 1.0 (August 28, 2010) (includes C# and VB6 samples)
NuGet Package "HidSharp"
Online Documentation

Version History

1.5 (May 18, 2013):
Added the DevicePath property to HidDevice.
This is useful for differentiating devices with the same VID, PID, etc. (April 21, 2013):
Added missing XML documentation file to the archive.

1.4 (April 20, 2013):
Documented the most important classes.
Fixed a problem with output reports on 64-bit Windows.
Fixed a timeout bug on Windows.
Parallelized device enumeration.
Reordered platform detection to prevent binary planting on Windows.

1.3 (February 23, 2013):
Fixed Linux libudev reference to not require developer package symlinks.

1.2 (October 16, 2012):
Fixed MacOS support.

1.1 (July 28, 2012):
Added experimental MacOS and Linux support.
Added experimental report descriptor parsing.

1.0 (August 28, 2010):
Initial release.