A LimeNET-micro just arrived, and the plan was to test Ubuntu Core for CM3 and the LimeNET snaps. But that won’t boot (I still need to check the older Core 16) and while I figure out if the DTB or the boot setup is wrong I run Raspbian. Here are some notes to set that up with rtl_433.

Get usbboot and write the image

Get usbboot.

On a host system (here Debian 9):

1
2
3
4
5
6
sudo apt-get install build-essential git libusb-1.0-0-dev

git clone https://github.com/raspberrypi/usbboot
cd usbboot
make
sudo ./rpiboot

Set the jumper J14 “USB boot” and connect the LimeNET-micro with a Micro-USB to USB-A cable.

Get Raspbian Stretch Lite and write the image:

1
2
3
wget -O raspbian_lite_latest.zip https://downloads.raspberrypi.org/raspbian_lite_latest

unzip -p raspbian_lite_latest.zip |sudo dd status=progress of=/dev/rdisk2 bs=1024k

If you want SSH access after boot enable SSH by placing a file named “ssh” onto the boot partition of the SD card:

1
2
3
4
5
sudo partx -va /dev/sdb
mkdir /tmp/raspbian-boot
mount /dev/sdb1 /tmp/raspbian-boot
touch /tmp/raspbian-root/ssh
umount /tmp/raspbian-boot

Remove the cable and open the jumper J14.

Booting and setup

After booting the LimeNET-micro, if you want SSH access with keys use e.g.

1
2
3
ssh pi@raspberrypi
mkdir .ssh
echo $YOUR_SSH_PUB_KEY >.ssh/authorized_keys

Now use raspi-config do do a basic setup or

  • Secure the default user
1
sudo usermod -p $YOUR_PASSWORD_HASH pi
  • Set a host name
1
2
echo $YOUR_HOST_NAME | sudo tee /etc/hostname >/dev/null
sudo sed -i "s/raspberrypi/$YOUR_HOST_NAME/" /etc/hosts
  • Set a time zone
1
2
echo Europe/Berlin | sudo tee /etc/timezone >/dev/null
sudo cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
  • Update the Raspbian system
1
sudo apt update && sudo apt full-upgrade
  • Install the basics for compiling software
1
sudo apt-get install build-essential git cmake libusb-1.0-0-dev
  • If you want LimeSuite UI:
1
sudo apt-get install libwxgtk3.0-dev
  • Enable user access to the Lime
1
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="601f", MODE="0660", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/10-lime-ftdi.rules >/dev/null

Now Reboot or check lsusb and run

1
sudo chgrp plugdev /dev/bus/usb/001/004

Install software

1
2
3
4
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR/
git checkout soapy-sdr-0.7.1
mkdir build ; cd build ; cmake .. && make && sudo make install ; cd
1
2
3
git clone https://github.com/myriadrf/LimeSuite.git
cd LimeSuite/
mkdir build ; cd build ; cmake .. && make && sudo make install ; cd
1
2
3
git clone https://github.com/merbanan/rtl_433.git
cd rtl_433
mkdir build ; cd build ; cmake .. && make && make install ; cd

If you want Supervisord to run rtl_433

1
2
3
4
5
6
7
sudo apt-get install supervisor

sudo tee /etc/supervisor/conf.d/rtl_433.conf > /dev/null <<'EOF'
[program:rtl_433]
command=/usr/local/bin/rtl_433 -d "" -s 2M -C si -M level -M newmodel
user=pi
EOF

Run some test programs to check that everything works

1
2
3
4
5
6
7
LimeUtil --info
LimeUtil --find
LimeUtil --make
LimeUtil --update
LimeUtil --make

SoapySDRUtil --info

You can now add things like MQTT to rtl_433 to get a complete RF to IoT bridge.