Skip to content
Josh Blum edited this page Sep 8, 2017 · 10 revisions

Getting Started

This guide will help users to get started using and developing with the Pothos software suite. Because software defined radio is a major use case for Pothos, this guide will help users to install SDR support toolkits as well. Learn more about Pothos and its capabilities on the overview wiki page.

Getting started table of contents

Obtain the software

The first step is to get Pothos installed, either through pre-built binaries or through source installs. Source installs are going to be more complicated, however they may be necessary if binaries are not available, or you would like to install the bleeding edge.

Pre-built binaries/distribution packages are available for a few major operating systems. Visit the binary downloads to see if packages are available for your OS.

Linux packages

Under Linux, the various software projects are split-up into many packages. Users may install some of the software from pre-built packages, and other software components from source -- based on development needs. Visit the binary downloads to see if packages are available for your distribution.

Windows installer

For Windows, the Pothos SDR environment is an all-in-one installer for a complete SDR development environment. We highly recommend that windows users follow the Pothos SDR getting started tutorial for additional configuration steps, and important first-time configuration settings.

Source install

  • First, if you have an SDR device that you are interested in using with Pothos, you must install the driver for this device. Drivers may be available from your operating system's package manager. As always, check with the manufacturer for more details.
  • The next step is to install Soapy SDR. Soapy SDR is a device abstraction layer that allows Pothos to interface with your hardware. Follow the build guide for Soapy SDR.
  • Now we can install Pothos from the main repository. The main repository is a super project with multiple toolkits and graphics included. Follow the build guide for Pothos.
  • GNU Radio support is an add-on toolkit for users interested in its DSP block set. Follow these GNU Radio build instructions to install GNU Radio and Pothos bindings.

Tutorials

Pothos GUI tutorial

The Pothos GUI is a graphical tool for creating designs of interconnected processing blocks. Designs can be debugged live with graphical control and plotter widgets. Checkout the Pothos GUI tutorial to learn about instantiating and connecting blocks, inserting graphical widgets, and much more.

C++ processing blocks

Users can create processing blocks in C++ that will be usable from the framework APIs and within the Pothos GUI. The Blocks coding guide will guide you through creating a block and compilation scripts, and goes into intricate detail about using the Pothos Framework API.

####################### Python processing blocks #######################

In addition, users can create and use blocks written in the Python programming language. Read more about creating Python processing blocks on the Python toolkit wiki.

####################### Hardware support modules #######################

SDR Devices are supported through the Soapy SDR abstraction library. Supporting a new device is a matter of creating a plugin module in C++ that bridges calls from the device driver to abstraction calls in Soapy SDR. Read more about the Soapy SDR driver API.