CommercialToolry
Overview of Allegro Acs712: Composition, Mechanical Properties, and Applications

Overview of Allegro Acs712: Composition, Mechanical Properties, and Applications

Types of ACS712 Current Sensor ICs and Their Features

The Allegro ACS712 is a family of fully integrated, Hall-effect-based linear current sensor integrated circuits designed for both AC and DC current sensing in a wide range of electronic applications. These sensors operate on a standard 5V supply and provide economical and precise solutions for current measurement with minimal external components required. A key advantage of the ACS712 series is its built-in galvanic isolation, which separates the high-current path from the sensor’s electronic circuitry, enhancing safety and reducing noise interference.

All variants feature low offset voltage, high accuracy, and a nearly noise-free signal output, making them ideal for real-time monitoring and control systems. The sensors use the Hall effect principle: when current flows through the internal conductor, it generates a proportional magnetic field that is sensed and converted into an analog voltage output. Based on their current measurement range and sensitivity, the ACS712 family is available in three primary versions, each tailored to specific power requirements and application environments.

ACS712-05B (±5A)

Optimized for precision sensing in low-current applications, this variant measures currents up to ±5A with a sensitivity of approximately 185 mV/A. Despite earlier documentation citing 1.0 mV/A, the actual sensitivity is significantly higher, allowing for fine resolution in small current changes. The quiescent output voltage is typically 2.5V (at zero current), with output varying linearly around this point.

Advantages
  • High sensitivity for accurate low-current detection
  • Ideal for precision monitoring and control
  • Minimal power loss due to low internal resistance
  • Excellent signal-to-noise ratio
Limitations
  • Limited to low-current circuits only
  • Not suitable for high-power industrial loads
  • Saturation occurs beyond ±5A

Best for: Microcontroller-based projects, robotics, battery monitoring, small motor control, IoT devices

ACS712-20A (±20A)

This mid-range sensor supports current measurements up to ±20A with a sensitivity of about 100 mV/A. It strikes a balance between range and resolution, making it one of the most versatile options in the ACS712 lineup. Like all variants, it provides a centered 2.5V output at zero current, scaling linearly with both positive and negative current flow.

Advantages
  • Wider dynamic range than the 5A version
  • Suitable for both AC and DC systems
  • Commonly used in commercial and industrial control
  • Good accuracy with minimal calibration needed
Limitations
  • Lower sensitivity compared to the 5A model
  • May require filtering in noisy environments
  • Less precise for sub-ampere measurements

Best for: Power supplies, HVAC systems, medium-sized motor drives, solar charge controllers, and home energy monitors

ACS712-30A (±30A)

The highest-capacity variant in the series, the ACS712-30A can measure currents up to ±30A with a sensitivity of approximately 66 mV/A. While it sacrifices some sensitivity, it excels in high-power applications where robust current monitoring is essential. Its design ensures reliable operation under heavy loads while maintaining galvanic isolation and thermal stability.

Advantages
  • Supports high-current industrial and automotive loads
  • Durable construction with overcurrent tolerance
  • Effective for real-time overload protection
  • Compatible with microcontrollers via ADC input
Limitations
  • Reduced resolution for small current changes
  • May require signal amplification for fine control
  • Generates more heat under continuous high load

Best for: Industrial machinery, electric vehicles, high-power inverters, welding equipment, and large motor controllers

Core Features Across All Models

Despite differences in range and sensitivity, all ACS712 variants share critical performance characteristics that define their reliability and ease of integration.

  • Galvanic Isolation: Internal insulation eliminates the need for external optocouplers or shunt resistors.
  • Low Noise Output: On-chip signal conditioning ensures a clean analog output.
  • High Bandwidth: Up to 80 kHz bandwidth enables fast response to current transients.
  • Temperature Stability: Minimal drift across operating temperatures (-40°C to 85°C).
  • Compact SOIC-8 Package: Easy PCB integration and space-saving design.

Note: All models require a stable 5V supply and proper decoupling capacitors for optimal performance.

Model Current Range Sensitivity Accuracy Typical Applications
ACS712-05B ±5A 185 mV/A ±1.5% (typical) Robotics, small electronics, battery management
ACS712-20A ±20A 100 mV/A ±2.0% (typical) Power supplies, motor controllers, HVAC
ACS712-30A ±30A 66 mV/A ±2.5% (typical) Industrial systems, automotive, high-power inverters

Expert Tip: For accurate readings, always use a low-pass filter (e.g., RC filter) on the output pin to reduce high-frequency noise. Additionally, ensure proper power supply decoupling with a 0.1µF ceramic capacitor near the VCC and GND pins to maintain signal integrity.

Industrial Applications of ACS712 Current Sensor

The ACS712 is far more than a basic electronic component—it is a highly integrated Hall-effect-based current sensor IC that plays a pivotal role across numerous industrial environments. Its ability to accurately measure both AC and DC currents, combined with galvanic isolation, low power consumption, and high noise immunity, makes it ideal for rugged, high-demand applications. The sensor’s compact form factor and ease of integration into microcontroller-based systems further enhance its appeal in modern industrial automation and monitoring solutions.

Monitoring Overcurrent Conditions in Heavy-Duty Equipment

Application Overview

The ACS712 is widely deployed in industrial settings to monitor large machinery such as conveyor systems, industrial compressors, hydraulic pumps, and high-power electric motors. These systems often draw substantial current during operation, and abnormal spikes can indicate mechanical jams, bearing failures, or electrical faults.

Benefits & Functionality

By continuously measuring real-time current draw, the ACS712 enables early detection of overcurrent conditions before they lead to catastrophic equipment failure. When current exceeds predefined thresholds, control systems can trigger alarms, shut down motors, or initiate maintenance protocols. This predictive monitoring reduces unplanned downtime, extends equipment lifespan, and enhances workplace safety by preventing overheating or fire hazards.

Integration in Automation and Control Systems

Role in Industrial Automation

In programmable logic controller (PLC)-driven or microcontroller-based automation systems, the ACS712 provides precise feedback on the current consumption of actuators, solenoids, relays, and servo drives. This data is critical for assessing the operational health of electromechanical components.

Smart Response Mechanisms

For example, in an automated assembly line, a sudden drop in actuator current may indicate a disengaged mechanism, while an unexpected surge could signal a mechanical obstruction. The fast response time and analog output of the ACS712 allow control systems to react within milliseconds, enabling dynamic adjustments without human intervention. This leads to improved process efficiency, reduced error rates, and greater consistency in production quality.

Current Measurement in HVAC Systems

Energy and Performance Monitoring

The ACS712 is extensively used in Heating, Ventilation, and Air Conditioning (HVAC) systems to monitor the current drawn by compressors, blower motors, and cooling fans. Accurate current sensing allows the system to assess motor load and detect inefficiencies such as clogged filters, failing bearings, or refrigerant issues.

Optimization and Efficiency

Based on real-time current data, HVAC controllers can modulate fan speeds via variable frequency drives (VFDs), optimize compressor cycling, and implement energy-saving modes. This not only improves thermal regulation accuracy but also significantly reduces power consumption. Over time, this contributes to lower operational costs and compliance with energy efficiency standards like ENERGY STAR or ISO 50001.

Power Supply and Circuit Protection

Protecting Critical Infrastructure

In industrial environments, stable and protected power distribution is essential. The ACS712 is integrated into switchgear, power distribution units (PDUs), and uninterruptible power supplies (UPS) to monitor current flow and detect overloads or short circuits in real time.

Preventing Failures and Enhancing Safety

When excessive current is detected, the sensor signals protective relays or microcontrollers to trip circuit breakers or disconnect non-critical loads. This proactive protection prevents damage to sensitive electronics, avoids thermal runaway in power components, and mitigates the risk of electrical fires. As a result, system uptime improves, maintenance costs decrease, and overall electrical safety is enhanced across facilities.

Application Key Benefit Implementation Example
Heavy Machinery Monitoring Prevents equipment damage from overcurrent Conveyor belt motor protection in mining operations
Industrial Automation Enables real-time fault detection and response Monitoring robotic arm actuators in manufacturing
HVAC System Control Improves energy efficiency and system longevity Fan motor load sensing in commercial buildings
Power Supply Protection Prevents electrical failures and fire hazards Overcurrent detection in industrial UPS systems
  • Galvanic Isolation: Provides safe current measurement without direct electrical contact, protecting control circuits from high-voltage transients.
  • Bidirectional Sensing: Models like ACS712-05B and ACS712-30B support both positive and negative current flow, ideal for AC and reversible DC systems.
  • High Accuracy: Offers typical accuracy within ±1.5% with minimal drift over temperature and time.
  • Low Insertion Loss: Introduces negligible resistance into the circuit, preserving system efficiency.
  • Digital Integration Ready: Analog output easily interfaces with ADCs in microcontrollers (e.g., Arduino, ESP32, STM32) for smart monitoring.
  • Important: While the ACS712 is robust, proper installation and signal conditioning are crucial. Always use bypass capacitors, shielded wiring in noisy environments, and ensure correct calibration for accurate readings. Avoid exceeding the sensor’s current rating to prevent permanent damage. For high-voltage applications, adhere to electrical safety standards and consider additional insulation or enclosures.

    Direct Current (DC) Usage of ACS712

    The ACS712 current sensor IC is a highly versatile Hall-effect-based device designed to measure both alternating current (AC) and direct current (DC) with high accuracy. While it supports AC measurements, its application in DC systems is particularly widespread due to its ability to provide real-time, isolated current monitoring with minimal circuit complexity. Its linear output voltage proportional to the sensed current, combined with low power loss and galvanic isolation, makes it ideal for integration into modern electronic control and monitoring systems.

    Technical Insight: The ACS712 operates on the principle of magnetic field detection via a Hall sensor. When current flows through the internal conductor, it generates a proportional magnetic field, which the Hall element converts into a voltage signal. For DC applications, this output is a steady analog voltage centered around VCC/2 (typically 2.5V when powered by 5V), shifting upward or downward depending on the direction and magnitude of the current.

    Electrical Load Monitoring

    In industrial and automation environments, the ACS712 is widely used to monitor current consumption across various DC-powered loads such as motors, heaters, solenoids, and power electronics. By continuously measuring the current draw, the sensor enables early detection of overloads, short circuits, or mechanical binding (e.g., in motors), helping prevent equipment damage and fire hazards.

    • Provides real-time feedback for programmable logic controllers (PLCs) and microcontrollers to trigger alarms or shutdowns during overcurrent events
    • Enables predictive maintenance by identifying gradual increases in current that may indicate wear or inefficiency
    • Supports energy auditing by logging load profiles over time
    • Integrates easily with ADCs in microcontrollers like Arduino, ESP32, or Raspberry Pi Pico for smart monitoring solutions

    Key benefit: Enhances system reliability and reduces unplanned downtime through proactive fault detection.

    Battery Management Systems (BMS)

    The ACS712 plays a vital role in battery management for electric vehicles (EVs), solar energy storage, drones, and portable electronics. It precisely measures charge and discharge currents, enabling accurate estimation of critical parameters such as State of Charge (SoC), State of Health (SoH), and remaining runtime.

    • Facilitates coulomb counting by integrating current over time to track battery capacity usage
    • Helps prevent deep discharge and overcharging by triggering protective circuits when thresholds are exceeded
    • Improves battery longevity by enabling optimized charging algorithms based on real-time current data
    • Supports bidirectional current sensing—essential for systems that both charge and discharge (e.g., regenerative braking in EVs)

    Pro tip: Pair the ACS712 with a precision voltage sensor for comprehensive battery health monitoring and more accurate SoC calculations.

    Power Conversion Efficiency Monitoring

    In DC-DC converters, inverters, and switching power supplies, the ACS712 is employed to measure input and output currents. This allows engineers and system operators to calculate power efficiency in real time using the formula: Efficiency (%) = (Pout / Pin) × 100.

    • Identifies inefficiencies caused by component degradation, poor design, or thermal issues
    • Assists in optimizing switching frequencies and duty cycles for minimal energy loss
    • Enables dynamic load balancing in multi-rail power systems
    • Useful in renewable energy systems (e.g., solar charge controllers) to maximize energy harvest

    Design advantage: Continuous monitoring supports condition-based maintenance and helps meet energy compliance standards.

    DC Motor Current Control and Speed Regulation

    In motor control applications, the ACS712 provides essential feedback for closed-loop control systems. By measuring the current drawn by DC motors, it allows controllers to regulate speed, torque, and protect against stall conditions.

    • Enables torque control by limiting current during startup or under heavy load, preventing motor burnout
    • Supports PWM-based speed regulation with real-time current feedback for smoother operation
    • Critical in robotics and automation where consistent motor performance is required (e.g., conveyor belts, robotic arms)
    • Helps detect mechanical jams or obstructions by monitoring sudden current spikes

    Performance gain: Leads to more efficient motor operation, reduced wear, and extended equipment lifespan.

    Application Current Range Key Function Typical Use Case
    Load Monitoring 5A – 30A Overcurrent Protection Industrial Control Panels
    Battery Management 5A – 20A Charge/Discharge Tracking EVs, Solar Storage
    Power Conversion 5A – 30A Efficiency Analysis DC-DC Converters, Inverters
    Motor Control 5A – 20A Torque & Speed Regulation Robotics, Conveyor Systems

    Additional Considerations for DC Applications

    • Zero-Point Calibration: Due to minor offset voltages, it's recommended to calibrate the sensor’s zero-current output (typically 2.5V) in software for higher accuracy.
    • Noise Filtering: Use low-pass RC filters or digital averaging in code to reduce noise, especially in electrically noisy environments.
    • Sampling Rate: Ensure sufficient ADC sampling frequency to capture transient events without aliasing.
    • Voltage Supply Stability: The ACS712 output is ratiometric; a stable VCC is crucial for accurate readings.
    • Isolation Advantage: The internal isolation barrier protects sensitive control circuits from high-current side transients and ground loops.

    Best Practice: For enhanced accuracy in DC measurements, combine the ACS712 with temperature compensation and regular calibration routines. Additionally, consider using higher-resolution ADCs (e.g., 12-bit or 16-bit) when measuring small current variations to fully leverage the sensor’s capabilities.

    How to Choose the Right ACS712 Current Sensor: A Comprehensive Guide for Engineers and Business Owners

    Selecting the appropriate ACS712 current sensor IC is crucial for ensuring accurate, reliable, and safe current monitoring in a wide range of electronic and industrial applications. This guide provides an in-depth analysis of the key selection criteria to help engineers, product designers, and business owners make informed decisions when integrating the ACS712 into their systems. Whether you're developing energy monitoring devices, motor controllers, or power management systems, understanding these factors will optimize performance and reduce long-term operational risks.

    Important Note: The ACS712 is a Hall-effect-based linear current sensor that provides economical and precise solutions for both AC and DC current sensing. However, improper selection can lead to inaccurate readings, system instability, or premature failure. Always verify specifications against your application's electrical and environmental demands.

    1. Current Range: Matching Sensor to Load Requirements

    The ACS712 comes in three primary variants based on their measurable current range: ±5A, ±20A, and ±30A. Choosing the correct range is essential for maximizing accuracy and avoiding sensor saturation.

    • ±5A Version: Ideal for low-power applications such as small battery chargers, IoT devices, and microcontroller-based power monitors.
    • ±20A Version: Suitable for medium-load systems like robotics, home automation circuits, and mid-sized motor drives.
    • ±30A Version: Best for high-current applications including industrial motor control, solar inverters, and electric vehicle subsystems.

    Select a sensor with a current rating that comfortably exceeds your maximum expected load (with at least 20% headroom) to ensure safety and accuracy under peak conditions.

    2. Precision and Accuracy: Ensuring Reliable Measurements

    Accuracy is critical in applications where precise current data affects system behavior. The ACS712 typically offers a measurement error of less than 1.5% at 25°C, but this can vary with temperature and supply voltage.

    • Look for consistent output sensitivity (e.g., 185 mV/A for the 5A model) across operating conditions.
    • Higher precision reduces drift in battery charge/discharge cycles and improves efficiency in motor control algorithms.
    • Consider calibration during production to compensate for minor IC-to-IC variations and enhance overall system reliability.

    Applications like medical equipment or precision instrumentation benefit significantly from tighter error margins and stable output characteristics.

    3. Signal-to-Noise Ratio (SNR): Performance in Electrically Noisy Environments

    In environments with electromagnetic interference (EMI)—such as industrial plants, automotive systems, or near switching power supplies—a high signal-to-noise ratio ensures clean and stable readings.

    • The ACS712 features internal filtering to reduce noise, but external RC filtering may be required in extremely noisy settings.
    • A high SNR enables accurate detection of small current fluctuations, which is vital in sensitive applications like telecom power monitoring or patient-connected medical devices.
    • Ensure proper PCB layout practices (e.g., short traces, ground planes) to further minimize noise pickup.

    For mission-critical systems, pairing the sensor with a high-resolution ADC can maximize the usable dynamic range.

    4. Response Time: Reacting to Rapid Current Changes

    The ACS712 has a fast output response time of approximately 5 µs, making it suitable for real-time monitoring and protection systems.

    • This rapid response is essential in overcurrent protection, surge detection, and short-circuit shutdown circuits.
    • In applications like motor startups or inrush current monitoring, fast response allows control systems to react before damage occurs.
    • When used with microcontrollers, ensure the sampling rate of your ADC matches the sensor’s capability to capture transient events.

    For safety-critical systems, combine fast sensing with appropriate software/firmware interlocks to prevent hazardous conditions.

    5. Operating Conditions: Environmental Durability and Reliability

    The ACS712 operates reliably across a wide temperature range of -40°C to +85°C, making it suitable for both consumer and industrial environments.

    • Verify that your application’s ambient temperature, humidity, and exposure to dust or chemicals fall within the sensor’s specified limits.
    • Industrial automation, outdoor power systems, and automotive under-hood installations demand robust components that maintain performance under stress.
    • Consider conformal coating or protective enclosures if deploying in high-moisture or corrosive environments.

    Long-term reliability is enhanced by selecting sensors from reputable suppliers and avoiding thermal overloading.

    6. Ease of Integration: Design Efficiency and Cost Savings

    The ACS712 is designed for straightforward integration into existing electronic systems, offering several advantages:

    • Compact SOIC-8 package enables space-saving designs on crowded PCBs.
    • Analog voltage output (centered at Vcc/2) is compatible with most microcontrollers’ ADC inputs.
    • No external power supply is needed for the sensing side—only a single 5V or 3.3V supply powers the IC.
    • Galvanic isolation (up to 2.1 kV RMS) simplifies high-voltage circuit interfacing without optocouplers or isolated amplifiers.

    These features reduce design complexity, lower BOM costs, and accelerate time-to-market for new products.

    7. Application Requirements: AC vs. DC, Unidirectional vs. Bidirectional

    Understanding your specific use case is vital for proper sensor selection:

    • The ACS712 measures both AC and DC currents, unlike some current-sense resistors or transformers limited to AC only.
    • It supports bidirectional current flow, making it ideal for battery charge/discharge monitoring, H-bridge motor control, and regenerative braking systems.
    • For unidirectional applications (e.g., solar panel output), ensure your signal conditioning accounts for the full-scale range.
    • Signal conditioning may include filtering, amplification, or offset adjustment depending on the MCU input requirements.

    Always confirm whether your system requires isolated sensing, bidirectional capability, or high-frequency response before finalizing the design.

    ACS712 Variant Current Range Sensitivity Typical Applications Key Advantages
    ACS712ELCTR-05B ±5 A 185 mV/A IoT devices, battery monitors, small motors High resolution, low noise, ideal for precision sensing
    ACS712ELCTR-20A ±20 A 100 mV/A Robotics, HVAC systems, power supplies Balanced range and accuracy for mid-power systems
    ACS712ELCTR-30A ±30 A 66 mV/A Industrial motors, inverters, EV chargers Robust performance under high current loads

    Expert Tip: When prototyping, use a development module or breakout board with the ACS712 to quickly test performance before committing to a custom PCB design. This allows for easy evaluation of noise levels, accuracy, and response behavior under real-world conditions.

    Additional Selection Tips

    • Always refer to the official Allegro MicroSystems datasheet for detailed electrical characteristics and thermal considerations.
    • Use decoupling capacitors (e.g., 0.1 µF ceramic + 10 µF electrolytic) near the Vcc pin to stabilize power supply and reduce noise.
    • Ensure proper PCB creepage and clearance distances when working with high-voltage circuits, even though the sensor provides internal isolation.
    • For battery-powered systems, consider the quiescent current (~10 mA) to estimate impact on overall power consumption.
    • Validate sensor performance with known current sources during testing and calibration phases.

    By carefully evaluating current range, precision, noise immunity, speed, environmental resilience, integration needs, and application-specific requirements, you can confidently select the optimal ACS712 variant for your project. Proper selection not only ensures accurate current monitoring but also enhances system safety, efficiency, and longevity—key factors for both technical success and business competitiveness.

    Frequently Asked Questions About the ACS712 Current Sensor

    Q1: What is the ACS712 current sensor, and what types of current can it measure?

    The ACS712 is a fully integrated, Hall Effect-based linear current sensor IC designed for both AC and DC current sensing applications. It can measure current in ranges of ±5A, ±20A, and ±30A, depending on the variant, making it suitable for a wide array of electronics and industrial systems.

    One of its key advantages is built-in electrical isolation, which allows it to safely monitor current without a direct electrical connection between the high-power circuit and the control system. This makes it ideal for use in motor control, load detection, power supply management, and overcurrent protection systems.

    The sensor operates by detecting the magnetic field generated around a current-carrying conductor using a precision Hall sensor. This magnetic field is converted into a proportional analog voltage output (typically centered at Vcc/2 when no current is flowing), which can be easily read by microcontrollers like Arduino or Raspberry Pi for real-time monitoring and control.

    Q2: How does the ACS712 ensure safety in high-voltage applications?

    The ACS712 provides galvanic isolation between the high-current primary circuit and the low-voltage sensor output circuitry. This isolation is achieved through internal design that separates the current path (via a low-resistance conductor) from the sensing electronics using non-conductive materials.

    Because the Hall Effect sensor detects magnetic fields without requiring physical electrical contact, dangerous high voltages cannot pass through to the measurement side. This prevents damage to sensitive microcontrollers and protects users from electric shock, even when measuring currents in circuits operating at hundreds of volts.

    This feature is especially valuable in industrial automation, renewable energy systems (like solar inverters), and motor drives where high-voltage and high-current systems must be monitored safely and reliably.

    Q3: How does the ACS712 measure current using the Hall Effect principle?

    The ACS712 utilizes a Hall Effect transducer positioned near a conductor through which current flows. When current passes through the internal conductor, it generates a proportional magnetic field around it, following Ampère’s Law.

    The Hall sensor detects this magnetic field and produces a voltage output that is linearly proportional to the strength and direction of the current. For example:

    • In the ACS712-05B (±5A version), the sensitivity is approximately 185 mV/A.
    • No current (0A) results in an output voltage of Vcc/2 (e.g., 2.5V with a 5V supply).
    • Positive current increases the output above Vcc/2; negative current decreases it below.

    This analog output can be sampled by an ADC (Analog-to-Digital Converter) on a microcontroller to calculate real-time current values. The response time is fast (typically under 5 microseconds), allowing for effective monitoring of dynamic loads and transient events.

    Q4: What are common applications of the ACS712 sensor?

    Due to its ease of integration, accuracy, and safety features, the ACS712 is widely used across various domains:

    • Energy Monitoring: Measuring power consumption in smart meters, home energy monitors, and IoT devices.
    • Motor Control: Detecting load changes and overcurrent conditions in DC and stepper motors.
    • Power Supplies: Providing feedback in switching power supplies and battery charging circuits.
    • Overcurrent Protection: Triggering shutdowns or alarms when current exceeds safe thresholds.
    • Renewable Systems: Monitoring solar panel output or inverter performance in photovoltaic installations.

    Its compact SOIC8 package allows for easy PCB integration, and its low insertion resistance (typically 1.2 mΩ) minimizes power loss and heat generation.

    Q5: Are there any limitations or considerations when using the ACS712?

    While the ACS712 is versatile and user-friendly, several factors should be considered for optimal performance:

    • Noise Sensitivity: Analog output can be affected by electromagnetic interference (EMI); proper shielding and filtering (e.g., RC filters) are recommended.
    • Temperature Drift: Output offset and sensitivity may vary slightly with temperature, which can affect precision in extreme environments.
    • Accuracy: Typical accuracy is within 1.5% to 2.5%, suitable for most applications but not for high-precision metrology.
    • Bandwidth Limitation: The device has a bandwidth of around 80 kHz, sufficient for most power electronics but not ideal for very high-frequency switching circuits.
    • Zero-Current Offset: Requires calibration in software to account for small deviations from Vcc/2 at 0A.

    For higher accuracy or isolated digital output, alternatives like the ACS724 (with better noise performance) or isolated current transducers may be preferred. However, for cost-effective, isolated current sensing in hobbyist and industrial designs, the ACS712 remains a popular choice.