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.)
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 info → Run anyway until SmartScreen has seen this signature enough times.
wingetcan 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 reportsLIBUSB_ERROR_NOT_SUPPORTED. -
macOS: Pick the Apple Silicon DMG (
jAER_macos_aarch64_*.dmg) on M1–M4, or the Intel DMG (jAER_macos_*.dmg, noaarch64in 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> Installeron notarized builds, for examplejAER 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 runinstalls 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.
- DNN over shared memory (EventCountFrames / EventWindows)
- OpenCV as a camera (HTTP MJPEG / Linux webcam); on Linux Zoom/Google Meet
- ROS2 / Foxglove (publisher)
You can also
- Export your data in CSV, hdf5, or save data to compressed AEDAT-4 with File → Save As... — Python dataloaders
- Create MP4 videos with File → Export video...

Interacting with jAER
Device hardware support

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 / product | Manufacturer | Sensor / resolution | Interface | jAER chip class(es) | Status |
|---|---|---|---|---|---|
| DAVIS346 (red/blue/color) | iniVation | APS+DVS 346×260 | USB 3 (FX3) | Davis346red, Davis346blue, Davis346redColor, … | Stable |
| DAVIS240 (A/B/C) | iniVation / inilabs | APS+DVS 240×180 | USB 2/3 | DAVIS240C, DAVIS240B, … | Stable (DAVIS240C); Experimental (DAVIS240A/B) |
| DVXplorer | iniVation | DVS (Samsung S5K231Y) 640×480, 9 µm | USB 3 (FX3) | DVXplorer | Stable |
| DVXplorer Mini | iniVation | same Samsung DVS 640×480, 9 µm | USB 3 (CX3 MIPI) | DVXplorer | Stable |
| DVXplorer Micro | iniVation | same Samsung DVS 640×480, 9 µm | USB-C (CX3 MIPI) | DVXplorer | Stable |
| DVS128 | inilabs / SensorsINI | DVS 128×128 | USB 2 (FX2) | DVS128 | Stable |
| EVK4 HD | Prophesee | Sony IMX636 DVS 1280×720 | USB 3 (Cypress) | PropheseeIMX636HD | Stable (notes); also Metavision .raw EVT3 playback |
| DELTA01 | NRV | Samsung S5KRC1S DVS 960×720 | USB 3 (FX20/CX3) | NRVS5KRC1S | Stable (notes) |
| CDAVIS | SensorsINI / iniVation | Color APS+DVS 640×480 / 320×240 DVS | USB 3 | CDAVIS | Experimental |
| SciDVS | SensorsINI | Sensitive 100×114 DVS / Basic APS | USB 3 | SciDVS | Experimental |
| CochleaAMS / CochleaLP | SensorsINI / inilabs | Silicon cochlea (audio AER) | USB 2/3 | CochleaAMS1c, CochleaLP, … | Stable (CochleaAMS1c); Experimental (CochleaLP) |
| Generic DVS viewers | — | 640×480, 1280×720 | Playback / viz | DVS640, DVS1280x720SD | Stable |
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
- The installer can download curated files into
sampleData/. Help → Sample data → Download jAER sample data does the same. File list:sampleData/README.md. Packing:docs/README-sample-data.md. - Download DVS128 data files from the DVS09 dataset and drop them onto the jAER window to play them with the DVS128 AEChip.
- Download DAVIS346 sample data files from the DAVIS24 dataset and drop them onto the jAER window to play them with the Davis346blue AEChip.
- See the Help/Sample Data menu in jAER for more sample data.
- See
docs/README-file-formats.mdfor detailed information about supported file formats in jAER. -
Citation and credits
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:
- Eclipse Temurin (Adoptium) – OpenJDK Java runtime bundled in installers.
- JOGL (Java OpenGL) – Java OpenGL bindings for visualization and display.
- libusb – User space USB library for cross-platform device access.
- usb4java - excellent Java wrapper of libusb.
- USBTransferThread - Luca Longinotti's efficient thread wrapper of usb4java
- Neuromorphic Drivers - guiding interfacing to Prophesee cameras.
- Apache Ant – Java-based build tool.
- Apache Ivy – Dependency manager integrated with Ant.
- JNA (Java Native Access) – Java wrapper for native libraries.
- JUnit – Unit testing framework.
- jna-platform – Platform-specific native library access.
- JCodec – Pure Java video/audio encoding/decoding.
- Guava – Google core Java libraries.
- and many more.
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:
- robogoalie (code)
- audio localization by spike ITD (code)
- speaker identification from spiking cochlea (code)
- laser goalie (code)
- pencil balancer (code)
- bill (money) catcher (code)
- slot car racer (code)
- Dextra roshambo (rock-scissors-paper) (code) — hello world: File → Remote → DNN shared memory output… (
outputMode=EventCountFrames) and dextra-roshambo-pythonconsumer.py --jaer-mmap(guide) - incremental learning of new roshambo hand symbols (code)
jAER was also used to develop many event camera algorithms, including:
- Feature extraction (code)
- tracking (code)
- optical flow methods (code)
- EDFLOW hardware optical flow (code)
- 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.
-
Install a JDK 25+ (for example Eclipse Temurin) and Apache Ant, both on your
PATH.javac.source/targetis 25.ant check-jdkfails with Adoptium install URLs if the JVM is older. -
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.
-
Open the repo root as the workspace. First-time build:
ant compileThen run with
ant run, or the fast scriptsscripts/run-jaer-fast.bat(Windows) /scripts/run-jaer-fast.sh(Linux/macOS) after classes exist underbuild/classes. NewAEChip/EventFilter2Dclasses appear in Customize only afterant compile(that writes an allowlist intojAER.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.jarinside an already-installed install4j copy (no installer rebuild):ant replace-installed-jar(runsjar-fastfirst). The task readsapplicationId/shortNamefrominstall4j/jaer.install4j(Windows: install4j registry, elseC:\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=.... Closejaer.exefirst. AjAER.jar.bakis left next to the replaced file. -
Prefer Ant over the IDE compiler for packaging a runnable tree. The Java language server can leave Eclipse-style stub
.classfiles (Unresolved compilation problem) underbuild/classesif its output path overlaps Ant’s. This repo’s VS Code settings disable Java autobuild and point output atbuild/classes; if launch fails with that error, runant cleanthenant compile. -
F5 runs
ant runas a task (no debug toolbar) after a one-timeant install-jaer-run-shortcuton that computer. Clones get the task; they do not get the F5 key. Details:docs/README-vscode-cursor-run-shortcut.md. Needslib/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.
- USER GUIDE: jAER User Guide gdoc
- VIDEO TUTORIALS: https://www.youtube.com/playlist?list=PLVtZ8f-q0U5hD9KOM4OZ1lixhwupj9uOm
- BUG TRACKER: https://github.com/SensorsINI/jaer/issues/
- USER FORUM: https://groups.google.com/d/forum/jaer-users/
See also
- DAVIS-USERS user forum: https://groups.google.com/forum/#!forum/davis-users

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.