HamShieldMini now works with the Bluetooth Feather

HamShieldMini now works with the Bluetooth Feather

Even before we started working on the HamShield, we knew we wanted to be able to connect it to Bluetooth. The dream of controlling a ham radio from your Smartphone has driven a lot of our hardware development and software choices. Now, after seven years, we’re finally taking the next step towards that goal. By joining the HamShield with an Adafruit Feather nRF52840, you can go truly wireless.

In this tutorial, we’ll show you how to connect a HamShield Mini to the Feather nRF52840. We’ll also provide some sample Feather code to control the HamShield and take commands over Bluetooth. If you’ve used our prior Arduino examples, there won’t be anything surprising here. With a few added functions, the same Serial control works on the Feather as we’ve been using with Arduino.

Side Note

The example here shows you how to control your HamShield using Bluetooth LE. Newer versions of the Bluetooth LE standard support Audio over BT, so in the future we may be able to get rid of the dependence on the headphone jack. For the example here, you’ll still need a headset to use audio (though you can do APRS and other digital modes without it).

Hardware Needed

Tools/Software Needed

  • Soldering Iron
  • Solder
  • Pliers
  • Arduino IDE (v1.8.6 or later)

Hardware Assembly Steps

  1. Solder headers to FeatherWing Proto
  2. Solder SMA jack to HamShieldMini
  3. Solder headers to HSMini/Feather Adapter board
    1. Make sure you line up polarity correctly between the adapter and the other boards. We’ve been putting female headers on the main boards and male headers on the adapter board.
    2. The connections made by the adapter board are as follows:
      1. SPKR - Feather A0
      2. MIC - Feather D11
      3. CLK - Feather D5
      4. nCS - Feather D6
      5. DAT - Feather D9
      6. GND - Feather GND
      7. VCC - Feather 3.3V
  4. Connect Adapter board to Feather nRF52840 Express and HamShield Mini. You can either solder the boards directly together with male headers or use the provided female headers to make them disconnectable.
  5. Screw on Antenna

    HamShieldMini and Bluetooth with the AdaFruit Feather

  6. Connect to your computer with USB

Programming the Feather nRF52840 Express

Getting Arduino working with the Feather nRF52840

You'll need some specialized board support software for the Arduino IDE to be able to program this Feather. To get that all working, follow the instructions here:

https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/arduino-bsp-setup

Get the HamShield Library

You'll need our HamShield library to BlueHam BLE client software on the Feather. We have an example of how to use this client software in our HamShield Arduino library. If you’ve already used your HamShield with an Arduino, you’ll already have the library installed. If not, you can install the Arduino HamShield library as follows;

  1. Start the Arduino IDE
  2. Select the Sketch->Include Library->Manage Libraries option:



  3. Search for HamShield, and install the library that comes up:

Install the BlueHam Client software

We’re going to use the HandyTalkie_nRF52840 example that comes with the HamShield library. With a little elbow grease, you can adapt it for other functionality as well.

  1. Open up the example by selecting File->Examples->HamShield->HandyTalkie_nRF52840
  2. Plug in your Feather nRF52840
  3. Select Tools->Board->Adafruit BlueFruit nRF52840 Feather Express
  4. Select the port for your Feather by clicking Tools->Port->[whatever port is for your Feather]
  5. Click the installation arrow in the Arduino IDE

We also have a SerialTransceiver_nRF52840 sketch that allows for more fully featured control using a Serial based API. Both the example sketches for the Feather work with serial commands sent over USB or over Bluetooth UART.

Set up your Smartphone

For now, we’re using the Adafruit Bluefruit Connect app to communicate with the Feather. Eventually, we’ll set up a custom app that allows direct control of the HamShield. Until then, you’ll have to control your HamShield by sending serial commands over the BLE interface, almost the same way you send them over the UART for an Arduino connected HamShield.

To see how to set up the Bluefruit Connect app, follow these instructions:
https://learn.adafruit.com/bluefruit-le-connect

Using BlueHam

Once you have everything set up, you can power up your BlueHam rig and connect to it using the app. Then you can send commands to it and receive data back using the app. That’s all there is to it!

 


Leave a comment

Please note, comments must be approved before they are published