Welcome to jAER
News:
- Current development: Packaging (snapshot builds and winget listing)
- Do you have a device that is not supported by jAER? See Adding devices.
- Give Anonymous Feedback for desired features and fixes
Download and Permanent link: jaerproject.org (platform installers). Source on GitHub. jAER user group.
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.)
Download platform installers from jaerproject.org or GitHub Releases. Step-by-step Windows, macOS (Apple Silicon and Intel), and Linux instructions: Install Guide. Video: installing and updating jAER.
Optional sample recordings 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.
jAER
- captures USB event camera output with an efficient pipeline from most devices,
- optimizes event sensor settings (biases) with unified user-friendly DVS pixel bias tweaks
- 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 frame slicing, 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
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 → Manufacturers: iniVation cameras, Prophesee sensors, NRV cameras, and the iniVation Flashy reflashing guide.
USB enumeration, the Interface menu, EDT rules, and per-camera libusb quirks: docs/README-usb.md.
Adding a camera and opening a pull request: docs/README-adding-devices.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.
- The installer can download curated files into
jaer/jaerSampleData. Help → Sample data → Download jAER sample data does the same, always into a folder namedjaerSampleData. File list:jaerSampleData/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.
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 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)
A git clone needs JDK 25+ to compile (javac target 25) and Apache ant to build.
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 compile
Then 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. Language-server classes go to
.jdt-output(gitignored). Ant still ownsbuild/classes. If a launch fails withUnresolved compilation probleminsidebuild/classes, runant cleanthenant compile. Do not add an Eclipse.projectthat has only the Ivy nature; the Java language server will then ignoresrc(empty Outline, Ctrl-click does nothing) until you run Java: Clean Java Language Server Workspace and reload. -
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.
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).
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.


