finds.dev← search

// the find

sige5193/bittly

★ 772 · JavaScript · GPL-2.0 · updated Mar 2023

A testing tool for serial port, network, bluetooth, http, websocket, ...

Bittly is a desktop and browser app for sending and inspecting messages over serial ports, TCP and UDP, Bluetooth, HTTP, WebSocket, MQTT and Modbus. It is aimed at embedded and hardware engineers who need to hand-build text or binary payloads, save them as reusable directives, and check what comes back.

Each transport lives in its own folder with a Communicator, a TargetEditor, a Popover and specs, registered through CommunicatorFactory, so the protocol boundary is clear and adding a transport is a contained change. The serialport, net socket and dgram layers have mocks under __tests__/mocks, so the communicator logic can be tested without a device attached. Payload building is separated from the UI: text, hex, file, form and none each have a BuildHandler, so encoding logic is not tangled into the editor components. The same source targets Electron and the browser, with Web Serial and Web Bluetooth handlers alongside the Node and Electron ones, which means the platform differences are isolated in named handler files.

The last push was 2023-03-31, so the project has not moved in over three years. Electron, the serialport bindings, Vue and Ant Design are probably well behind, and the workflow files alone do not show whether the build still passes. Bluetooth is split across three handlers (classic, Electron BLE and Web BLE), so behavior will differ by OS and browser, and each path needs real hardware to verify. The license is GPL-2.0, so a team that wants to embed parts of this in closed tooling would have to open source that work, which rules it out for some adopters. Most of the support channels in the README are QQ and WeChat groups, and the manual is hosted on an external site, so the English-speaking route to answers is thinner than the bilingual README suggests.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →