Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.

Subscribe to updates I use BeagleLogic

Statistics on BeagleLogic

Number of watchers on Github 332
Number of open issues 8
Average time to close an issue 3 months
Main language KiCad
Average time to merge a PR less than a minute
Open pull requests 0+
Closed pull requests 2+
Last commit over 2 years ago
Repo Created about 6 years ago
Repo Last Updated about 2 years ago
Size 1.32 MB
Homepage www.beaglelogic.net
Organization / Authorabhishek-kakkar
Latest Releaserelease-v1.1
Page Updated
Do you use BeagleLogic? Leave a review!
View open issues (8)
View BeagleLogic activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating BeagleLogic for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


NEW: The BeagleLogic cape is here! To get more information please click here.

Bootstrapped as a Google Summer of Code 2014 Project with BeagleBoard.org.

For detailed information and usage guide refer to the project wiki

BeagleLogic realizes a logic analyzer on the BeagleBone / the BeagleBone Black using the Programmable Real-Time units and matching firmware and Linux kernel modules on the BeagleBone Black.

The software should also work on the BeagleBone White, but with limited memory support (only 256 MB instead of 512 MB)

BeagleLogic can also be used in conjunction with the sigrok projects to capture and process the data on the BeagleBone itself. The libsigrok bindings for BeagleLogic have been accepted into the upstream libsigrok repository.


  • firmware: PRU Firmware
  • kernel: Device Tree overlay source and kernel module source and Makefile. The default BeagleBone kernel v4.9.31-ti-r41 and above ship with BeagleLogic support. You can verify it using the command modinfo beaglelogic
  • server: Node.JS backend and static file server for the web interface
  • cape: The cape design files (KiCAD schematic and PCB file only. Production Gerbers are available separately.)
  • webapp: A minimal web client for BeagleLogic. Uses sigrok-cli internally for data acquisition
  • testapp: A simple test application that shows how to use the userspace API of BeagleLogic and benchmarks memory copy speeds.

Selected binaries and archives related to the project may be downloaded from this link. Refer to the wiki for more information regarding the use of the archives and the binaries.


BeagleLogic open issues Ask a question     (View All Issues)
  • over 3 years functionality request
  • about 4 years Use PRU0 for input
  • almost 5 years Trade speed for inputs?
BeagleLogic list of languages used
BeagleLogic latest release notes
release-v1.1 BeagleLogic release: Kernel Module and PRU Firmware

BeagleLogic Kernel driver v1.1 and PRU Firmware v0.2

This release freezes the kernel ABI until code is structured and refactored to be sent into the mainline, which would be v2.0.

BeagleBone kernels released bone60 onwards should include the v1.1 kernel driver for BeagleLogic which can be loaded using modprobe beaglelogic

Kernel Driver


  • Implement nonblocking I/O using poll() required for sigrok bindings to function
  • mmap() was present since 1.0 but has been tested and validated in this release
  • extend lseek() to update read cursor. This is required for mmap() and poll() to work correctly
  • lower sample rate limit is now 1 Hz. However the minimum buffer size is 4 MB (2x2 MB) [and it's also the minimum amount of samples that have to collected before they can be read out], so advisable to choose a sample rate accordingly.


  • First release to BeagleBoard.org kernel [bone57+]
  • Separated from pru_rproc
  • DTS for overlaying and enabling BeagleLogic support

PRU Firmware


  • Switch to CLPRU v2.0.0 & remoteproc from PASM & UIO
  • Unified support for all samplerates (100 / n MHz) and 8/16-bit sampling
  • Test pattern generation (n=0)

If you are not on the latest kernel

Download Device Tree Overlay Blob, and the PRU Firmware and install them into /lib/firmware of your BeagleBone [Black] below.

The patchset 0001, 0002 and 0003 has to be applied to your BeagleBoard 3.8.13 kernel tree and the kernel rebuilt. You will have to build and install the beaglelogic module from the sources as well.

[UPDATE] For kernel releases bone60 and above, you only need to download 'beaglelogic-pru0' and 'beaglelogic-pru1' here as the kernel patches and the device tree are already installed.

Other projects in KiCad