Java tools for Address-Event Representation (AER) neuromorphic processing.
Permanent link: http://jaerproject.org
Welcome to the jAER Open Source Project Real time sensory-motor processing for event-based sensors and systems
Founded in 2007 to support event sensors and robot demonstrators developed by the Sensors Group, Inst. of Neuroinformatics, UZH-ETH Zurich.
You can find the latest releases at https://github.com/SensorsINI/jaer/releases.
Starting with jAER 2.0, (unsigned) binary installers are now available thanks to the multi-platform installer builder install4j.
Go to install4j jAER installers on dropbox to download installers.
Windows: Click More info, Run anyway and Install anyway for unsigned app.
MacOS: See opening unsigned dmg on MacOS. Right click, open with Archive Manager, and run the installer. Recommend to install to a user folder.
Linux: Run the installer with sh <installer>.sh. Then you can jaer from the installation directory or gnome menu.
See video installing and updating jaer on YouTube.
- install4j installers install a bundled version of the latest Java from Eclipse Adoptium (see Guide fo Java versions and features).
- Release install4j installers do NOT install git working copy, but using the new self-update feature introduced in jAER-1.8.1, you can initialize the release to a git working copy and pull+build within jAER.
- You will get the best experience running from lastest bug fixes.
- 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.
Systems built with Sensors Group chips:
- inilabs DVS128 DVS event camera and inivation DAVIS240, and DAVIS346 HVS cameras
- inilabs DAS (CochleaAMS) cochleas
Event cameras from others:
- iniVation Samsung DVExplorer
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
jAER originally targetted 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-poaper) (code), incremental learning of new roshambo hand symbols (code). jAER was also used to develop many event camera algorithms: Feature extraction (code), tracking (code), optical flow methods (code), EDFLOW hardware optical flow (code), and efficient and accurate event denoising (code).
To develop with jAER, see the jAER User Guide gdoc.
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 21+ (for example Eclipse Temurin) and Apache Ant, both on your
PATH. -
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. -
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. -
Use the included
.vscode/launch.jsonconfigs (jAER, jAER (fast), jAER (fast debug)) once dependencies are inlib/(created by Ivy onant compile/ant run).
Ask the agent for Ant targets, chip/filter code under src/, and device USB notes rather than inventing a Maven layout.
Please use our GitHub bug 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
- inivation support pages: https://inivation.com/support/


