The Cirrus adapter worked just fine on the Pi2, as can be seen in figure 1.0. I took the audio first from the “phones” jack of an old amateur radio receiver, and then from the sound card of a second PC running a browser webSDR page. This audio was connected via the “line-in” connector of the Cirrus adapter in the Pi2 box. In both cases the audio was very good, and was adequate to decode signals while using a only a moderate input level. The noise and spur levels were much less than on an i386 PC based machine I had used for FLDigi/ham activities in the past.
A new kernel and kernel drivers had to be compiled, and a few changes made to add cirrus and i2s device tree overlays. I used no single internet resource for this info, but picked my hints from various places, including info that was found at:
My final kernel and module configuration had no ability to use codecs for compressed audio (via the codec that is built into the Cirrus adapter). This however; is OK, because I’m using only uncompressed analog audio input (from the ham/shortwave receivers). For an audiophile, this may not be acceptable. Works for me tho …
For the test run shown in the graphic (above) I “temporarily” mounted the Cirrus adapter on the Pi2 board. Later, as I began to route the wires to the dismounted board, I decided that A) it was going to be too messy, and B) there could be feedback issues. So, I changed plans, and decided to mount the Cirrus board on the Pi2, as per the normal way. To get around the vertical clearance problem in my “tablet” form-factor enclosure, I desoldered the left and right SPDIF connectors, and the extra audio amp power connector. While the removal of those parts was good for less than a quarter of an inch additional clearance (because the expansion header (feature header – J2) of the Cirrus adapter remains on that side of the board) – it was enough to get the job done.
Figure 2: Arrows indicate where digital audio jacks removed for clearance.
The arrows in figure 2 show the empty pads where the digital audio jacks once were placed. I don’t really care about the digital audio (although I hear it’s pretty good). The image in figure 2 also shows the Adafruit BMP 180 barometric pressure sensor, that works quite well via the I2C bus of the pi2 in the homemade tablet.
Figure 3: Cirrus adapter has its own extension header.
The expansion header of the Cirrus adapter is sufficient to make all the connections I need for ham-tablet operation. The adapter also feeds the UART connection thru the board to the front of the PCB (see it right below the j2 expansion header), and that is very handy to use for two intended purposes (GPS board with no level shifting, and serial control of an external shortwave radio). I may use a tiny current loop board to make those work together, or some funky transistor/resistor trick – I haven’t decided.
Figure 4: Listening to CW sigs with Quisk/Pi2/Cirrus audio.
I should mention a bit about the rearrangement of the Pi2 and the audio board, which I made in order to piggyback the two boards together normally. Wow – what a lot of space that opened up on the tablet “floor” area. That means that I now need to find more stuff to put in there.
A note of caution to others removing parts from the audio board: careful counts! Fortunately, the SPDIF connectors were big, with large lands under them, so not likely to overheat adjacent areas. One has to be careful with a welding-power soldering iron tho! I’m watching the Quisk SDR on the tablet screen as I type this, and it’s making its magic with the sidecar’s SDR IQ signals.
Figure 4 shows a medium/weak CW signal on the Quisk display, running on the Pi2 with Raspbian. It may not look like much, but after I donned headphones and plugged them into the tablet, I found it to be a very readable CW transmission. This signal was found in mid afternoon, when forty meters is not very active. The signal was from W1AW, which is normally powerful enough to make the trip, even in the afternoon. They run a kilowatt for their code transmissions.
Figure 5: Quisk shown running on the “homemade” tablet. (Click to enlarge)
The cirrus board can be used with cirrus supplied scripts to set up the audio. The scripts are available on their website. The following scripts are all I needed to use Quisk or FLDigi with the homemade ham-tablet:
pi@raspberrypi ~/wolfson-cirrus-scripts $ ls
To be continued …
Screenshot licenses: Part of the screenshot at the top of the article contains the image of a program that has been released under a free software license (JOSM, located at http://www.openstreetmap.org and josm.openstreetmap.de). As a derivative work of that program, that part of the screenshot falls under the same license (GPL2+). Full Text License Source: http://josm.openstreetmap.de/browser/trunk/LICENSE Any contributed OSM data shown is licensed under the OdbL: opendatacommons.org/licenses/odbl/
Note: This author and site is not affiliated with the Raspberry Pi in any way. For information about those projects visit http://www.raspberrypi.org. “Raspberry Pi” is a trademark of the Raspberry Pi Foundation. For info on the cirrus adapter, see the Cirrus Logic website. Cirrus Logic (not afilliated with this site) is a fabless semiconductor company. More into may be found atwww.cirrus.com. Note: the soft66 hardware is a product that is sold on a Japanese website (http://zao.jp/radio) – and is not affiliated with this site or author in any way. The Odroid SoC is a product of Hardkernel at http://www.hardkernel.com, and is not affiliated with this author or site in any way.
Figure 1 contains a screenshot that contains an image of a program that has been released under a free software license (FLDigi, located at http://www.w1hkj.com and the license at https://www.w1hkj.com/FldigiHelp-3.21/html/license_page.html). The license is GNU GPL v2. As a derivative work of that program, the part of the screenshot that contains it falls under the same license (GPL2).
Figure 3 also contains elements of a desktop system and associated programs that have been released under a free software license (Copyright: LXDE team: http://lxde.org). As a derivative work of that program, the respective part of the screenshot in Figure 2 falls under that same license. The full text of the licences (GPL 2.0+ and LGPL 2.1+) may be found at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html and http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html.