# Fazecast/jSerialComm

Platform-independent serial port access for Java

Repository: https://github.com/Fazecast/jSerialComm
Canonical: https://ross.abutalabs.com/products/jserialcomm
Homepage: http://fazecast.github.io/jSerialComm/
Language: C
License: LGPL-3.0
License Family: copyleft
Last push: 2025-11-07T13:47:25+00:00

## Health v2 (maintenance only)
Score: 58/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 51, release rhythm 43, longevity 100
- inputs: {"age_days": 4205, "days_push": 299, "days_rel": 302, "gap_med": 62.5, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1519, forks 313 (observed 2026-08-28T04:04:57.625883+00:00)

## What it is
jSerialComm is a platform-independent Java library for accessing serial ports without requiring external native tools or the deprecated Java Communications API. It bundles the correct native library per architecture and supports port enumeration, configuration, stream-based I/O, and event callbacks.

## Use cases
- read data from an Arduino over a serial port in Java
- enumerate available COM ports on Windows from a Java application
- communicate with RS-232 devices cross-platform in Java
- replace RxTx or JavaComm for serial port access
- open multiple serial ports simultaneously with timeout support
- receive callbacks when serial data arrives or modem lines change

## When to choose
- you need serial port access in a Java/JVM application across Windows, macOS, or Linux
- you want a lightweight, dependency-free alternative to RxTx or the Java Communications API
- you need event-based serial reading, configurable timeouts, or flow control
- you want automatic native library loading per architecture via Maven/Gradle

## When to avoid
- your project is not on the JVM (use pyserial, serialport, etc. instead)
- you need higher-level protocols over serial rather than raw byte/streams access
- you require LGPL-3.0-incompatible licensing terms

## Facets
- artifact type: library
- maturity: stable
- function: sdk, developer-tools
- domain: developer-tools, hardware, cross-platform
- platform: jvm, windows, cross-platform
- tags: serial-port, rs232, hardware-communication, embedded-devices, native-library, macos, linux

## Member repositories
- Fazecast/jSerialComm (main) score 58

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:57.625883+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:31:56.462763+00:00, confidence not recorded.
  - readme: https://github.com/Fazecast/jSerialComm (fetched 2026-08-28T04:04:57.625883+00:00, sha e893be010cfa)
  - homepage: http://fazecast.github.io/jSerialComm/ (fetched 2026-08-29T11:35:05.586154+00:00, sha 0865a3bd2a00)
- Data as of 2026-08-30T08:39:29.467469+00:00.
