It has been a few weeks from the close of the campaign and The Deepwave Team would like to thank all of our backers and provide an update on where we stand in the production process.
We have begun significant work and coordination with our contract manufacturer. Parts purchased months ago (back in February) are now checked in at the CM. We will be building just a few AIR-Ts to serve as our pre-production boards. The Deepwave Team will test the performance characteristics, ensure everything is working as expected, and identify any final design changes. At this stage, we do not plan to increase or change capabilities of the AIR-T. However, as engineering goes, sometimes slight tweaks must be made. If any final design changes are required, we will make them at that point. After that, we will commission the first production run of the AIR-T. Everyone who purchased the AIR-T during the crowdfunding campaign will be receiving a board from the first production run. As the build continues and major milestones are crossed, we will keep you posted on the progress.
We want you to start considering how programming the board will actually take place and what your first application might be. We know that many of you have interfaced with software defined radios in the past and have code already built. We want you to re-use that code and run it on the AIR-T if possible. We plan to achieve this by implementing a SoapySDR module for the AIR-T.
SoapySDR provides a unified API for communicating with SDR hardware. There are two big benefits here. The first is that SoapySDR includes Python bindings, so it is relatively simple to rapidly develop and prototype code (here’s some example code). The second benefit is that SoapySDR provides various wrappers for different APIs and frameworks, such that a SoapySDR device can tap into a large ecosystem of signal processing software suites. For example, GNU Radio is supported via source/sink blocks to move data to/from the RF hardware.
One of the more important and popular wrappers of SoapySDR is SoapyUHD, which translates between SoapySDR and Ettus Research’s USRP Hardware Driver (UHD). This means that via SoapyUHD, the AIR-T can appear as if it were an Ettus Research USRP, so if you already have code targeting Ettus hardware, your application should work for the AIR-T as well with minimal (if any) code changes. Shown below (note this output is subject to change for the production AIR-T) is the AIR-T responding to a query from uhd_find_devices (device details can also be shown via uhd_usrp_probe).
linux; GNU C++ version 5.3.1 20151219; Boost_105800; UHD_003.009.002-0-unknown` -------------------------------------------------- -- UHD Device 0 -------------------------------------------------- Device Address: driver: SoapyAIRT hardware: AIR-T url: https://www.deepwavedigital.com vendor: Deepwave Digital, Inc. type: soapy
If using SoapySDR is foreign to you, once we start shipping the AIR-T we will be providing more information on this. If you would like an instructional video or tutorial on a particular topic, please send us your ideas and we will consider making it into a tutorial.
We have been testing many aspects of the FPGA to ensure that prior to the AIR-T being completed, the major capabilities work. Any issues that arise now are being addressed and, if possible, tested. We expect that, once we have the pre-production boards in-hand, we will have some small issues that we will have to work through. This is to be expected and we are taking steps to minimize the impact of this as much as possible.
That said, we have tested the FPGA DMA driver and integrated it into our SoapySDR module. By doing this, we know that data transfers to/from the FPGA occur through the SoapySDR API, so you don’t have to call the driver directly. Included with the AIR-T will be two Python scripts: one that receives samples and writes them to a binary file and one that reads samples from a binary file and transmits. These scripts can be used as a good starting point for developing applications from scratch using the SoapySDR Python API, as they show how to communicate with the AIR-T’s RF hardware.
That is all for now and thank you for your continued support.
The Deepwave Team