DreamCatcher
Contents
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...
- 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
- Skylark, for the Passive Antenna, Released May 14, 2017
- 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 wifi network, use command line:
nmcli d wifi connect your_ssid password your_password
or using the text UI:
nmtui
to check assigned ip use:
/sbin/ifconfig
SSID/password, once configured, will be stored, and should be applied automatically at next boot.
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
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 | {{{COLOR}}} |
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
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 wget https://raw.githubusercontent.com/keenerd/rtl-sdr/master/rtl-sdr.rules sudo mv rtl-sdr.rules /etc/udev/rules.d/ 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.
Accessing dump1090 Via the Network
View http://<ip of dreamcatcher>:8080 in your browser.
If you have a mdns-capable network and OS, you should be able to access your dreamcatcher using the name “dreamcatcher.lan”, once it has registered on your wifi network - i.e. you can just type http://dreamcatcher.lan:8080 into your browser.
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:
- Populate USB1 connector (or just solder wires for a usb pigtail cable)
- 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.