jAER - Desktop Application for Event Sensors

September 17, 2026 · View on GitHub

Welcome to jAER

Download: jaerproject.org (platform installers). Source on GitHub. Permanent link: https://jaerproject.org

Why use proprietary vendor camera software? jAER is a full-featured 2026 cross-platform (Linux, Windows, macOS) desktop application for neuromorphic event cameras and silicon cochleas from all major manufacturers (inilabs, iniVation, Prophesee, and NRV). jAER is the grandparent of all event camera software, developed by the lab that invented the DVS and HVS events+frames cameras. jAER accumulates 20 years of hands-on experience with event sensors, with daily work with event cameras as silicon developers (see actual Davis346 layout) and application demonstrators.

(jAER gives you plug-and-play, "it just works" for the most popular commercial event cameras.)

jaer3

Installation

You can find the latest releases and binary install4j installers at https://github.com/SensorsINI/jaer/releases. See video installing and updating jaer on YouTube.

Installers are GitHub Release assets (~250 MB each for release 3.3+, with bundled Eclipse Temurin JRE). Older installers remain on Dropbox (jaer-older-installers).

  • Linux: Run the installer with sh <installer>.sh. Then you can run jaer from the installation directory or GNOME menu. Official apt is not provided (USB cameras need an unsandboxed install).

  • Windows: 3.5.0+ installers are Authenticode-signed (publisher Tobias Delbruck). Use More infoRun anyway until SmartScreen has seen this signature enough times. winget can install the signed build even while that warning still appears. If Smart App Control blocks the launcher, allow the app or turn that feature off. USB cameras: bind WinUSB with Zadig if jAER reports LIBUSB_ERROR_NOT_SUPPORTED.

  • macOS: Pick the Apple Silicon DMG (jAER_macos_aarch64_*.dmg) on M1–M4, or the Intel DMG (jAER_macos_*.dmg, no aarch64 in the name). Double-click the .dmg (it mounts a disk; it does not start Setup). In the Finder window, double-click the installer app (jAER <version> Installer on notarized builds, for example jAER 3.5.0 Installer; older DMGs use a longer name ending in Installer). 3.5.0+ DMGs are Apple Developer ID signed and notarized by Apple; Gatekeeper shows identified developer Tobias Delbruck. If you still have an unsigned DMG, use Open a Mac app from an unidentified developer (right-click Open). Prefer a user folder, not /Applications, unless you are on a notarized build. Apple Silicon: USB cameras need Homebrew libusb: brew install libusb. ant run installs it when Homebrew is present.

Installed copies (not git checkouts) can Download and install from Help → Check for release updates…

Optional [sample recordings]](sampleData/README.md) are not in the basic installer. The Welcome screen offers a download (jaer-sample-data.zip from the GitHub Latest release), or you can File → Open and Help → Sample data → Download jAER sample data.

The install4j installers bundle Eclipse Temurin 25 from Adoptium.

Features

jAER efficiently

  • captures USB event camera output from most devices,
  • denoises -- with fast and accurate algorithms
  • displays -- with a variety of color, 2D/3D, and powerful fading and sliding window event accumulation options
  • records -- in a high-speed compressed format (AEDAT-4), including timed and rotating extended VCR recordings that can span days or weeks.
  • plays back -- a big variety of formats, with flexible time/event rate, markers, and IN/OUT points
  • allows complex post camera algorithmic processing of the device output stream (see jAER Applications), using EventFilter chains that automatically build user-friendly UI property panels.

Use it to set up your sensors, record and inspect your datasets, and serve recorded or live event sensor output via File → Remote. How-to for new users: live camera server + Python dataloaders.

You can also

jAER demo

Interacting with jAER

Device hardware support

jAER supported cameras

Live USB cameras selectable in the AEViewer AEChip menu (default list and related variants). Live USB operation is verified on Windows, macOS (including Apple Silicon), and Linux. File playback for many more sensors is listed in docs/README-file-formats.md. Status is the chip’s @DevelopmentStatus (Stable or Experimental).

Camera / productManufacturerSensor / resolutionInterfacejAER chip class(es)Status
DAVIS346 (red/blue/color)iniVationAPS+DVS 346×260USB 3 (FX3)Davis346red, Davis346blue, Davis346redColor, …Stable
DAVIS240 (A/B/C)iniVation / inilabsAPS+DVS 240×180USB 2/3DAVIS240C, DAVIS240B, …Stable (DAVIS240C); Experimental (DAVIS240A/B)
DVXploreriniVationDVS (Samsung S5K231Y) 640×480, 9 µmUSB 3 (FX3)DVXplorerStable
DVXplorer MiniiniVationsame Samsung DVS 640×480, 9 µmUSB 3 (CX3 MIPI)DVXplorerStable
DVXplorer MicroiniVationsame Samsung DVS 640×480, 9 µmUSB-C (CX3 MIPI)DVXplorerStable
DVS128inilabs / SensorsINIDVS 128×128USB 2 (FX2)DVS128Stable
EVK4 HDPropheseeSony IMX636 DVS 1280×720USB 3 (Cypress)PropheseeIMX636HDStable (notes); also Metavision .raw EVT3 playback
DELTA01NRVSamsung S5KRC1S DVS 960×720USB 3 (FX20/CX3)NRVS5KRC1SStable (notes)
CDAVISSensorsINI / iniVationColor APS+DVS 640×480 / 320×240 DVSUSB 3CDAVISExperimental
SciDVSSensorsINISensitive 100×114 DVS / Basic APSUSB 3SciDVSExperimental
CochleaAMS / CochleaLPSensorsINI / inilabsSilicon cochlea (audio AER)USB 2/3CochleaAMS1c, CochleaLP, …Stable (CochleaAMS1c); Experimental (CochleaLP)
Generic DVS viewers640×480, 1280×720Playback / vizDVS640, DVS1280x720SDStable

Stereo and multi-camera wrappers (e.g. DVS128StereoPair, MultiDAVIS346BCameraChip) combine several of the above over separate USB interfaces.

Hardware docs in Help menu: iniVation cameras, Prophesee sensors, NRV cameras. USB enumeration, the Interface menu, EDT rules, and per-camera libusb quirks: docs/README-usb.md.

FOV calculator: estimate field of view from pixel pitch, array size, and lens focal length. Lives in the sibling repo SensorsINI/lensFOV (local checkout ../lensFOV next to this jaer folder). Open ../lensFOV/index.html locally; after Pages is enabled it will be at sensorsini.github.io/lensFOV.

Quick start sample data

jAER was developed since 2007 by the Sensors Group, Inst. of Neuroinformatics, UZH-ETH Zurich to support event sensors and robot demonstrators.

T. Delbruck, “Frame-free dynamic digital vision,” in International Symposium on Secure-Life Electronics, University of Tokyo, Mar. 2008, pp. 21–26. doi: 10.5167/uzh-17620. Available: http://dx.doi.org/10.5167/uzh-17620

We gratefully acknowledge contributions from inilabs, iniVation, and NRV, for their technical support and gifts of prototype cameras. A special thanks to Luca Longinotti and Eric Ryu.

Key contributers to jAER from Sensors Group people include Shih-Chii Liu, Patrick Lichtsteiner, Raphael Berner, Christian Brandli, Rui Graca, Minhao Yang, Chenghan Li, Gemnma Taverni, Min Liu, Diederick Moeys, Yuhuang Hu, Matthias Oster, Bodo Rueckauer, Antonio Rios, Alejandro Linares-Barranco, Junhaeng Lee, Asude Aydin, Iulia Lungu, Damien Joubert, Germain Haessig, and Shasha Guo.

jAER relies on many open source projects, including:

We thank the developers of these and other open source projects that make jAER possible.

jAER applications

jAER originally targeted characterization of Sensors Group event cameras and silicon cochleas, but has also been used to build many robots:

  1. robogoalie (code)
  2. audio localization by spike ITD (code)
  3. speaker identification from spiking cochlea (code)
  4. laser goalie (code)
  5. pencil balancer (code)
  6. bill (money) catcher (code)
  7. slot car racer (code)
  8. Dextra roshambo (rock-scissors-paper) (code) — hello world: File → Remote → DNN shared memory output… (outputMode=EventCountFrames) and dextra-roshambo-python consumer.py --jaer-mmap (guide)
  9. incremental learning of new roshambo hand symbols (code)

jAER was also used to develop many event camera algorithms, including:

  1. Feature extraction (code)
  2. tracking (code)
  3. optical flow methods (code)
  4. EDFLOW hardware optical flow (code)
  5. efficient and accurate event denoising (code)

Developing with jAER

A git clone needs JDK 25+ to compile (javac target 25) and Apache ant to build.

Developing in an LLM AI client (Cursor, VS Code, …)

jAER is an Ant + Ivy Java project (not Maven/Gradle). An AI coding client works well for navigation, edits, and agents if you treat Ant as the source of truth for builds.

  1. Install a JDK 25+ (for example Eclipse Temurin) and Apache Ant, both on your PATH. javac.source/target is 25. ant check-jdk fails with Adoptium install URLs if the JVM is older.

  2. Install the Java extension in Cursor / VS Code. Prefer Microsoft’s Extension Pack for Java (or at least Language Support for Java). Without it, Java navigation, launch configs, and agent context are much weaker.

  3. Open the repo root as the workspace. First-time build:

    ant compile
    

    Then run with ant run, or the fast scripts scripts/run-jaer-fast.bat (Windows) / scripts/run-jaer-fast.sh (Linux/macOS) after classes exist under build/classes. New AEChip / EventFilter2D classes appear in Customize only after ant compile (that writes an allowlist into jAER.jar); IDE compile-on-save is not enough. Packaged installers load only types from that list. To force a classpath rescan from a git tree, use -Djaer.scanClasspath=true.

    To test dist/jAER.jar inside an already-installed install4j copy (no installer rebuild): ant replace-installed-jar (runs jar-fast first). The task reads applicationId / shortName from install4j/jaer.install4j (Windows: install4j registry, else C:\Program Files\jAER). On Windows, if Program Files is not writable, PowerShell shows a UAC prompt (Start-Process -Verb RunAs) and waits; approve it in the Cursor terminal session. Override with -Djaer.install.dir=.... Close jaer.exe first. A jAER.jar.bak is left next to the replaced file.

  4. Prefer Ant over the IDE compiler for packaging a runnable tree. The Java language server can leave Eclipse-style stub .class files (Unresolved compilation problem) under build/classes if its output path overlaps Ant’s. This repo’s VS Code settings disable Java autobuild and point output at build/classes; if launch fails with that error, run ant clean then ant compile.

  5. F5 runs ant run as a task (no debug toolbar) after a one-time ant install-jaer-run-shortcut on that computer. Clones get the task; they do not get the F5 key. Details: docs/README-vscode-cursor-run-shortcut.md. Needs lib/ from Ivy (ant compile / ant run).

Ask the agent for Ant targets, chip/filter code under src/, and device USB notes rather than inventing a Maven layout.

Agent chats load a short pipeline map from AGENTS.md and attach docs/README-jaer3.md when Java under src/ is in context. How that is wired, and how to confirm it on another computer: docs/README-cursor-jaer-rules-setup.md.

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation.

Windows installers submitted for signing are built from this repository on GitHub Actions (see .github/workflows/sign-windows-test.yml and docs/README-releasing-tagging.md). Publisher identity on signed builds is SignPath Foundation.

Team roles

  • Authors / reviewers: SensorsINI/jaer maintainers with commit access (pull requests reviewed by a team member when required).
  • Approvers: repository owners / maintainers who approve SignPath release signing requests in the SignPath UI.

Privacy: This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it (for example opening a camera, downloading sample data, or using optional online Help links).

Support

Please use the GitHub issue tracker to report issues and bugs, or our Google Groups mailing list forum to ask questions.

See also

CapoCaccia Neuromorphic workshop 2021 Hotel dei Pini Hotel bar scene with DAVIS240C

A snapshot of CapoCaccia Neuromorphic Workshop hotel bar activity, showing a frame with its exposure histogram, some colored events from moving people, and an event rate trace over time. Grab this 37MB AEDAT-4 recording from the DAVIS24 dataset. It has about 700k events and 700 frames over the 900s (15m) duration.