Integrating the Acconeer A111 Pulsed Radar with a Raspberry Pi: A Practical Guide
Introduction
Experimental Products: SparkX delivers cutting‑edge technology quickly. While these items are rigorously tested, they are sold without formal guarantees and live technical support is unavailable.
Do you need ultra‑precise distance, speed, motion, or gesture sensing that surpasses ultrasonic and infrared? Meet the Acconeer A111—a compact, pulsed 60 GHz radar module that brings high‑performance sensing to your projects.
The A111 is a single‑chip pulsed coherent radar (PCR) solution featuring integrated antennae and a 50 MHz SPI interface. It supports distance, gesture, motion, and speed detection up to two metres, and can track multiple objects simultaneously.
Our breakout board adds a 1.8 V regulator, voltage‑level translation, and a 20‑pin 2×10 female header that is fully compatible with Raspberry Pi GPIO headers.
Required Materials
To work with the A111 you must use an ARMv7 or ARM Cortex‑M4 architecture, as the current SDK is closed source and supports only these platforms. This guide demonstrates how to integrate the sensor with a Raspberry Pi, a platform whose architecture is compatible with the SDK.
The breakout board provides a 20‑pin 2×10 female header that mates directly to any Raspberry Pi model. If you prefer manual wiring, the board also offers male headers and the typical 9 male‑to‑female jumper wires.
Setup the Hardware
Raspbian and SPI
Assuming you already have Raspbian installed on your Pi, consult Raspberry Pi documentation for OS installation, or use our Headless Raspberry Pi Setup tutorial for a streamlined process.
Enable SPI on your Pi—see our SPI on Pi tutorial for guidance.
The A111 breakout is designed to sit directly on top of a Raspberry Pi. It does not occupy all 40 GPIO pins of a Pi B+ (or later), but the 26‑pin 2×13 header is fully compatible with any Pi model.
To install, solder the 2×13 header with the female side facing away from the A111 IC. Then connect the breakout’s shield to the Pi, aligning the "Pi Display" text with the Pi’s display header. The sensor should face upward after insertion.
A111 Breakout plugged into a Raspberry Pi.
Alternatively, if you prefer manual wiring, use the pinout below for the remainder of this tutorial:
| Breakout Pin | Raspberry Pi Pin Name | RasPi Pin Number |
|---|---|---|
| CS | SPI0 CS0 | 24 |
| SCLK | SPI0 SCLK | 23 |
| MISO | SPI0 MISO | 21 |
| MOSI | SPI0 MOSI | 19 |
| INT | GPIO25 | 22 |
| EN | GPIO27 | 13 |
| VCCIO | 3.3V | 1,17 |
| GND | GND | 6, 14, 20, etc. |
| VIN | 5V | 2, 4 |
⚡ Input Voltage and Logic Levels: The board exposes both VIN and VCCIO. VIN powers the sensor, drawing up to ~80 mA. VCCIO sets the I/O voltage and can be lower than VIN. Connect VIN to the Pi’s 5 V supply and VCCIO to 3.3 V; the Pi can only drive 3.3 V I/O.
Enable SPI on Your Raspberry Pi
Refer to the SPI on Pi tutorial for detailed steps to activate SPI via the Raspberry Pi configuration tools.
Get the SDK
The Acconeer A111 SDK is proprietary and currently supports only ARMv7 and Cortex‑M4 platforms. To download the SDK, visit Acconeer’s Products page and locate the A1 Software Development Kit section. Click GET SOFTWARE**, accept the license, and request the A1 SDK for Linux ARMv7 version.
Requesting the ARMv7 SDK from Acconeer.
After providing your email, you will receive a download link by email almost immediately.
SCP the SDK to Your Pi
Once the ZIP file is downloaded, transfer it to your Pi. On Windows, use WinSCP. On macOS or Linux, use SCP:
scp acconeer_evk_service_linux_armv7l_xc111_r4a_xr111-3_r1c_a111_r2c_v1_3_5.zip 192.168.0.100:~
Note: Replace 192.168.0.100 with your Pi’s IP address or hostname.
Unzip the SDK
On the Pi, unzip the SDK with the following commands (install unzip if necessary):
unzip acconeer_evk_service_linux_armv7l_xc111_r4a_xr111-3_r1c_a111_r2c_v1_3_5.zip -d a111
Navigate to the a111/evk_service directory to prepare for building the example software.
SDK Overview
The SDK bundle contains source code, pre‑compiled libraries, header files, and documentation. Key directories:
- doc – Doxygen‑generated API documentation.
- include – Header files describing the API.
- lib – Pre‑compiled static archives.
- out – Compiled board and example binaries.
- rule – Makefile rules for building boards and examples.
- source – C source files for custom boards and examples.
- makefile – Top‑level Makefile invoking rules recursively.
Adding Custom Example and Board Files
The SparkFun A111 Breakout’s pin mapping differs from the SDK’s default. Download the custom files from our GitHub repository (zip). Extract them into the SDK’s matching directories:
unzip sparkx-a111-source.zip -d a111/evk_service_linux_armv7l_xc111_r4a_xr111-3_r1c_a111_r2c
Included files:
rule/makefile_build_sparkx_detector_distance.inc– Build rules for the distance detector example.rule/makefile_build_example_*_sparkx– Build rules for SparkX breakout examples.source/acc_board_rpi_sparkx.c– Board definition with pin connections and clock settings.source/sparkx_detector_distance.c– Modified distance detector source.
Ensure these files are placed in the same relative locations as in the original SDK ZIP.
Custom example files added to the SDK’s rule directory.
Build and Run the Test Sketch
Building the Board and Example Applications
With the SDK and custom files in place, build all examples by running make from the SDK’s top‑level directory. The recursive Makefile will compile the board definition and all bundled examples.
After a successful build, execute the desired binary from the out directory to start the A111 sensor and validate functionality.
For detailed build instructions and troubleshooting, refer to the SDK documentation in the doc folder.
Happy hacking with the Acconeer A111 on your Raspberry Pi!
Manufacturing process
- Build a Remote Temperature Sensor with Raspberry Pi and Python – Step‑by‑Step Guide
- Integrating Sensor Data into a Raspberry Pi: A Hands‑On Guide
- Control an LED with a PIR Motion Sensor on Raspberry Pi
- Connecting an HC‑SR04 Ultrasonic Sensor to a Raspberry Pi – A Practical Guide
- Build an Automated Aeroponics System with Raspberry Pi and Humidity Sensor
- Capturing IR Remote Commands on Raspberry Pi without LIRC: A Python UART Approach
- Using an MCP3008 ADC to Read Analog Sensors with Raspberry Pi
- Integrating the MAX30100 Pulse Sensor with Arduino: A Step-by-Step Guide
- Step-by-Step Guide: Connecting YL-39/YL-69 Soil Moisture Sensor to Arduino UNO
- Compact Arduino Radar System with HC‑SR04 Ultrasonic Sensor & 1.8" Display