Talk:Beaglebone Spectrum Analyzer

From MyLabWiki
Revision as of 21:44, 28 January 2013 by Alex (Talk | contribs)

Jump to: navigation, search




Decided to take a stab at making a quick-hack mockup of a spectrum analyzer using a Beaglebone and and rtlsdr DVB-T dongle. Must be ready by Saturday morning for a presentation I am giving at the 2013 Danish Winter VHF meeting.

To begin with I will be using the default Beaglebone demo image available from the download site, namely Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.05-beaglebone-2012.11.22.img.xz. The application software will be built using:

  • librtlsdr
  • kiss_fft
  • Gtk+ for a simple GUI


The spectrum analyzer is working, see photo.

Som info and benchmarks for this completely unoptimized image:

  • Automatically starts the application on boot.
  • Startup time is somewhere around 2 minutes (from power on till application is running).
  • CPU load is around 30% when doing 20 frames per second.


Used the spectrum analyzer mock-up for demo during my SDR talk at the 2013 Danish winter VHF meeting. It was very well received and people were very interested. There has also been a lot of positive reaction on Twitter.

Trying to build a custom image based on and


Image successfully built and it boots in 6.3 seconds, see system-analyze output.

Gtk+ libraries are installed, not the devpacks. Same for libusb and ncurses. Git, gcc and pkg-config are installed as well. RTL dongle does not work well with this build (copied binary from other disk built using different version of the libraries).


Trying demo GNOME 2 image again, this time using a class 10 SD card (I was using class 4 previously).

Reduced autologin delay from 10 to 1 second.

Application is running within 45 seconds after poweron:

 root@beaglebone:~# systemd-analyze 
 Startup finished in 4784ms (kernel) + 7389ms (userspace) = 12174ms
 root@beaglebone:~# systemd-analyze blame
   3583ms pvr-init.service
   2166ms cape.service
   1984ms connman.service
   1958ms avahi-daemon.service
   1932ms systemd-logind.service
   1353ms xinetd.service
    804ms console-kit-daemon.service
    616ms console-kit-log-system-start.service
    461ms udev-trigger.service
    455ms systemd-modules-load.service
    266ms systemd-remount-api-vfs.service
    253ms dev-mqueue.mount
    172ms dbus.service
    164ms systemd-sysctl.service
    159ms udev.service
    130ms tmp.mount
    129ms systemd-user-sessions.service
    123ms sys-kernel-debug.mount
     74ms systemd-tmpfiles-setup.service
     39ms remount-rootfs.service

So, about 30 seconds are wasted on GDM and GNOME startup.