Raspberry Pi Pivot

I am switching to the “Le Potato” Raspi clone for RTL-SDR projects

Kory Kirk
5 min readJun 1, 2023

For a few years, I had too many Raspberry Pis. I was eager to purchase them before I had a specific use case. They sat around like props, decorating the background of my Zoom calls. That problem has gone away in the past few years as I have found uses for all four of my Raspis. Now I have a new problem, I need more and they are currently hard to find or overpriced.

Thankfully, Linus Tech Tips had recently published a video highlighting alternatives. I did not need the power of a Raspi 4, so Le Potato aka aml-s905x-cc was a good alternative to the Raspi 3 for me. It comes in at $35, right where the Raspi 3 would be if not for the scarcity. You can find Raspi3 resellers selling from $50–$150 which is not an amount I want to pay for a $35 MSRP.

How I use Le Potato & Raspis

Le Potato + RTL-SDR on top of the basement grow tent

My typical set ups for Raspis are to support local sensors for my smart home, like particulate 2.5 and 5 micron. In addition, I typically will attach an RTL-SDR to have the raspi constantly grab information from common radio frequencies; I have 1 Raspis currently targeting 433.92 MHz and 915 MHz with another. My first Potato I set up was a redundant set up of the 433.92 MHz for sensors in my basement, since I was having reliability issues with picking up those signals on my other raspi focused on backyard sensors.

In order to incorporate my raspi sensor data into my home network, I dump all the data into a json file. I expose this file on the pi’s web server, and use a REST Sensor in Home Assistant to pull this data. In addition, I serve a prometheus endpoint on these Raspis that exposes the sensor data for prometheus scraping.

The end result is good, granular historic data to look at in Grafana. In addition, accurate up-to-date sensor data for automation in Home Assistant.

My Home Assistant “Grow Tent” dashboard powered by Le Potato & RTL-SDR
Some of the sensor data coming in from RTL-SDR + Prometheus

Sensors

You can pack a lot of functionality onto a Raspi or Potato. The Raspi reporting the most data in my house is a Raspi 2. I have the following metrics exposed on this endpoint, getting updated twice a minute:

# via bluetooth
radon shorterm average
radon longterm average
voc
co2
temperature

# via rtl-sdr
inside temperature
My electricity meter's consumption data
inside humidity
outside temperature
outside gust speed
outside rainfall
outside humidity
solar radiation
wind direction
inside pressure
average wind speed

#via usb sensor
particulate matter 2.5 micron
particulate matter 5 micron

How I set up Le Potato

I bought all this from Amazon (these are affiliate links and I get kickback if you purchase these items):

Write Raspbian Image to SD Card

Once you have everything ready. Grab the appropriate image for Rasbian 11 for Le Potato. These are maintained by Libre Computing and can be found here. These instructions can be found in a different form here.

country=COUNTRY_ISO_CODE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="NETWORK_SSID"
scan_ssid=1
psk="NETWORK_PASSWORD"
key_mgmt=WPA-PSK
}
  • Create a file called ssh in order to enable ssh
  • Create a file called userconf.txt that will contains username:encrypted-password and replace username with the username you would like to use and encrypted-password generated from openssl passwd -6 my_password_here.
  • Once you are done with this, eject your SD card and plug all your goodies into your Potato.

RTL-SDR Bootstrap

Here is everything I ran to turn the Le Potato into a radio device able to interpret hundreds of different sensors:

#make sure you can see your RTL-SDR as a usb device
lsusb
#install build deps for rtl-sdr
sudo apt-get install git cmake libusb-1.0-0-dev build-essential
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/ && mkdir build && cd build/
cmake ../ -DINSTALL_UDEV_RULES=ON
sudo make
sudo make install
sudo ldconfig
cd ~
sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
sudo reboot
sudo nano /etc/modprobe.d/no-rtl.conf

# add these three lines
# blacklist dvb_usb_rtl28xxu
# blacklist rtl2832
# blacklist rtl2830

#reboot
sudo reboot

#test rtl-sdr installation
rtl_test -t

# install rtl_433 deps
sudo apt-get install libtool libusb-1.0.0-dev librtlsdr-dev rtl-sdr doxygen
# clone the repo
git clone https://github.com/merbanan/rtl_433.git
# build
cd rtl_433/ && mkdir build && cd build && cmake ../ && make && sudo make install

# verify
rtl_433 -f 433M -F json

That last command will put your RTL-SDR into listening mode on 433mhz, a common frequency for sensors. rtl_433 will automatically interpret any recognized signals it receives and output them as JSON format.

You can find a list of supported devices and their frequency here. Most people will have some signals regularly reporting in their area. Check 915mhz as well, that’s what my Electricity Meter showed up on.

Next Steps

If you want to build your own dashboards using this data, you now have it in JSON format and can do what you wish. If you want to see more of what I did next, then I will follow up with a part two to go over how I set up Grafana and Prometheus and the sensors that I am collecting data from. Until then, cheers and good luck on your potato adventures.

See part 2 here: https://medium.com/@k0ryk/raspberry-pis-rtl-sdr-and-home-automation-9477359ac9cf

If you have any questions, please reach out in discord.

--

--

Kory Kirk

From thought to thing: hacking, thinking, doing stuff