Field-Programmable Analog Technology

What Is an FPAA? A Guide to Field-Programmable Analog Arrays

A Field-Programmable Analog Array (FPAA) is a reconfigurable analog integrated circuit that lets engineers build and modify real analog functions through software instead of fixing every amplifier, filter, comparator, and signal path permanently in hardware.

FPAAs bring software-defined flexibility into the analog signal chain. They can be configured for filtering, gain, comparison, signal conditioning, waveform generation, analog computation, sensor interfacing, and other functions, then updated as requirements change.

Engineers sometimes use the phrase “analog FPGA” to describe the concept because an FPAA brings FPGA-like reconfigurability to analog hardware. The comparison is useful, but the devices are not the same: an FPGA configures digital logic, while an FPAA configures analog circuitry that operates directly on continuous voltages and signals.

Start Here

What Is a Field-Programmable Analog Array?

An FPAA combines configurable analog building blocks with programmable interconnections. Instead of committing an analog function to a fixed set of components, the designer can determine what those internal resources do and how they connect.

FPAA definition: A Field-Programmable Analog Array is an integrated circuit containing configurable analog resources and programmable routing that can be configured after manufacturing to implement analog signal-processing and computational functions.

Configure Functions

Build amplifiers, filters, integrators, comparators, oscillators, arithmetic functions, and other analog circuits from reusable configurable resources.

Configure Parameters

Change values such as gain, cutoff frequency, thresholds, coefficients, timing, or signal-routing behavior through software-controlled configuration.

Configure Topology

Reconnect internal blocks to change the structure of the analog circuit itself, not only the values of individual parameters.

Why Make Analog Hardware Programmable?

Traditional analog circuits are often optimized around a specific sensor, bandwidth, gain, filter response, or operating condition. When those requirements change, engineers may need to replace components, modify the PCB, or qualify a new signal chain.

An FPAA moves more of that iteration into configuration. The same physical device can implement different analog functions, support multiple operating modes, or be updated as the application evolves.

Is an FPAA an “Analog FPGA”?

“Analog FPGA” is a useful shorthand, but FPAA is the technically correct term. Both technologies provide field programmability and configurable routing, but they operate in different signal domains.

FPGA

Configures digital logic, registers, memory, arithmetic structures, and digital interconnect. Signals are represented as discrete logic states.

FPAA

Configures analog functions, analog parameters, and signal paths. Real-world voltages are processed directly, so bandwidth, noise, gain, dynamic range, loading, and other analog effects still matter.

For designers searching for an analog FPGA, an FPAA is generally the class of device they are looking for: programmable hardware for the analog portion of a system.

↑ Back to top
Inside an FPAA

Core FPAA Architecture

FPAA architectures differ by manufacturer and device family. Okika’s FlexAnalog™ AN231E04 provides a useful example of how configurable analog resources, I/O, routing, configuration memory, and clocking work together.

Analog
I/O Cells
Configurable
Analog Blocks
Programmable
Interconnect
Configuration
& Clocking

Configurable Analog Blocks (CABs)

CABs contain analog resources that can be combined into higher-level functions. The AN231E04 contains four CABs arranged as a 2 × 2 analog matrix.

Its analog resources include operational amplifiers, differential comparators, programmable capacitor structures, and supporting logic used by Configurable Analog Modules.

Configurable Analog Modules (CAMs)

CAMs are software-visible functional blocks that make the underlying analog resources easier to use. A designer can work with functions such as filters, amplifiers, integrators, oscillators, comparators, signal converters, multipliers, and other analog blocks.

Programmable Interconnect

Routing resources connect I/O cells and internal analog blocks. Changing those connections changes the signal path and can produce an entirely different circuit topology using the same silicon.

Analog I/O Cells

I/O resources connect the programmable analog fabric to external sensors, circuits, converters, and other hardware. The AN231E04 family provides seven flexible analog I/O cells.

Configuration Memory

A digital configuration bitstream controls analog functions, routing, and operating parameters. Configuration data can be supplied by a host processor or stored externally for loading at startup.

Clocking and Switched-Capacitor Resources

FlexAnalog™ devices combine conventional analog elements with switched-capacitor circuitry. Clock configuration is therefore part of the design process for functions that depend on switched-capacitor operation.

Inside the AN2X1E04 Analog Fabric

Okika's AN2X1E04 FlexAnalog™ family combines conventional analog circuitry with switched-capacitor elements. Each device provides seven analog I/O cells and four Configurable Analog Blocks controlled by a digital configuration bitstream.

Within the programmable analog resources, the family provides:

12 Operational amplifiers
4 Differential comparators
4 Successive-approximation logic elements
32 Matched programmable capacitors / switched-capacitor elements

These lower-level resources are allocated and interconnected by the design tools to implement the higher-level CAMs used in a practical circuit design.

Okika FlexAnalog AN2X1E04 FPAA architecture and internal analog resources
FlexAnalog™ AN2X1E04 device architecture and programmable analog resources. Source: Okika Devices.
Reference-device context: The AN231E04 has four CABs and supports dynamic reconfiguration. Okika specifies an 18 MHz unity-gain bandwidth and device-level signal processing up to approximately 2 MHz, but practical bandwidth depends on the implemented circuit, I/O path, board, and surrounding components.
↑ Back to top
Software-Defined Analog

How an FPAA Works

The key idea is simple: software describes the analog circuit, but the resulting signal processing occurs in physical analog hardware.

1

Select Analog Functions

Choose the required functional blocks, such as gain stages, filters, comparators, integrators, oscillators, rectifiers, or arithmetic functions.

2

Set Parameters

Configure gain, frequency response, thresholds, timing, coefficients, or other parameters appropriate to the circuit.

3

Route the Signal Path

Connect the I/O cells and analog modules through the programmable interconnect to form the desired analog topology.

4

Compile the Configuration

The design software maps the requested functions and routing onto the physical resources of the target FPAA and produces configuration data.

5

Program the Device

The configuration is loaded from a host processor, development board, or nonvolatile memory. The FPAA then behaves as the configured analog circuit.

6

Reconfigure When Needed

FlexAnalog™ devices support dynamic reconfiguration. A new configuration can be loaded while the existing circuit continues operating, then activated when the update is ready.

Dynamic Reconfiguration: Change the Analog Circuit While It Runs

Dynamic reconfiguration is one of the most distinctive FlexAnalog™ capabilities. A companion processor or controlled nonvolatile memory can send a new configuration to the FPAA while the existing analog circuit continues operating.

After the new configuration data has been loaded, the device can transfer to the updated analog-array configuration in a single clock cycle. The update can be partial or complete, allowing a system to modify only the functions that need to change.

This also makes it possible to reuse the same physical analog resources for different functions at different points in a duty cycle. Instead of permanently dedicating separate analog circuitry to every operating mode, one FPAA can be reconfigured as the system moves between tasks.

↑ Back to top
Choosing the Right Technology

FPAA vs. FPGA, Analog Front End, MCU/DSP, and Fixed Analog

FPAAs are one option within a larger mixed-signal design toolbox. They are most valuable when the analog portion of a system needs more flexibility than a fixed circuit provides.

Technology Primary Strength What Changes Best Fit
Fixed Analog Optimized implementation of a known analog function Usually requires component or PCB changes Stable, high-volume, fixed-function designs
Analog Front-End IC Integrated signal conditioning for a defined sensor or application class Often offers parameter programmability within a fixed architecture Known sensor families and established front-end requirements
MCU / DSP Flexible digital algorithms and control Software and digital processing Control, communications, sampled-signal processing, algorithms
FPGA Parallel configurable digital logic Digital gates, routing, state, memory, interfaces High-speed digital pipelines and custom digital hardware
FPAA Reconfigurable analog signal processing Analog function, parameters, and topology Adaptive front ends, analog prototyping, configurable sensing and control

FPAA vs. FPGA

FPGAs excel when a problem is fundamentally digital. FPAAs operate directly on analog signals and are therefore suited to functions such as filtering, gain control, comparison, integration, detection, and other continuous-signal operations before or alongside digitization.

Hybrid systems are common. An FPAA can condition or preprocess the analog signal, an MCU can manage configuration and system control, and an FPGA can perform high-speed digital processing.

↑ Back to top
Why Use an FPAA?

Core Advantages of Field-Programmable Analog

Faster Analog Iteration

Change gains, filters, routing, and functional blocks through configuration instead of rebuilding the entire analog signal chain for every experiment.

Dynamic Reconfiguration

FlexAnalog™ devices can load new configuration data while the current circuit is operating, allowing systems to switch modes or adapt their analog behavior under host control.

Functional Integration

Multiple analog operations can be consolidated into one configurable IC, potentially reducing the number of separate amplifiers, filters, comparators, switches, and supporting components.

Adaptable Sensor Interfaces

A programmable front end can support changing gain, bandwidth, thresholds, or filter response when sensors, environments, or operating modes change.

Process Before the ADC

Filtering, amplification, comparison, feature extraction, and other useful operations can occur in the analog domain before the digital system receives the signal.

Reusable Hardware

The same configurable platform can be reused across experiments, prototypes, product variants, or multiple signal-processing modes.

FPAAs do not remove normal analog design constraints. Signal range, noise, bandwidth, loading, clocking, routing parasitics, stability, and external circuitry still need to be considered.
↑ Back to top
Where FPAAs Fit

FPAA Applications

FPAAs are useful when a system needs analog processing that is configurable, adaptive, reusable, or easier to prototype than a fixed-function signal chain.

Sensor Signal Conditioning

Configure gain, filtering, offset handling, comparison, anti-aliasing, and other front-end functions for sensors and measurement systems.

Audio and Acoustic Processing

Implement programmable filters, gain control, equalization, waveform shaping, effects, and acoustic-signal conditioning.

Sonar and Ultrasonic Systems

Use adaptive gain, filtering, detection, and time-varying analog processing in changing acoustic environments.

Industrial Monitoring

Adapt analog preprocessing for vibration, position, current, pressure, acoustic, and other industrial sensing signals.

Robotics and Control

Place configurable filtering, signal conditioning, comparison, integration, or control functions close to sensors and actuators.

Biomedical and Wearable Research

Explore configurable analog front ends, feature extraction, physiological signal conditioning, and low-power sensing architectures.

Edge Sensing and Event Detection

Detect, filter, or extract useful features before sending every raw sample into a larger digital processing pipeline.

Instrumentation and Test

Build software-configurable measurement paths, filters, generators, signal conditioners, and laboratory prototypes.

Education and Research

Teach and explore analog circuits with configurable hardware that can be redesigned repeatedly without replacing the entire physical circuit.

↑ Back to top
From Concept to Hardware

FlexAnalog™ Design and Programming Workflow

Okika FlexAnalog™ products use AnadigmDesigner2® to capture, configure, simulate, and program FPAA circuits through a graphical design environment.

Okika AnadigmDesigner2 FlexAnalog graphical analog design environment
AnadigmDesigner2® provides a graphical environment for FlexAnalog™ circuit design, simulation, and hardware prototyping. Source: Okika Devices.

What AnadigmDesigner2® Adds to the Workflow

Block Diagram Editor

Build the analog system graphically using drag-and-drop functional blocks rather than drawing every underlying transistor-level circuit.

Automated Filter Design

Configure and optimize filter functions through dedicated design tools and parameter forms.

Analog Component Library

Work with low-level resources and higher-level functions including filters, multipliers, signal converters, Rauch filters, and additional CAMs.

Integrated Simulation

Evaluate the configured circuit with an integrated simulator and waveform viewer before moving to the physical development board.

Rapid Revision

Modify parameters and circuit structure within the same environment and regenerate a hardware configuration without rebuilding the board.

Integrated Development Flow

Use the same environment for design capture, parameter configuration, simulation, configuration generation, and rapid hardware prototyping.

The software also assists with implementation details that would otherwise require significant manual analog design work, including reference-level management, routing parasitics, stability and compensation considerations, and changes associated with temperature or supply conditions.
1

Define the Analog Function

Identify the input and output signals, required gain, frequency response, signal range, channel count, control requirements, and expected operating modes.

2

Place Configurable Analog Modules

Build the design graphically using CAMs for filters, amplifiers, comparators, integrators, oscillators, converters, multipliers, and other analog functions.

3

Set Circuit Parameters

Configure gain, cutoff frequency, Q, thresholds, clocking, coefficients, and other values through each module’s design interface.

4

Connect and Route

Connect the modules and I/O cells to define the complete signal path. The software maps those connections onto the target device.

5

Simulate the Design

Use the integrated simulator and waveform tools to evaluate the circuit before loading it onto the development hardware.

6

Program the FPAA

Download the generated configuration to a supported development board or transfer the bitstream through a host processor in an embedded design.

7

Measure and Refine

Compare measured performance with the intended response, then adjust parameters, topology, or external circuitry as needed.

8

Deploy or Reconfigure

Store a startup configuration or allow a companion MCU, Raspberry Pi, or other host to load new FPAA configurations as system requirements change.

CAM Library and Automatic Design Functions

Designer2 bridges the gap between the physical FPAA resources and the functions engineers want to build. A CAM exposes useful design parameters through a graphical interface, while the software determines how those requirements are implemented with the available analog resources.

Example FlexAnalog Designer2 configurable analog module and parameter interface
Example Designer2 library element with GUI-selectable configuration parameters. Source: Okika Devices.
FlexAnalog Designer2 basic analog library elements
Examples of basic analog library elements available in Designer2. Source: Okika Devices.
FlexAnalog Designer2 higher-level analog design functions
Examples of higher-level analog functions available through the Designer2 library. Source: Okika Devices.

This abstraction is important to the FPAA concept. The user designs at the level of useful analog behavior, while the tools map those functions onto the configurable amplifiers, capacitors, comparators, routing, and switched-capacitor resources inside the target device.

↑ Back to top
Okika FlexAnalog™ Product Guide

Which FPAA Product Is Right for Your Project?

Okika’s non-SoC FPAA lineup ranges from the AN231E04 integrated circuit itself to single-, dual-, and quad-FPAA development boards, Raspberry Pi and Arduino platforms, and a specialized FPAA-based filter module.

Best for custom hardware

AN231E04 FPAA IC

Four-CAB dynamically reconfigurable FlexAnalog™ FPAA for engineers integrating programmable analog directly into a custom PCB or embedded product.

Best use: custom signal-conditioning hardware, embedded products, adaptive analog subsystems, and production designs after prototyping.

Explore AN231E04 →
Best first bench platform

AN231K04-SING1

Single-AN231E04 development board with USB programming, PIC32 support, prototyping area, filters, and accessible I/O.

Best use: first-time FPAA evaluation, education, filter/amplifier development, single-device prototypes, and laboratory experiments.

Explore SING1 →
Best for expanded analog designs

AN231K04-DUAL2

Two AN231E04 devices with programmable interconnection, PIC32 control, USB, onboard filters, and prototyping resources.

Best use: larger signal chains, additional filter stages, multiple analog functions, and designs that need more resources than one FPAA provides.

Explore DUAL2 →
Best for multi-FPAA prototyping

AN231K04-QUAD4

Four AN231E04 FPAAs with flexible routing, PIC32 control, USB programming, breadboard space, and selectable multi-device signal paths.

Best use: multi-channel processing, cascaded filter systems, larger experimental architectures, and complex bench prototypes.

Explore QUAD4 →
Best for Raspberry Pi systems

OTC2310K04-PIKA

Raspberry Pi HAT with four independently configurable AN231E04 FPAAs, SPI control, flexible routing, onboard input filters, and Python-oriented host integration.

Best use: Raspberry Pi-controlled instrumentation, multi-channel sensing, software-defined analog experiments, automation, and host-driven reconfiguration.

Explore PIKA →
Best for MCU and education

OTC2312 FlexAnalog™ Arduino Shield

Arduino Uno-compatible shield using the AN231E04 with analog I/O conditioning, SPI configuration, onboard power, and support for real-time circuit reconfiguration.

Best use: Arduino and MCU projects, teaching, embedded sensor interfaces, adaptive filters, programmable audio, and compact prototyping.

Explore Arduino Shield →
Specialized FPAA-based module

Chameleon™ 8th-Order Low-Pass Filter

Preconfigured switched-capacitor Butterworth low-pass filter modules built around FPAA technology, available in characterized cutoff-frequency variants.

Best use: engineers who need a compact, characterized low-pass filter module rather than a general-purpose FPAA development platform.

Explore Chameleon →
Not sure where to start? Choose SING1 for a general bench introduction, the Arduino Shield for MCU-centered projects, PIKA for Raspberry Pi integration, DUAL2 or QUAD4 when you need more analog resources, and the AN231E04 IC when you are ready to integrate FlexAnalog™ into custom hardware.
↑ Back to top
Continue Learning

FPAA Engineering Resources

↑ Back to top
Frequently Asked Questions

FPAA FAQ

What does FPAA stand for?

FPAA stands for Field-Programmable Analog Array. It is a reconfigurable analog integrated circuit containing configurable analog functions and programmable signal routing.

What is an FPAA used for?

FPAAs can implement functions such as filtering, amplification, comparison, integration, oscillation, signal conditioning, analog arithmetic, sensor interfacing, feature extraction, and configurable control. They are especially useful when those functions need to be changed or tuned after the hardware has been built.

Is an FPAA the same thing as an analog FPGA?

“Analog FPGA” is an informal phrase often used to explain the idea of an FPAA. Both technologies are field programmable, but an FPGA configures digital logic while an FPAA configures real analog circuitry and analog signal paths. FPAA is the technically correct device category.

What is the difference between an FPAA and an FPGA?

An FPGA operates on digital signals and is built around configurable digital logic and routing. An FPAA contains configurable analog resources and processes continuous analog signals directly.

The two can be complementary: an FPAA can handle analog-domain preprocessing while an FPGA performs high-speed digital processing.

What is the difference between an FPAA and a programmable analog front end?

A programmable analog front-end IC usually offers adjustable parameters such as gain or filter settings within a predefined architecture. An FPAA generally provides broader configurability by allowing both analog functions and their interconnections to be changed.

Does an FPAA replace an ADC?

No. An FPAA can perform useful analog processing before an ADC, but an ADC is still required whenever the system needs a digital representation of the signal. FPAAs give designers more control over what processing should occur before digitization.

Does an FPAA replace a microcontroller or DSP?

Usually not. An FPAA is often used alongside an MCU, DSP, FPGA, or host computer. The FPAA handles analog-domain functions while the digital processor manages configuration, communications, software, algorithms, and system-level control.

Can an FPAA change its circuit while the system is running?

Okika FlexAnalog™ AN2X1E04 devices support dynamic reconfiguration. New configuration data can be loaded while the current analog configuration continues operating and then transferred to the active array when ready.

How is an FPAA programmed?

Okika FlexAnalog™ devices are designed using AnadigmDesigner2®. The designer places and configures analog functional blocks, simulates the circuit, and generates configuration data. That data can be downloaded through a development board or loaded from a companion host processor or external memory.

Get FlexAnalog™ Design Software →

What analog functions can I build in a FlexAnalog™ FPAA?

The available design library includes configurable functions such as amplifiers, low-pass, high-pass and band-pass filters, comparators, integrators, oscillators, multipliers, signal converters, and other analog processing modules.

What limits FPAA performance?

FPAA performance depends on the target device, configured function, signal range, bandwidth, routing, clocking, noise requirements, loading, I/O path, and external circuitry. As with any analog design, the implemented circuit must be evaluated against the actual application requirements.

Which Okika FPAA product is best for beginners?

The AN231K04-SING1 is a strong general-purpose bench platform because it provides one AN231E04 FPAA, USB programming, a PIC32 controller, accessible I/O, filters, and prototyping space. The OTC2312 Arduino Shield is a natural choice for users who specifically want Arduino or MCU integration.

Which Okika FPAA product is best for Raspberry Pi?

The OTC2310K04-PIKA is designed as a Raspberry Pi HAT and contains four AN231E04 FPAAs. It is suited to host-controlled multi-channel analog processing and Raspberry Pi-based experimentation.

When should I use the AN231E04 chip instead of a development board?

Use a development board while evaluating the technology and building the prototype. The standalone AN231E04 is the better fit when you are ready to integrate the FPAA into a custom PCB or embedded product architecture.

↑ Back to top
Start Designing

Explore the Okika FlexAnalog™ Platform

Start with a development board, design and simulate your analog circuit in AnadigmDesigner2®, and move to the AN231E04 device when you are ready to integrate programmable analog into your own hardware.

↑ Back to top
Make Analog Hardware Reconfigurable

Build, Test, and Adapt Analog Circuits in Software-Defined Hardware

FPAAs extend programmability into the analog signal path. Configure the function, simulate the circuit, program the hardware, and refine the design without rebuilding the entire analog chain.