NeoSigrok
coming soonbald verfügbar

NeoSigrok

A logic analyzer for the Mac, built on sigrok.

Ein Logic Analyzer für den Mac, auf Basis von sigrok.

Capture, decode and measure digital signals in one workspace. The sigrok drivers and protocol decoders are bundled, so there is nothing to install besides the app.

Digitale Signale aufnehmen, dekodieren und messen, in einer Arbeitsumgebung. Die sigrok-Treiber und Protokoll-Decoder sind gebündelt, außer der App muss nichts installiert werden.

macOS 26 · Apple SiliconTauri 2 · Rust · Reactlibsigrok · libsigrokdecodenot yet publicnoch nicht öffentlich

The workspaceDie Arbeitsumgebung

Connect, set up the capture from one strip in the toolbar, capture, and read the decoded traffic directly beneath the wires it came from.

Verbinden, die Aufnahme in einer einzigen Leiste der Toolbar einrichten, aufnehmen und den dekodierten Verkehr direkt unter den Leitungen lesen, von denen er stammt.

An I²C read decoded beneath its SCL and SDA signals, with the transaction list below
An I²C read decoded beneath SCL and SDA, grouped into transactions below.
Ein I²C-Lesezugriff, dekodiert unter SCL und SDA, darunter in Transaktionen gruppiert.
SPI flash JEDEC ID read
SPI JEDEC ID read, MISO and MOSI decoded within the chip-select frame.
SPI-Abfrage der JEDEC-ID, MISO und MOSI innerhalb des Chip-Select-Rahmens dekodiert.
UART console output decoded with ASCII
UART console traffic with bytes and characters.
UART-Konsolenverkehr mit Bytes und Zeichen.
viewer

Built for large captures

Rust answers each viewport with a per-pixel summary. Zoomed out, no pulse disappears, down to a single sample.

viewer

Gebaut für große Aufnahmen

Rust beantwortet jeden Bildausschnitt mit einer Zusammenfassung pro Pixel. Auch herausgezoomt verschwindet kein Puls, bis hinunter zu einem einzelnen Sample.

decode

111 protocol decoders

Guided setup for I²C, SPI and UART; CAN, 1-Wire, I²S, SWD, JTAG and the rest via search.

decode

111 Protokoll-Decoder

Geführte Einrichtung für I²C, SPI und UART; CAN, 1-Wire, I²S, SWD, JTAG und alle weiteren über die Suche.

lanes

Annotations in context

Decoder lanes sit right under their signals. Dense regions collapse into counted clusters instead of overlapping.

lanes

Annotationen im Kontext

Decoder-Spuren liegen direkt unter ihren Signalen. Dichte Bereiche fallen zu gezählten Gruppen zusammen, statt sich zu überlagern.

events

Transactions

I²C start-to-stop, SPI chip-select frames, UART lines. Searchable; click one to zoom to it.

events

Transaktionen

I²C von Start bis Stopp, SPI-Chip-Select-Rahmen, UART-Zeilen. Durchsuchbar; ein Klick zoomt hinein.

.sr

Sessions that interoperate

Standard sigrok files that PulseView and sigrok-cli open, plus VCD and CSV export.

.sr

Kompatible Sitzungen

Standard-sigrok-Dateien, die PulseView und sigrok-cli öffnen, dazu VCD- und CSV-Export.

stacking

Decoders on decoders

Protocol decoders that build on I²C, SPI or UART stack on top, from EEPROMs to sensors.

stacking

Decoder auf Decodern

Protokoll-Decoder, die auf I²C, SPI oder UART aufbauen, stapeln sich darüber, von EEPROMs bis zu Sensoren.

Built on sigrokAuf Basis von sigrok

sigrok is the open-source foundation for logic analyzers: libsigrok drives the hardware, libsigrokdecode brings a large library of protocol decoders, and PulseView and sigrok-cli are proven tools on top. NeoSigrok talks to both libraries directly through Rust FFI and ships them inside the app. The interface is designed around what you are doing rather than how sigrok is configured.

sigrok ist das Open-Source-Fundament für Logic Analyzer: libsigrok steuert die Hardware, libsigrokdecode bringt eine große Sammlung an Protokoll-Decodern mit, und PulseView und sigrok-cli sind bewährte Werkzeuge darauf. NeoSigrok spricht über Rust-FFI direkt mit beiden Bibliotheken und liefert sie in der App mit. Die Oberfläche ist darauf ausgelegt, was du gerade tust, nicht darauf, wie sigrok konfiguriert wird.

StepSchrittsigrok toolssigrok-WerkzeugeWith NeoSigrokMit NeoSigrok
InstallInstallierenPackages or build, plus firmware filesPakete oder selbst bauen, plus Firmware-DateienOne app: libraries, decoders and firmware bundledEine App: Bibliotheken, Decoder und Firmware gebündelt
Set upEinrichtenDevice, rate, samples, channels, triggersGerät, Rate, Samples, Kanäle, TriggerThe same, in one toolbar stripDasselbe, in einer einzigen Toolbar-Leiste
DecodeDekodierenPick decoder, assign channels and optionsDecoder wählen, Kanäle und Optionen zuweisenChannels pre-assigned by name, UART baud rate detectedKanäle nach Namen vorbelegt, UART-Baudrate erkannt
ReadLesenAnnotation rowsAnnotationszeilenAnnotation rows plus a searchable transaction listAnnotationszeilen plus eine durchsuchbare Transaktionsliste
SaveSpeichern.sr session files.sr-SitzungsdateienThe same .sr files, both waysDieselben .sr-Dateien, in beide Richtungen

MeasurementsMessungen

Two cursors that snap to edges give Δt and 1/Δt. At the cursor: pulse width, period, frequency and duty cycle. Over a selection: edge statistics. Hover any pulse for a readout.

Zwei Cursor, die an Flanken einrasten, liefern Δt und 1/Δt. Am Cursor: Pulsbreite, Periode, Frequenz und Tastgrad. Über eine Auswahl: Flankenstatistik. Jeden Puls überfahren für einen Messwert.

Cursor measurement of a PWM period
Cursors on a PWM period, with a single-sample glitch still visible.
Cursor auf einer PWM-Periode, ein Glitch von einem einzigen Sample bleibt sichtbar.
Decoder setup sheet
Adding a decoder: signals pre-assigned, baud rate detection.
Decoder hinzufügen: Signale vorbelegt, Baudrate wird erkannt.
Start / stop captureAufnahme starten / stoppen⌘R
Capture setupAufnahme einrichten⌘K
Add decoderDecoder hinzufügen⌘D
Zoom in / out / fitVergrößern / verkleinern / einpassen⌘+ ⌘− ⌘0
Cursor A / BCursor A / Bclick · ⌥-click
Previous / next edgeVorige / nächste Flanke[ ]
Select range, zoom to itBereich wählen, hineinzoomen⇧-drag, Z
Find eventsEreignisse suchen⌘F

Hardware

NeoSigrok works with the logic analyzers supported by libsigrok, from inexpensive 8-channel USB boards to dedicated instruments. Plug one in and it shows up; firmware a device needs is bundled and loaded automatically.

NeoSigrok arbeitet mit den Logic Analyzern, die libsigrok unterstützt, von günstigen 8-Kanal-USB-Boards bis zu eigenständigen Messgeräten. Einstecken, und das Gerät erscheint; benötigte Firmware ist gebündelt und wird automatisch geladen.

Capture setup popover with device, rate, length, channels and trigger
Capture setup: device, rate, length, channels, trigger.
Aufnahme einrichten: Gerät, Rate, Länge, Kanäle, Trigger.

How it worksFunktionsweise

Native sideNative Seite

  1. One thread per native library: an engine thread owns libsigrok, a decode thread owns libsigrokdecode and its embedded Python.
  2. Acquisition never blocks the interface; stopping uses libsigrok's thread-safe stop.
  3. Every library is relocated into the app bundle; the build fails if anything points outside it.
  1. Ein Thread pro nativer Bibliothek: Ein Engine-Thread besitzt libsigrok, ein Decode-Thread libsigrokdecode samt eingebettetem Python.
  2. Die Aufnahme blockiert nie die Oberfläche; zum Stoppen dient der threadsichere Stopp von libsigrok.
  3. Jede Bibliothek wird ins App-Bundle verlagert; der Build scheitert, wenn irgendetwas nach außen zeigt.

Samples stay in RustSamples bleiben in Rust

  1. A capture is kept exactly as the driver delivered it.
  2. A pyramid of per-block change masks (≈3 % overhead) answers pixel queries, edge searches and measurements without scanning quiet regions.
  3. The interface only ever receives what fits on screen.
  1. Eine Aufnahme bleibt genau so erhalten, wie der Treiber sie geliefert hat.
  2. Eine Pyramide aus Änderungsmasken pro Block (≈3 % Mehraufwand) beantwortet Pixelabfragen, Flankensuchen und Messungen, ohne ruhige Bereiche zu durchsuchen.
  3. Die Oberfläche bekommt immer nur das, was auf den Bildschirm passt.

Status

coming soonbald verfügbar

Not public yet.Noch nicht öffentlich.

NeoSigrok is in development. Source, under the GPL-3.0 like libsigrok itself, follows with the first release.

NeoSigrok ist in Entwicklung. Der Quellcode folgt mit dem ersten Release, unter der GPL-3.0 wie libsigrok selbst.