Skip to content

SMD Wing

Geoffrey Fournier edited this page Oct 15, 2025 · 13 revisions

General

Overview

Full Kit

The SMD Wings board provides a complete solution for satellite uplink development.
It comes with the SMD module pre-soldered and pre-flashed with the latest firmware, ensuring out-of-the-box functionality.

Its Feather-compatible design enables rapid prototyping by seamlessly integrating with Feather boards, while streamlined testing ensures reliable Argos SMD connectivity. Designed with production in mind, this board simplifies the transition from prototyping to large-scale manufacturing with minimal hardware changes.

Certified by CLS/CNES – the board can communicate with satellites with just a valid ID.
Request your ID from CLS and upload it to the board using a simple AT command.

This board is dedicated for use with Adafruit Feather boards and has been thoroughly tested with the nRF52840 Feather.


Versions

Versioning is managed via GitHub Releases and Tags.

  • Latest (02/2025):
    • V1.0 production (branch breakout-v1.0)

Hardware

Technical Specifications

  • Dimensions: 51 × 30 mm
  • Weight: 7 g
  • Power Supply: provided by Feather board
    • Powered by USB or Battery (required for uplink)
    • System voltage (3.3 V) required for core operation
  • Tested with nRF52840 Feather, enabling BLE communication
  • Reference design includes a dedicated LDO for the power amplifier
  • u.FL connector and Pi-filter integrated
  • On-board programmer
  • Pinout provides easy access to Serial/UART for KimGUI communication

Block Diagram

Below is a simplified explanation of the block diagram.
Dashed lines represent optional test connections available during development or debugging:

  • External VPA Header (J5): Optional test access for PA power supply.
  • Debugger Connector (J6): Easy serial/USB interface for CLS KimGUI software (AT command testing).
  • Qwiic I²C Connector (J7): Expansion port for external I²C devices.
  • Feather Headers (J1 & J3): Main interface to Feather boards.

Block Diagram


Power Requirements

Thanks to the Feather board, no external power supply is required.
A simple USB cable or battery connected to the Feather is sufficient.

🔗 nRF52840 Feather Power Management

It can also operate without a Feather if the user supplies:

  • 3.3 V on J3-2
  • GND on J3-4
  • VBAT (J1-1) and/or USB (J1-3)

The 3.3 V required for Argos-SMD VDD comes from the Feather’s power regulator.
The PA amplifier is powered via the TPS63901 buck/boost converter.

  • Input range: 1.8 V – 5.5 V
  • Quiescent current: 75 nA
  • Output: 3.3 V (400 mA, SEL = HIGH) or 1.8 V (SEL = LOW)
  • Control: SEL pin managed either by SMD GPIOC1 or Feather D11
  • Secondary voltage: adjustable via resistor R27

⚠️ Note: In the schematic, the SEL pin is mislabeled as PGOOD. Update accordingly.

Startup time: ~2.375 ms to ramp up to 3.3 V (soft-start).


Pinout

Wing ↔ Feather Interface

Each pin from the Feather headers is routed through a 0-Ω resistor.
By default, only UART and Wake-up signals are actively connected.

The Feather provides:

  • 3.3 V power
  • USB/Battery input voltage
  • Direct communication signals

nRF52840 pinout


Connectors

J5 – Power Connector (VDD_PA)

Provides access to:

  • VDD_PA
  • VPA_SEL (1 → 3.3 V default, 0 → 1.8 V disabled)
  • VPA_EN
  • GND

⚠️ Important:

  • Pins are mainly for monitoring.
  • Controlled directly by STM32.
  • Wing v1.0: missing pull-up (VPA_SEL) and pull-down (VPA_EN) → undefined states if STM is OFF.
  • Wing v1.1: resistors added.
  • VDD_PA directly connected to LDO output → cut PCB trace before injecting external voltages.

J6 – UART Connector (STM32)

Provides external access to STM32 UART.

  • 3V3, RX, TX, GND

⚠️ Warning: If Feather communicates via UART, the line may be unavailable when also used on PC with KimGUI.


J4 – Programming Connector

Used for SMD module programming.


J7 – I²C Connector (Qwiic)

  • Qwiic-compatible I²C port.
  • Default: connected to Feather.
  • To connect to SMD: populate R15 & R16.

SPI Interface

  • Not used by default.
  • Experimental draft implementation available.

J1 – Antenna Connector (U.FL)

Connects the antenna to the satellite module.

image


Hardware Configuration

The Wing communicates with the Feather via UART.
By default, two 0-Ω 0402 resistors must be soldered to enable communication.

image

Wake-Up Pin

By default, firmware uses PB3 (see main.c and lpm.c).

  • Wing v1.0: PB3 used as SWO
  • Wing v1.1: HW modification applied (see below)

Hardware Solution

  • Remove R23 (0-Ω 0402)

  • Populate R18 (0-Ω 0402)

Software Solution

Update main.h and connect appropriate resistors:

#define EXT_WKUP_BUTTON_Pin GPIO_PIN_3
#define EXT_WKUP_BUTTON_GPIO_Port GPIOB

Update lpm.c to configure configWakeUpPins:

static void LPM_configWakeUpPins(void)
{
    HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1);
    HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN2);
    HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN3);

    __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);

    HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN3_HIGH);
}

Standalone Operation (Experimental Hack)

In some scenarios, you may wish to operate the Wings-SMD board without a Feather host MCU (e.g., for testing or custom integration). This is considered an advanced/unsupported configuration and requires hardware modifications (a dedicated standalone board coming soon).

⚠️ Warning: Standalone operation is intended for advanced users only. Use with caution, as it may bypass safety features and invalidate standard usage.


Option 1 – Direct Power Supply with Onboard LDO

If you can provide a stable 3.3 V supply directly to the breakout board, the onboard LDO regulator will continue to power the PA (Power Amplifier) in this mode.

  • Supply 3.3 V and connect RX/TX/GND through J6 for communication with your MCU.
  • The onboard power path remains unchanged, simplifying setup.


Option 2 – Bypass the Onboard LDO via J5

For more advanced testing, it is possible to bypass the breakout board’s LDO and power the PA externally using J5.

Steps:

  1. Cut the option pad that connects the LDO output to the PA power line.
    (This isolates the onboard regulator from the PA.)
  2. Provide your external PA supply via J5.
    • J5 pins: VDD_PA, VPA_SEL, VPA_EN, GND

This configuration ensures the PA is powered only by your external source, not the onboard LDO.

image


Summary:

  • Use J6 if you just want to supply 3.3 V and access UART (simplest method).
  • Use J5 if you need full control over the PA supply rail (advanced method).

Programming

The Wings-SMD (with SMD module) is pre-flashed with:
argos-smd-at-kineis-firmware

To update or reprogram:

  • Requires TC2030-IDC-NL connector (No Legs)
  • Compatible with J-LINK Edu Mini or ST-LINK
  • For development: use a TC2030 clip to secure the programmer.

You can use SEGGER JLink Lite to flash, or re-flash, an Arribada SMD Wing board with updated firmware.

  1. Download the J-Link "J-Link Software and Documentation pack" - https://www.segger.com/downloads/jlink/
  2. Connect your J-Link via USB to your computer
  3. To verify that your J-Link is connected correctly and that your TC2030-NL cable is plugged in correctly, open the software J-Flash and create a new project. Select STM32WL55JC_M4 as your target and leave the Target Interface at SWD, 4000 kHz
  4. Select Target > Connect
  5. Verify that you see "Connected Successfully" as the last output in the on-screen Log. If you do, proceed to the next step, otherwise confirm the orientation of your J-Link cabling. Note - the Feather also needs to be powered with a battery when flashing, as it passes 3v3 power through the SMD you are attempting to flash on the Wing.
  6. Now that your connection is verified, open the Segger software J-Link Lite and select the same target device, interface and speed as above.
  7. Select the argos-smd-at-kineis-firmware.hex file found in the firmware ZIP
  8. Click program.

Firmware

See dedicated Wiki pages for details:


Software

  • CLS KimGUI (request from CLS) – AT command interface for SMD
    Version ≥ 4.1.2
  • CLS Emulsat (request from CLS) – Satellite communication test with Adalm-PLUTO SDR
    Version ≥ 0.9