Difference between revisions of "DreamCatcher"

From RadioNerds
Jump to navigation Jump to search
Line 1: Line 1:
 
==Specs (Version 2.03)==
 
==Specs (Version 2.03)==
 
+
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">
 
* L-band SAW filter (1525 - 1559 MHz)
 
* L-band SAW filter (1525 - 1559 MHz)
 
* Two-stage L-band LNA with 34dB gain
 
* Two-stage L-band LNA with 34dB gain
Line 19: Line 19:
 
* Audio In/Out
 
* Audio In/Out
 
* Fully mainline (4.10) kernel and Uboot (2017.01) support!
 
* Fully mainline (4.10) kernel and Uboot (2017.01) support!
 +
</div>
  
  
 
==Setting up the OS==
 
==Setting up the OS==
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">
 
There are two OSs that you can use on the DreamCatcher.
 
There are two OSs that you can use on the DreamCatcher.
 
;Armbian
 
;Armbian
Line 33: Line 35:
 
:{{zip|skylark-dc-1706222246-active-antenna.img.gz|Skylark, for the Active Antenna, Released June 22, 2017}}
 
:{{zip|skylark-dc-1706222246-active-antenna.img.gz|Skylark, for the Active Antenna, Released June 22, 2017}}
  
==Burning the image to an SD Card==
+
===Burning the image to an SD Card===
 
A microSD greater than 4GB in size is required.
 
A microSD greater than 4GB in size is required.
  
===Extract the image===
+
====Extract the image====
 
It is compressed using "gzip.", many common Unzipping tools on your chosen OS can un-compress these.   
 
It is compressed using "gzip.", many common Unzipping tools on your chosen OS can un-compress these.   
  
Line 46: Line 48:
  
  
===Write the image to the SD card===  
+
====Write the image to the SD card====
  
 
the best way to burn the SD card is by using etcher here---> https://etcher.io/
 
the best way to burn the SD card is by using etcher here---> https://etcher.io/
 +
</div>
  
  
  
 
+
==Startup the DreamCatcher with Armbian Distro==
 
+
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">
===Startup the DreamCatcher with Armbian Distro===
 
 
 
 
1) Insert SD card into Dreamcatcher board slot marked "SD0_OS," next to LED array.  
 
1) Insert SD card into Dreamcatcher board slot marked "SD0_OS," next to LED array.  
  
Line 127: Line 128:
  
 
sudo poweroff
 
sudo poweroff
 +
 +
</div>
  
  
 
==Hardware Details==
 
==Hardware Details==
 
+
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">
 
===Board LEDS===
 
===Board LEDS===
 
Onboard LEDs can be controlled by writing to the ON/OFF Control file in SysFs.  In the case of LED1/Pckts to turn on the led, write a 1 to the SYSFS Device On/Off Control.
 
Onboard LEDs can be controlled by writing to the ON/OFF Control file in SysFs.  In the case of LED1/Pckts to turn on the led, write a 1 to the SYSFS Device On/Off Control.
Line 746: Line 749:
 
|DESCRIPTION=
 
|DESCRIPTION=
 
}}
 
}}
 +
</div>
 +
  
 
==Outernet Specific Applications==
 
==Outernet Specific Applications==
 
+
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">
  
 
===ONDD Setup===
 
===ONDD Setup===
Line 791: Line 796:
 
-h display this helptext
 
-h display this helptext
 
</nowiki>
 
</nowiki>
 +
</div>
 +
  
 
==ADS-B reception using dump1090==
 
==ADS-B reception using dump1090==
 
+
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">
 
===Install Updates and Base Packages===
 
===Install Updates and Base Packages===
 
<pre>sudo apt update
 
<pre>sudo apt update
Line 921: Line 928:
 
===Verify that it is running===
 
===Verify that it is running===
 
To verify that the application is running connect to the IP Address of the system and 8080 like <pre>http://10.0.1.150:8080</pre> you should see a map load..
 
To verify that the application is running connect to the IP Address of the system and 8080 like <pre>http://10.0.1.150:8080</pre> you should see a map load..
 +
</div>
 +
  
 
==Running the Dreamcatcher SDR from another System==
 
==Running the Dreamcatcher SDR from another System==
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">
 
The SDR on the dreamcatcher is connected the the CPU via USB, this connection can be changed to an external USB and the SDR can be connected to another systems USB.  Doing this will prevent the SDR from being used by the dreamcatcher.
 
The SDR on the dreamcatcher is connected the the CPU via USB, this connection can be changed to an external USB and the SDR can be connected to another systems USB.  Doing this will prevent the SDR from being used by the dreamcatcher.
  
Line 932: Line 942:
  
 
This will disconnect the SDR from the usb hub on the DreamCatcher and route it's usb to the external cable.
 
This will disconnect the SDR from the usb hub on the DreamCatcher and route it's usb to the external cable.
 +
</div>
  
  
 
==Listen to FM broadcasts==
 
==Listen to FM broadcasts==
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">
 
Its possible to listen to standard FM broadcast radio using the Dreamcatchers SDR.
 
Its possible to listen to standard FM broadcast radio using the Dreamcatchers SDR.
  
Line 962: Line 974:
 
Obviously, the most important one is the -f option for selecting the tuned frequency. You may also have to play around with the -s if the output is noisy.
 
Obviously, the most important one is the -f option for selecting the tuned frequency. You may also have to play around with the -s if the output is noisy.
 
FM broadcasts tend to be quite powerful signals, and I have not needed an antenna for receiving any of the local stations, but in case of bad reception, just adding a sub-1M SMA cable at the LNA_BYPASS RF input of the Dreamcatcher should improve reception dramatically.
 
FM broadcasts tend to be quite powerful signals, and I have not needed an antenna for receiving any of the local stations, but in case of bad reception, just adding a sub-1M SMA cable at the LNA_BYPASS RF input of the Dreamcatcher should improve reception dramatically.
 +
</div>

Revision as of 12:54, 2 August 2017

Specs (Version 2.03)

  • L-band SAW filter (1525 - 1559 MHz)
  • Two-stage L-band LNA with 34dB gain
  • 1 PPM TCXO
  • RF bypass for tuning from 24 - 1600 MHz - use as a regular RTL SDR!
  • Software switchable bias tee
  • 3 USB ports
  • GPIO forest
  • UARTs, I2C, SPI headers (unpopulated) for driving external hardware
  • Two microSD card holders - for boot and storage!
  • 1 GHz CPU
  • 512 MB RAM
  • USB wifi dongle (based on RTL8188CUS chipset) - AP mode capable!
  • Lots of LEDs!
  • Switches!
  • microUSB OTG
  • microUSB power port
  • Audio In/Out
  • Fully mainline (4.10) kernel and Uboot (2017.01) support!


Setting up the OS

There are two OSs that you can use on the DreamCatcher.

Armbian
Standard ARM Linux OS based on Debian, Highly supported but does NOT have build in support for Outernet. This OS requires lots of tweaking to up and going...
Compress_plain_32x32.png Armbian for DreamCatcher, V5.27


Skylark
Os based on Busybox is read only and has the full Outernet system ready to go. This is the one to use if you want to play with outernet with no tweaking
Compress_plain_32x32.png Skylark, for the Passive Antenna, Released May 14, 2017
Compress_plain_32x32.png Skylark, for the Active Antenna, Released June 22, 2017

Burning the image to an SD Card

A microSD greater than 4GB in size is required.

Extract the image

It is compressed using "gzip.", many common Unzipping tools on your chosen OS can un-compress these.

Linux / OSx
gunzip [filename.gz]
Windows
use 7Zip


Write the image to the SD card

the best way to burn the SD card is by using etcher here---> https://etcher.io/


Startup the DreamCatcher with Armbian Distro

1) Insert SD card into Dreamcatcher board slot marked "SD0_OS," next to LED array.

2) insert the USB Wifi Dongle, or other USB network device if you have it.

3) Optionally - connect the USB Cable to your PC with a terminal application open.

4) connect power to a USB port, or alternatively the USB cable to PC can provide power

after the bootup process you should see a "Dreamcatcher Login:" prompt

Default Username
root
Default Password
1234


Configure Wifi

To connect to a wifi network, you can use one of the following methods, SSID/password will be stored and applied automatically at next boot.


Single Command Line

nmcli d wifi connect [your_ssid] password [your_password]

nmcli d wifi connect MYSSID password IMSOSECURE

if you succeed, you should see something like:

Connection with UUID '8f820c8a-5af3-4336-8161-6f57030a7ec5' created and activated on device 'wlan1'


Simple Command line Gui

nmtui


The UI is very self explanatory.


Check the current IP

to check assigned ip use:

ifconfig

root@dreamcatcher:/etc# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1104 (1.0 KiB)  TX bytes:1104 (1.0 KiB)

wlan1     Link encap:Ethernet  HWaddr e8:4e:06:4b:a6:fa  
          inet addr:10.0.1.150  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: fe80::ea4e:6ff:fe4b:a6fa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:78 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:14882 (14.5 KiB)  TX bytes:4947 (4.8 KiB)

Install The RTL-SDR Libraires and Utilities

To install librtlsdr and sdr utilities like rtl_fm etc, use:

apt update; apt install rtl-sdr

(you will need to have already connected to network for this to work)


Shutting Down

Unlike Skylark, the root filesystem here is modified and is writeable, so it is important you shut this down properly:

sudo poweroff


Hardware Details

Board LEDS

Onboard LEDs can be controlled by writing to the ON/OFF Control file in SysFs. In the case of LED1/Pckts to turn on the led, write a 1 to the SYSFS Device On/Off Control.

To Turn the Led on:

echo 1 > /sys/class/leds/packet/brightness

To Turn it off:

echo 0 > /sys/class/leds/packet/brightness


LED1 / Pckts
Description Flashes with Outernet Packets are Received
Color Green
Default at Boot OFF
SysFs Device /sys/class/leds/packet
Usage On/Off = brightness
Notes Unused in Armbian



LED2 / Flock
Description Satellite Lock Indicator on when satellite signal is locked
Color Red
Default at Boot OFF
SysFs Device /sys/class/leds/lock
Usage On/Off = brightness
Notes Unused in Armbian



LED3 / SNR1
Description SNR indicator
Color Blue
Default at Boot OFF
SysFs Device /sys/class/leds/snr1
Usage On/Off = brightness
Notes Unused in Armbian



LED4 / SNR2
Description SNR indicator
Color Blue
Default at Boot OFF
SysFs Device /sys/class/leds/snr2
Usage On/Off = brightness
Notes Unused in Armbian



LED5 / SNR3
Description SNR indicator
Color Blue
Default at Boot OFF
SysFs Device /sys/class/leds/snr3
Usage On/Off = brightness
Notes Unused in Armbian



LED6 / SNR4
Description SNR indicator
Color Blue
Default at Boot OFF
SysFs Device /sys/class/leds/snr4
Usage On/Off = brightness
Notes Unused in Armbian



LED7 / USR1
Description sdcard activity indicator. equivalent of the HDD activity light
Color Green
Default at Boot OFF
SysFs Device /sys/class/leds/storage
Usage On/Off = brightness
Notes



LED8 / USR2
Description heartbeat: flashes when kernel is booted and working normally.
Color Green
Default at Boot OFF
SysFs Device /sys/class/leds/heartbeat
Usage On/Off = brightness
Notes long off, N short flashes, long off, repeat, where N = 2 * Load_Average



LED9 / PWR
Description Power: White LED, on when board is powered.
Color White
Default at Boot ON
SysFs Device
Usage
Notes



LED10 / AGP3
Description
Color Red
Default at Boot
SysFs Device
Usage
Notes



LED11 / STATUS
Description
Color Green
Default at Boot
SysFs Device
Usage
Notes



LED12 / USBH
Description USB Hub Indicator Light, Green when active
Color Green
Default at Boot ON
SysFs Device /sys/class/leds/usbhuben
Usage On/Off = brightness
Notes Turning this off, will disable all USB ports.



RF Ports

There are two RF ports on the DreamCatcher, they are labeled "LNA_IN" (at the corner of the board), and "LNA_BYPASS". They are SMA Type connections. To enable them you will write a 0 or a 1 to the appropriate SYSFS file location. Writing a 1 will enable it, and a 0 will disable it. if you enable one, you must disable the other;

NOTE: you must be a Superuser to control these... use "sudo su" first


Enable LNA_BYPASS

This is normally selected when you are using an external LNA, or Active Antenna
echo 1 > /sys/class/leds/rfswitch1/brightness
echo 0 > /sys/class/leds/rfswitch2/brightness


Enable LNA_IN

This would be used with a passive antenna or internal LNA
echo 0 >  /sys/class/leds/rfswitch1/brightness
echo 1 >/sys/class/leds/rfswitch2/brightness


Enable LNA_BYPASS Bias Tee

To Enable the bias tee, use the following commands
NOTE: 68 mA current limit set by R76/100k
echo 119 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio119/direction
echo 1 > /sys/class/gpio/gpio119/value


Enable Internal Audio Speaker Amplifier

sudo su
cd /sys/class/gpio
echo 114 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio114/direction
echo 1 > /sys/class/gpio/gpio114/value


Running “alsamixer”, turn up the volume (navigate with cursors, cursor up volume up) and un-mute all channels (pressing “m” key while cursor on them)

Alsamixer.png


Speaker amplifier output vias near C42, C43:

Dreamcatcher speaker.png

Temperature Monitoring

Armbian includes a monitoring application that gives you access to some of the hardware level details... for example to determine the CPU Temp use the following command:
armbianmonitor -m
however this of little use in automated monitoring or application development.


Usage: armbianmonitor [-h] [-b] [-c $path] [-d $device] [-D] [-m] [-p] [-r] [-u]

############################################################################

 Use armbianmonitor for the following tasks:

 armbianmonitor -c /path/to/test performs disk health/performance tests
 armbianmonitor -d monitors writes to $device
 armbianmonitor -D tries to upload debug disk info to improve armbianmonitor
 armbianmonitor -m provides simple CLI monitoring
 armbianmonitor -p tries to install cpuminer for performance measurements
 armbianmonitor -r tries to install RPi-Monitor
 armbianmonitor -u tries to upload armhwinfo.log for support purposes

############################################################################

Direct access to Temp

The following returns the temperature of the CPU in Celsius

cat /sys/class/thermal/thermal_zone0/temp

Returns:

32900

This is the same as 32.9C


TODO: I want to see how the RPi-Monitor works on the DreamCatcher, i know it works on the RaspberryPi and the OrangePi

Additional Headers

SPI1
Description Serial Peripheral Interface
MOSI Master Output, Slave Input
MISO Master Input, Slave Output
CS0 Slave Select
CLK Clock
GND Ground



SPI2
Description Serial Peripheral Interface
MOSI Master Output, Slave Input
MISO Master Input, Slave Output
CS0 Slave Select
CLK Clock
GND Ground



TWI2
Description Two Wire Interface (I2C)
GND Ground
3V3 3.3 Volt
SCK Serial Clock Line
SDA Serial Data Line



UART1
Description Universal Asynchronous Receiver/Transmitter
GND Ground
RX Receive Line
TX Transmit
3V3 3.3 Volt



JTAG
Description Joint Test Action Group
RESET_N Test Reset
GND Ground
TDO Test Data Out
TCK Test Clock
TMS Test Mode Select
TDI Test Data In
3V3 3.3 Volt



GPIO
Description These are in not in the correct order (what IS the CORRECT order?) Use the names to identify
5V0 5.0 Volt
GNDD1
PC15/NDQ7
PC13/NDQ5
PIN17/NRE
PC3/NCE1
PC1/NALE
PC19/NDQS
PG9/LED1
PG11/USBH
PE5
PB16
PB15
PE9
PE10
PE11
PB1
3V3
GNDD
GNDD2
PC14
PC4
PC2
PC0
PB10
PG10
PE4
PE6
PE7
PE8
PB4
PB3
PB2
PB0


Test Points

P1
Description



P4
Description



P7
Description



P5
Description



P3
Description



PWRON
Description



RESET
Description



AXPGP0
Description



AXPGP1
Description



AXPGP3
Description



AXPGP2
Description



NMI_N
Description



P11
Description



P12
Description



USBH_EN
Description



USB0_DRV
Description



SPK
Description



FACTORY
Description



LCD_020
Description



LCD_021
Description



LCD_022
Description



LCD_023
Description



LCD_CLK
Description



LCD_DE
Description



LCD_HSYNC
Description



LCD_VSYNC
Description



TPY2
Description



TPY1
Description



TPX1
Description



TPX2
Description



NON_REM1
Description



SDA
Description



SCL
Description



HS
Description




Outernet Specific Applications

ONDD Setup

FTP to a DreamCatcher, copy the following files off of the system... be SURE to FORCE binary transfer.

/usr/sbin/ondd(md5:207723be33f4da57bd64a6549e11e95d)
/usr/sbin/ontimeout (md5:5092f17f0152ca352799290999ba7a6c)


Create an empty conf file

/etc/ondd/ondd.conf

Create a place to place downloads

/home/downloads (or wherever)

Create a place for download cache

/home/download_cache

Run ondd with the following command:

/usr/sbin/ondd -d --pid_file /var/run/ondd.pid --cfg-gile [empty cfg file you created] -c [location for download cache] -o [location for completed downloads] -D /var/run/ondd.data --sdr-timeout-handler /usr/sbin/ontimeout


Command Help

[Skylark][outernet@outernet:/usr/sbin]$ /usr/sbin/ondd -h
00:11:21.099 [main] Unable to load config: /etc/ondd.conf (null)
Usage: ondd 
--cfg-file CONFIG_FILE override default config file location
--pid-file PID_FILE override default pid file location
--ctrl-sock SOCK_FILE override default control socket path used for ipc
--status-sock SOCK_FILE override default status report socket path - status e
--cert-file CERT_FILE override default ceritificate file location
-D SOCK_FILE data socket path to which the demodulator sends raw s
--sdr-timeout-handler script to execute if no data arrives through the date
-o PATH path to output directory where downloaded files are d
-c PATH path to cache directory where partially downloaded fd
-O PATH if specified, files which path does not begin with td
-b N set the maximum number of download completion eventsy
-d start ondd in daemon mode
-i print to stdout the current signal strength and snr,d
-V enable verbose mode
-v display ondd version info
-h display this helptext


ADS-B reception using dump1090

Install Updates and Base Packages

sudo apt update
sudo apt upgrade
sudo apt install rtl-sdr librtlsdr-dev pkg-config build-essential

NOTE: When i did this part, it bricked the card twice, not sure why, it just did... so YMMV

wget https://raw.githubusercontent.com/keenerd/rtl-sdr/master/rtl-sdr.rules
sudo mv rtl-sdr.rules /etc/udev/rules.d/

Reboot the DreamCatcher

sudo reboot

Install dump1090

Download and compile dump1090 (one time only):

mkdir adsb
cd adsb
git clone https://github.com/MalcolmRobb/dump1090
cd dump1090
make

Antennas

Hook-up a 1090MHz antenna, suitable for ADS-B reception to the LNA_BYPASS RF input of Dreamcatcher. You can find some good starting points here: http://discussions.flightaware.com/ads-b-flight-tracking-f21/three-easy-diy-antennas-for-beginners-t20177.html


Running dump1090

echo 1 | sudo tee /sys/class/leds/rfswitch1/brightness
echo 0 | sudo tee /sys/class/leds/rfswitch2/brightness
./dump1090 --interactive --net

NOTE: The “rfswitch1” and “rfswitch2” lines are not strictly necessary, but will not hurt anything - the Dreamcatcher Armbian image ships with the LNA bypass enabled by default.

Running dump1090 as a daemon

if you dump1090 to run in the background after a reboot, you need to set it up as a daemon.

Create a Startup script in /etc/init.d

The following is a sample startup script. This was poached from this site: http://www.satsignal.eu/raspberry-pi/dump1090.html

  • Create a simple script in /etc/init.d, in my case i called it, dump1090.sh
  • Cut and paste the following into the file
#!/bin/bash
### BEGIN INIT INFO
#
# Provides:		dump1090
# Required-Start:	$remote_fs
# Required-Stop:	$remote_fs
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description:	dump1090 initscript

#
### END INIT INFO
## Fill in name of program here.
PROG="dump1090"
PROG_PATH="/home/pi/dump1090"
PROG_ARGS="--interactive --net --no-fix --net-ro-size 500 --net-ro-rate 5 --net-heartbeat 60 --gain -10"
PIDFILE="/var/run/dump1090.pid"

start() {
      if [ -e $PIDFILE ]; then
          ## Program is running, exit with error.
          echo "Error! $PROG is currently running!" 1>&2
          exit 1
      else
          ## Change from /dev/null to something like /var/log/$PROG if you want to save output.
          cd $PROG_PATH
          ./$PROG $PROG_ARGS 2>&1 >/dev/null &
          echo "$PROG started"
          touch $PIDFILE
      fi
}

stop() {
      if [ -e $PIDFILE ]; then
          ## Program is running, so stop it
         echo "$PROG is running"
         killall $PROG
         rm -f $PIDFILE
         echo "$PROG stopped"
      else
          ## Program is not running, exit with error.
          echo "Error! $PROG not started!" 1>&2
          exit 1
      fi
}

## Check to see if we are running as root first.
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
      echo "This script must be run as root" 1>&2
      exit 1
fi

case "$1" in
      start)
          start
          exit 0
      ;;
      stop)
          stop
          exit 0
      ;;
      reload|restart|force-reload)
          stop
          start
          exit 0
      ;;
      **)
          echo "Usage: $0 {start|stop|reload}" 1>&2
          exit 1
      ;;
esac
exit 0

NOTE: You need to alter the PROG_PATH value to the location of your dump1090 application

  • Set the permission to executable
    sudo chmod +x /etc/init.d/dump1090.sh
  • Install to the startup directories
    sudo update-rc.d dump1090.sh defaults
  • If you want to remove it later
    sudo update-rc.d -f dump1090.sh remove
  • Test Start the application
    sudo /etc/init.d/dump1090.sh start
  • NOTE: If you want to stop it
    sudo /etc/init.d/dump1090.sh stop

Verify that it is running

To verify that the application is running connect to the IP Address of the system and 8080 like
http://10.0.1.150:8080
you should see a map load..


Running the Dreamcatcher SDR from another System

The SDR on the dreamcatcher is connected the the CPU via USB, this connection can be changed to an external USB and the SDR can be connected to another systems USB. Doing this will prevent the SDR from being used by the dreamcatcher.


To Do this:

  1. Populate USB1 connector (or just solder wires for a usb pigtail cable)
  2. Remove R72 and R73 and move them to the R116 and R117 footprints.


This will disconnect the SDR from the usb hub on the DreamCatcher and route it's usb to the external cable.


Listen to FM broadcasts

Its possible to listen to standard FM broadcast radio using the Dreamcatchers SDR.

Install necessary Software

sudo apt install rtl-sdr sox


Enable sound output through the 3.5mm TRRS connector

alsamixer

Enable every column except the second and third by pressing “m” (for mute/unmute) when the column is selected. Use the keyboard left-arrow and right-arrow keys to move among the columns. For the second column, use up-arrow and down-arrow keys to adjust output volume. Be careful to not set it too high; if the column color changes to white, it has been set too high. Leave the third column muted.

You may have to reset theseAon every boot. Alternatively, you can save and restore them using: sudo /usr/sbin/alsactl store sudo /usr/sbin/alsactl restore

Connect a TRRS (tip-ring-ring-sleeve) headset cable - the kind you might use with an Android phone - to the 3.5mm connector on Dreamcatcher that is labelled “headphn”. This has 4 conductors - a “normal” set of headphones has 3.

Run this:


rtl_fm -f 104.7M -M fm -s 340k -A fast -r 32k -l 0 -E deemp | play -r 32k -t raw -e s -b 16 -c 1 -V1 -

More information about the various command line options is at the rtl_fm homepage at http://kmkeen.com/rtl-demod-guide/


Obviously, the most important one is the -f option for selecting the tuned frequency. You may also have to play around with the -s if the output is noisy. FM broadcasts tend to be quite powerful signals, and I have not needed an antenna for receiving any of the local stations, but in case of bad reception, just adding a sub-1M SMA cable at the LNA_BYPASS RF input of the Dreamcatcher should improve reception dramatically.