{"id":8060,"date":"2026-03-25T10:04:56","date_gmt":"2026-03-25T02:04:56","guid":{"rendered":"https:\/\/www.flywing-tech.com\/blog\/?p=8060"},"modified":"2026-03-25T10:05:00","modified_gmt":"2026-03-25T02:05:00","slug":"ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide","status":"publish","type":"post","link":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/","title":{"rendered":"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide"},"content":{"rendered":"<div class=\"fsc_text\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\r\n<div class=\"ez-toc-title-container\">\r\n<h2 class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/h2>\r\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #023a85;color:#023a85\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #023a85;color:#023a85\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\r\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#introduction_to_the_ads1115_16-bit_adc_converter\" >Introduction to the ADS1115 16-Bit ADC Converter<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#ads1115_architecture_and_core_specifications\" >ADS1115 Architecture and Core Specifications<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#ads1115_pinout_%e2%80%94_every_pin_explained\" >ADS1115 Pinout \u2014 Every Pin Explained<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#programmable_gain_amplifier_pga_configuration\" >Programmable Gain Amplifier (PGA) Configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#selecting_the_optimal_gain_for_your_sensor\" >Selecting the Optimal Gain for Your Sensor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#_interfacing_ads1115_with_arduino\" >&nbsp;Interfacing ADS1115 with Arduino<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#interfacing_ads1115_with_raspberry_pi\" >Interfacing ADS1115 with Raspberry Pi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#high-resolution_sensor_interfacing_practical_examples\" >High-Resolution Sensor Interfacing: Practical Examples<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#_noise_accuracy_and_signal_integrity\" >&nbsp;Noise, Accuracy, and Signal Integrity<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#troubleshooting_common_issues\" >Troubleshooting Common Issues<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#conclusion_when_to_use_the_ads1115\" >Conclusion: When to Use the ADS1115<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#frequently_asked_questions\" >Frequently Asked Questions<\/a><\/li><\/ul><\/nav><\/div>\r\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"introduction_to_the_ads1115_16-bit_adc_converter\"><\/span><strong>Introduction to the ADS1115 16-Bit ADC Converter<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Real &#8211; world signals such as temperature, pressure, weight, current, humidity, and pH can all be expressed as analog voltages. To process, record, or respond to these types of signals using a microcontroller, you need to convert the analog signal into a digital number using an Analog To Digital Converter (ADC). The accuracy of this conversion directly impacts how effectively a microcontroller can interpret the physical world.<\/p>\n\n\n\n<p>Many popular microcontrollers, such as the Arduino Uno, ESP8266, etc., have their own built &#8211; in ADCs which are typically rated at 10 bits of resolution. At first, this seems enough, but in reality it only gives 1024 steps across the full voltage range. For a 5V system, that means each step is about 4.9 mV. For simple tasks like reading a potentiometer or detecting a switch press, this level of resolution is more than sufficient. However, for precise measurements, you may find that a 10 &#8211; bit ADC is limiting.&nbsp;&nbsp;<\/p>\n\n\n\n<p>For example, consider a load cell used in a kitchen scale. The signal variation of the bridge may be as low as 10-30 mV. In a 5V system, the ADC may not even be able to adequately resolve this signal variation. The ADC may only be able to register about 6 counts of variation over a range that should display hundreds. <\/p>\n\n\n\n<p>The result is a scale that moves in 50-gram increments instead of the expected gram increments. This same problem arises in thermocouple amplifiers, pH sensors, strain gauges, and any system in which the relevant signal is a small fraction of the overall voltage range.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"420\" src=\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ADS1115-Functional-Block-Diagram.png\" alt=\"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide\" class=\"wp-image-8061\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The Case for External High-Resolution ADCs<\/strong><\/h3>\n\n\n\n<p>This is an issue that was addressed by the <strong>ADS1115 16-Bit ADC<\/strong> from Texas Instruments. An external 16-bit, high-precision ADC, the <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a> connects to a microcontroller using I\u00b2C, the same 2-wire protocol common to virtually all Arduino, Raspberry Pi, ESP32 or STM32 platforms with very little additional effort. Adding the ADS1115 to a design requires only four wires and minimal coding, but will dramatically enhance the ability of any embedded system to make measurements.<\/p>\n\n\n\n<p>With a resolution of 16 bits, the input to the ADS1115 is divided into <strong>65,536 discrete levels<\/strong> which is 64 times more precise than a conventional 10-bit ADC. In order to achieve the highest level of precision possible, the ADS1115 is configured using a gain of \u00b10.256V. For example, the ADS1115 16-Bit ADC provides an input range of \u00b12.048 Volts at the default setting, which corresponds to <strong>62.5 \u00b5V<\/strong> between each of the 65,536 discrete input levels of the ADC.<\/p>\n\n\n\n<p>When using the maximum gain \u00b10.256V full-scale, there is only <strong>7.8\u00b5V<\/strong> between each of the ADC&#8217;s 65,536 discrete input levels. As an example, a change of 0.0016\u00b0C across a thermocouple junction will produce approximately 7.8uV; therefore, it will be possible to measure temperatures with an accuracy of this order using embedded applications based on the <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Features:<\/h3>\n\n\n\n<p>Beyond resolution, the ADS1115 includes several features that distinguish it from a simple ADC chip:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Programmable Gain Amplifier (PGA):<\/strong> An ADC can be calibrated to support a particular sensor output voltage with six selectable input ranges from \u00b10.256 V to \u00b16.144 V. This function simply allows an ADC to obtain the maximum number of useful bits relative to the output of any sensor regardless of its magnitude.&nbsp;<\/li>\n\n\n\n<li><strong>4-channel input multiplexer (MUX):<\/strong> The ADC can sample up to four independent analog inputs in a sequential manner through one ADC core and, therefore, support up to four single-ended or two differential measurements per device.&nbsp;<\/li>\n\n\n\n<li><strong>Differential input mode:<\/strong> Noise rejection from measuring two input pin differences (e.g., between two pins) compared to measuring one input pin with respect to the ground is much better. This ability to measure how two pins vary with respect to each other is important for bridge sensors, current shunts and signals being sent across long cable runs.&nbsp;&nbsp;<\/li>\n\n\n\n<li><strong>Programmable data rate (8 to 860 samples per second):<\/strong> Longer conversion times result in having the chip perform more digital filtering thus providing lower output noise but slower measuring times. This functionality provides a significant advantage to performing precision measurements in electrically noisy environments.<\/li>\n\n\n\n<li><strong>On-chip digital comparator:<\/strong> The ALERT\/RDY pin can be configured to assert an interrupt when a measurement crosses a programmable threshold, enabling event-driven firmware without continuous polling.<\/li>\n\n\n\n<li><strong>Ultra-low power consumption:<\/strong> At just 1.5 \u00b5A in single-shot idle mode, the ADS1115 is practical in battery-powered IoT sensor nodes where every microamp matters.<\/li>\n\n\n\n<li><strong>Wide supply voltage range (2.0 V \u2013 5.5 V):<\/strong> A single part works natively with 3.3 V systems (Raspberry Pi, ESP32, STM32) and 5 V systems (Arduino Uno, Mega) without modification.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Where the ADS1115 16-Bit ADC Is Used<\/strong><\/h3>\n\n\n\n<p>The <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a> has become a standard building block across a wide range of engineering disciplines precisely because high-resolution analog measurement is a universal need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Industrial instrumentation<\/strong> \u2014 Pressure transducers, load cells, and flow sensors provide millivolt output that is derived from the Wheatstone bridge configuration. The differential input of the ADS1115, in combination with the high-gain PGA, represents the natural interface for these sensors in the microcontroller-based data acquisition systems.<\/li>\n\n\n\n<li><strong>Environmental monitoring<\/strong> \u2014 Low-cost hardware with 16 bit resolution can accurately gather scientific data from pH probes, oxygen sensors, and conductivity sensors, which produce slowly-changing low-level voltages.<\/li>\n\n\n\n<li><strong>Power systems and battery management<\/strong> \u2014 Shunt resistors can be used to provide highly-accurate voltage and current measurements and combined with the ADS1115&#8217;s ability to measure differential signals at millivolt levels will provide accurate state of charge calculations and coulomb counting in battery management systems.<\/li>\n\n\n\n<li><strong>Medical and laboratory devices<\/strong> \u2014 Thermistor bridges, strain gauge weight scales, and electrochemical sensors all take advantage of the low noise, high resolution, and differential measurement capability of the ADS1115 16-Bit ADC.<\/li>\n\n\n\n<li><strong>Maker and prototyping projects<\/strong> \u2014 For the hobbyist building precise measurement devices such as a weather station, load cell interface (an alternative to the HX711), soil moisture monitoring system, or even a customized thermocouple reader, the ADS1115 16-Bit ADC breakout board presents one of the most cost-effective paths to professional-grade analog measurement.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How the ADS1115 16-Bit ADC Compares to Built-in ADCs<\/strong><\/h3>\n\n\n\n<p>To make the resolution advantage concrete, the table below compares the <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115 <\/a>against the built-in ADCs found on common microcontroller platforms at equivalent input ranges.<\/p>\n\n\n\n<div class=\"adc-platform-comparison-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #6EE7B7\">\n\n  <table class=\"adc-platform-comparison-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 800px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #064e3b, #065f46);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #064e3b\">\n      ADC Resolution &amp; Practical Precision Comparison \u2014 Common Microcontroller Platforms\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #065f46, #047857);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 28%\">Platform<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 16%\">ADC Resolution<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 14%\">Steps<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 18%\">LSB Size (5 V range)<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669\">Practical Precision<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- Arduino Uno -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Arduino Uno <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400\">(ATmega328P)<\/span><\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">10-bit<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">1,024<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">~4.9 mV<\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb\">\u00b12\u20133 LSB typical<\/td>\n      <\/tr>\n\n      <!-- ESP32 -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">ESP32<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">12-bit \u26a0<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">4,096<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">~1.2 mV<\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Poor linearity; \u00b15\u201310% error common<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Raspberry Pi -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Raspberry Pi<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">No built-in ADC<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;color: #9ca3af\">\u2014<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;color: #9ca3af\">\u2014<\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #6b7280;font-style: italic\">External ADC required<\/td>\n      <\/tr>\n\n      <!-- STM32F4 -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">STM32F4<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">12-bit<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">4,096<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">~0.8 mV<\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb\">Good linearity<\/td>\n      <\/tr>\n\n      <!-- ADS1115 default -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #d1fae5;color: #065f46;border-left: 3px solid #10b981\">ADS1115 <span style=\"font-size: 0.80rem;font-weight: 500\">(default \u00b12.048 V)<\/span><\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2714 16-bit<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5;font-weight: 700;color: #065f46\">65,536<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5;font-weight: 700;color: #065f46\">62.5 \u00b5V<\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u00b10.05% FSR typical<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- ADS1115 high gain -->\n      <tr style=\"background: #ecfdf5\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #6ee7b7;color: #064e3b;border-left: 3px solid #059669\">ADS1115 <span style=\"font-size: 0.80rem;font-weight: 500\">(\u00b10.256 V gain)<\/span><\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2714 16-bit<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7;font-weight: 700;color: #064e3b\">65,536<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dcfce7;color: #14532d;border: 1px solid #86efac;font-size: 0.82rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">7.8 \u00b5V \u2605<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2605 Highest precision mode<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> LSB size assumes 5 V reference\/range unless otherwise specified. Practical precision includes typical noise, linearity errors, and real-world performance \u2014 not just theoretical resolution. The ESP32 built-in ADC is well-documented for non-linearity and temperature drift; most precision projects replace it with an external ADS1115. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #059669;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<p>A special note should be made about the internal ADC of the ESP32; while it is actually 12 bit capable, there are many people who have published information showing that it suffers from non-linearity, drift due to temperature and channel-to-channel variation. Consequently, in order to achieve consistent analog measurements, many projects that utilize the ESP32 use an external ADC, either the ADS1115 16-Bit ADC or ADS1015, thereby bypassing the internal ADC of the ESP32.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What This Guide Covers<\/strong><\/h3>\n\n\n\n<p>This technical reference guide is meant for engineers, students, and makers who need to understand the <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a> sufficiently for proper utilization, not just to copy wire diagrams, but to grasp the reasoning behind each configuration choice and the compromises involved.<\/p>\n\n\n\n<p>By reading this reference guide, users will be able to choose the proper PGA gain, wire the chip correctly for any microcontroller platform, write code to read the chip at the maximum 860 SPS throughput, and troubleshoot problems with measurement quality in their applications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ads1115_architecture_and_core_specifications\"><\/span><strong>ADS1115 Architecture and Core Specifications<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Understanding the internal architecture helps you choose correct settings and interpret measurement results. The ADS1115 16-Bit ADC is built around a second-order <a href=\"https:\/\/en.wikipedia.org\/wiki\/Delta-sigma_modulation\">delta-sigma (\u0394\u03a3) modulator<\/a> followed by a digital decimation filter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Delta-Sigma ADC Architecture<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"420\" src=\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ADS1115-Functional-Block-Diagram-1.png\" alt=\"ADS1115 internal functional block diagram showing input multiplexer (MUX), programmable gain amplifier (PGA), delta-sigma ADC core, digital decimation filter, and I\u00b2C interface\" class=\"wp-image-8108\" \/><\/figure>\n\n\n\n<p>Delta-sigma converters operate by oversampling their input at very high speed while shaping the quantization noise to high frequencies for removal by a digital low-pass filter. This results in a high-resolution digital word being produced at a comparatively low data rate than that of a successive-approximation (SAR) ADC which samples and compares in discrete binary steps.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Key Architectural Advantages<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No sample-and-hold amplifier is necessary because the modulator continuously tracks the input signal<\/li>\n\n\n\n<li>The noise shaping moves the quantization noise outside of the signal band<\/li>\n\n\n\n<li>The decimation filter performs a built-in anti-aliasing function<\/li>\n\n\n\n<li>The differential input topology inherently provides common-mode rejection<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Why \u0394\u03a3 Outperforms SAR for Precision Sensor Work<\/strong><\/h4>\n\n\n\n<p>SAR ADCs can provide high sampling rates (to tens of megahertz) but the resolution of these devices is limited by the accuracy of the comparators used in them and by the matching of the DAC used to compose the samples. <\/p>\n\n\n\n<p>The maximum resolution for a practical SAR ADC is typically about 18 bits. Delta-Sigma converters compromise throughput to gain high resolution and are traditionally used for instrumentation, medical, and industrial measurements at bandwidths &lt;10 kHz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Full Electrical Specifications<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>ADS111x Family Comparison<\/strong><\/h4>\n\n\n\n<p>Texas Instruments offers three devices in the ADS111x family sharing the same pinout. Selecting the correct variant avoids paying for features you do not need.<\/p>\n\n\n\n<div class=\"ads111x-comparison-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #74D7FC\">\n\n  <table class=\"ads111x-comparison-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 700px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #1f2937, #111827);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #1f2937\">\n      ADS111x Family Comparison \u2014 ADS1113 vs ADS1114 vs ADS1115\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: #1f2937;color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #374151;width: 30%\">Feature<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #374151;width: 23%\">ADS1113<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #374151;width: 23%\">ADS1114<\/th>\n        <th style=\"padding: 12px 16px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #374151;width: 24%\">ADS1115 \u2605<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Channels<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">1 differential<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">1 differential<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;background: #eff6ff;font-weight: 600;color: #1d4ed8;border-left: 3px solid #2563eb;border-right: 3px solid #2563eb\">4 single-ended \/ 2 differential<\/td>\n      <\/tr>\n\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Programmable Gain (PGA)<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2715 Fixed \u00b12.048 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2714 6 settings<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;background: #eff6ff;border-left: 3px solid #2563eb;border-right: 3px solid #2563eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2714 6 settings<\/span>\n        <\/td>\n      <\/tr>\n\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Digital Comparator<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2715 No<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2714 Yes<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;background: #eff6ff;border-left: 3px solid #2563eb;border-right: 3px solid #2563eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2714 Yes<\/span>\n        <\/td>\n      <\/tr>\n\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Input Multiplexer (MUX)<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2715 No<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2715 No<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;background: #eff6ff;border-left: 3px solid #2563eb;border-right: 3px solid #2563eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2714 Yes \u2014 4:1<\/span>\n        <\/td>\n      <\/tr>\n\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Resolution<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">16-bit<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">16-bit<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;background: #eff6ff;font-weight: 600;color: #1d4ed8;border-left: 3px solid #2563eb;border-right: 3px solid #2563eb\">16-bit<\/td>\n      <\/tr>\n\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Max Data Rate<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">860 SPS<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">860 SPS<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;background: #eff6ff;font-weight: 600;color: #1d4ed8;border-left: 3px solid #2563eb;border-right: 3px solid #2563eb\">860 SPS<\/td>\n      <\/tr>\n\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">I\u00b2C Addresses Available<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">1 <span style=\"font-size: 0.80rem;color: #6b7280\">(fixed 0x48)<\/span><\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">4<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;background: #eff6ff;font-weight: 600;color: #1d4ed8;border-left: 3px solid #2563eb;border-right: 3px solid #2563eb\">4<\/td>\n      <\/tr>\n\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">Typical Price (unit)<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">~$1.20<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">~$1.40<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;background: #eff6ff;border-left: 3px solid #2563eb;border-right: 3px solid #2563eb;border-bottom: 3px solid #2563eb\">\n          <span style=\"background: #fef9c3;color: #854d0e;border: 1px solid #fde68a;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">~$1.60<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>\u2605 Recommended:<\/strong> The ADS1115 is the most feature-complete device in the ADS111x family, adding a 4:1 input MUX, programmable gain amplifier (PGA), and digital comparator over its siblings. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #2563eb;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>ADS1115 vs ADS1015 \u2014 Resolution vs Speed Trade-off<\/strong><\/h3>\n\n\n\n<p>The <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1015\">ADS1015<\/a> is the 12-bit sibling of the <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115 <\/a>and is pin-for-pin and software-compatible. The choice depends on the application&#8217;s primary constraint.<\/p>\n\n\n\n<div class=\"ads1115-vs-ads1015-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #C4B5FD\">\n\n  <table class=\"ads1115-vs-ads1015-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 750px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #3b0764, #4c1d95);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #3b0764\">\n      ADS1115 vs ADS1015 \u2014 Resolution vs Speed Trade-off\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #4c1d95, #5b21b6);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #6d28d9;width: 22%\">Parameter<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #6d28d9;width: 26%\">ADS1115<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #6d28d9;width: 26%\">ADS1015<\/th>\n        <th style=\"padding: 12px 16px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #6d28d9;width: 26%\">Verdict<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- Resolution -->\n      <tr style=\"background: #faf5ff\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e9d5ff\">Resolution<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff;border-left: 3px solid #7c3aed\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2714 16-bit (65,536 steps)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">12-bit (4,096 steps)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\ud83c\udfc6 ADS1115 wins for precision<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Max data rate -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e9d5ff\">Max Data Rate<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff;border-left: 3px solid #7c3aed\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">860 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2714 3,300 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #bfdbfe;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\ud83c\udfc6 ADS1015 wins for speed<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Smallest LSB -->\n      <tr style=\"background: #faf5ff\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e9d5ff\">Smallest LSB <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400\">(highest gain)<\/span><\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff;border-left: 3px solid #7c3aed\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2714 7.8 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">125 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\ud83c\udfc6 ADS1115: 16\u00d7 better<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Typical use case -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e9d5ff\">Typical Use Case<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff;border-left: 3px solid #7c3aed\">\n          <span style=\"font-size: 0.82rem;color: #374151;line-height: 1.6\">\ud83c\udf21 Temperature<br>\u2696 Weight<br>\ud83e\uddea pH<br>\ud83d\udccf Strain<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"font-size: 0.82rem;color: #374151;line-height: 1.6\">\ud83d\udccd Position<br>\ud83d\udd0a Audio<br>\ud83d\udca1 Light<br>\ud83d\udd0b Battery<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Choose by application<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Library API -->\n      <tr style=\"background: #faf5ff\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e9d5ff\">Library API Compatibility<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff;border-left: 3px solid #7c3aed\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Adafruit ADS1X15<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Adafruit ADS1X15<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e9d5ff\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2714 Drop-in swap<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Price -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #c4b5fd\">Price Premium<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #c4b5fd;border-left: 3px solid #7c3aed;border-bottom-left-radius: 0\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">~$0.20\u20130.40 more<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #c4b5fd\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2714 Lower cost<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #c4b5fd\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Minimal difference<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #faf5ff;border-top: 1px solid #e9d5ff;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> The ADS1115 and ADS1015 are pin-for-pin compatible and share the same Adafruit ADS1X15 library API \u2014 switching between them requires only a one-line code change. Choose ADS1115 for precision sensor work; choose ADS1015 when sampling speed above 860 SPS is required. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #7c3aed;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ads1115_pinout_%e2%80%94_every_pin_explained\"><\/span><strong>ADS1115 Pinout \u2014 Every Pin Explained<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"420\" src=\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ADS1115-Functional-Block-Diagram-2.png\" alt=\"ADS1115 breakout board top view with all 10 pins labeled: VDD, GND, SCL, SDA, ADDR, ALERT\/RDY, AIN0, AIN1, AIN2, and AIN3\" class=\"wp-image-8110\" \/><\/figure>\n\n\n\n<p>The ADS1115 chip is available in two different package types; specifically, the VSSOP 10-pin and the X2QFN 10-pin package types. The breakout boards provide the same ten allocated pins but label them according to how they are used on the <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a> chip. The following pages will discuss: (1) pin functionality, (2) pin wiring requirements, and (3) common wiring mistakes.<\/p>\n\n\n\n<div class=\"ads1115-pinout-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #FCA5A5\">\n\n  <table class=\"ads1115-pinout-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 700px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #7f1d1d, #991b1b);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #7f1d1d\">\n      ADS1115 Complete Pinout Reference \u2014 All 10 Pins Explained\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #991b1b, #b91c1c);color: white\">\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626;width: 7%\">Pin #<\/th>\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626;width: 14%\">Pin Name<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626;width: 20%\">Type<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626\">Description<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- Pin 1 \u2014 ADDR -->\n      <tr style=\"background: #fef2f2\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">1<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">ADDR<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #bfdbfe;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2b07 Input<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">I\u00b2C address select \u2014 connect to <code style=\"background:#f3f4f6;padding:1px 5px;border-radius:4px;font-size:0.82rem\">GND<\/code>, <code style=\"background:#f3f4f6;padding:1px 5px;border-radius:4px;font-size:0.82rem\">VDD<\/code>, <code style=\"background:#f3f4f6;padding:1px 5px;border-radius:4px;font-size:0.82rem\">SDA<\/code>, or <code style=\"background:#f3f4f6;padding:1px 5px;border-radius:4px;font-size:0.82rem\">SCL<\/code><\/td>\n      <\/tr>\n\n      <!-- Pin 2 \u2014 ALERT\/RDY -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">2<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">ALERT\/RDY<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2b06 Output (open-drain)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">Comparator output or conversion-ready signal <span style=\"background:#fef3c7;color:#92400e;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #fde68a;margin-left:4px\">Needs 10k\u03a9 pull-up<\/span><\/td>\n      <\/tr>\n\n      <!-- Pin 3 \u2014 GND -->\n      <tr style=\"background: #fef2f2\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">3<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">GND<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u23da Power<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">Ground reference for all signal and logic <span style=\"background:#f3f4f6;color:#374151;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #d1d5db;margin-left:4px\">0 V reference<\/span><\/td>\n      <\/tr>\n\n      <!-- Pin 4 \u2014 AIN0 -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">4<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">AIN0<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u301c Analog Input<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">Analog channel 0 \u2014 single-ended or differential <span style=\"background:#dcfce7;color:#15803d;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #bbf7d0;margin-left:4px\">(+) positive<\/span><\/td>\n      <\/tr>\n\n      <!-- Pin 5 \u2014 AIN1 -->\n      <tr style=\"background: #fef2f2\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">5<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">AIN1<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u301c Analog Input<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">Analog channel 1 \u2014 single-ended or differential <span style=\"background:#fee2e2;color:#b91c1c;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #fecaca;margin-left:4px\">(\u2212) negative<\/span><\/td>\n      <\/tr>\n\n      <!-- Pin 6 \u2014 AIN2 -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">6<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">AIN2<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u301c Analog Input<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">Analog channel 2 \u2014 single-ended or differential <span style=\"background:#dcfce7;color:#15803d;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #bbf7d0;margin-left:4px\">(+) positive<\/span><\/td>\n      <\/tr>\n\n      <!-- Pin 7 \u2014 AIN3 -->\n      <tr style=\"background: #fef2f2\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">7<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">AIN3<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u301c Analog Input<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">Analog channel 3 \u2014 single-ended or differential <span style=\"background:#fee2e2;color:#b91c1c;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #fecaca;margin-left:4px\">(\u2212) negative<\/span><\/td>\n      <\/tr>\n\n      <!-- Pin 8 \u2014 VDD -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">8<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">VDD<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u26a1 Power<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">Positive supply <span style=\"background:#fef3c7;color:#92400e;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #fde68a;margin-left:4px\">2.0 V \u2013 5.5 V<\/span> &nbsp;<span style=\"background:#dbeafe;color:#1e40af;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #bfdbfe\">3.3 V &amp; 5 V compatible<\/span><\/td>\n      <\/tr>\n\n      <!-- Pin 9 \u2014 SDA -->\n      <tr style=\"background: #fef2f2\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fee2e2;color: #7f1d1d;letter-spacing: 0.3px\">SDA<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fee2e2\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u21c5 I\u00b2C Data<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fee2e2;font-size: 0.88rem;color: #374151;line-height: 1.6\">I\u00b2C serial data \u2014 bidirectional <span style=\"background:#fef3c7;color:#92400e;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #fde68a;margin-left:4px\">Needs 4.7k\u03a9 pull-up<\/span><\/td>\n      <\/tr>\n\n      <!-- Pin 10 \u2014 SCL -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fca5a5\">\n          <span style=\"background: #7f1d1d;color: white;font-size: 0.82rem;font-weight: 700;padding: 3px 9px;border-radius: 50%;min-width: 28px\">10<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #fca5a5;color: #7f1d1d;letter-spacing: 0.3px\">SCL<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fca5a5\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u2b07 I\u00b2C Clock<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fca5a5;font-size: 0.88rem;color: #374151;line-height: 1.6\">I\u00b2C serial clock \u2014 input only <span style=\"background:#fef3c7;color:#92400e;font-size:0.74rem;padding:1px 7px;border-radius:10px;border:1px solid #fde68a;margin-left:4px\">Needs 4.7k\u03a9 pull-up<\/span><\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <!-- Pin Type Legend -->\n  <div style=\"padding: 14px 20px;background: #fef2f2;border-top: 1px solid #fee2e2;flex-wrap: wrap;gap: 10px;align-items: center\">\n    <span style=\"font-size: 0.80rem;font-weight: 600;color: #7f1d1d;margin-right: 4px\">Pin Type Legend:<\/span>\n    <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #bfdbfe;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u2b07 Input<\/span>\n    <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u2b06 Output<\/span>\n    <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u26a1 Power<\/span>\n    <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u301c Analog Input<\/span>\n    <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u21c5 I\u00b2C Bus<\/span>\n  <\/div>\n\n  <div style=\"padding: 14px 20px;background: #f9fafb;border-top: 1px solid #fee2e2;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>\u26a0 Important:<\/strong> All AIN pins must remain within \u22120.3 V to VDD + 0.3 V at all times regardless of PGA setting. Both SDA and SCL require external pull-up resistors \u2014 most breakout boards include these. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #991b1b;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"420\" src=\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ADS1115-Functional-Block-Diagram-3.png\" alt=\"ADS1115 VSSOP-10 package mechanical drawing showing pin numbering, body dimensions in millimetres, and 0.5 mm pin pitch\" class=\"wp-image-8111\" style=\"width:840px;height:auto\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><br><strong>Power Pins: VDD and GND<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Supply Voltage and Decoupling<\/strong><\/h4>\n\n\n\n<p>The ADS1115 16-Bit ADC can run from 2 V to 5.5V, so you can use it with either 3.3 V (like Raspberry Pi, ESP32, STM32) or 5 V (e.g. Arduino Uno) without needing to level shift the power rail. The I\u00b2C logic level is determined by the VDD \u2014 refer to Section 3.3 for information on level shifting.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Place a 100 nF ceramic capacitor close to the VDD pin; length of leads is important.<\/li>\n\n\n\n<li>Add a 10 \u00b5F bulk electrolytic capacitor at the same supply node<\/li>\n\n\n\n<li>If you have a breakout board that has a separate AVDD pin, connect both the VDD and AVDD pins to the same supply node unless otherwise directed by the breakout board documentation.<\/li>\n<\/ul>\n\n\n\n<div style=\"max-width: 1200px;margin: 1.5rem auto;border-radius: 10px;overflow: hidden;border: 1px solid #6EE7B7\">\n\n  <!-- Header bar -->\n  <div style=\"background: linear-gradient(135deg, #064e3b, #065f46);padding: 10px 18px;align-items: center;gap: 10px\">\n    <span style=\"background: #10b981;color: white;font-size: 0.75rem;font-weight: 700;padding: 3px 10px;border-radius: 20px;letter-spacing: 0.5px;text-transform: uppercase\">\ud83d\udca1 TIP<\/span>\n    <span style=\"color: #6ee7b7;font-size: 0.92rem;font-weight: 600;letter-spacing: 0.3px\">PCB Design<\/span>\n  <\/div>\n\n  <!-- Body -->\n  <div style=\"background: #f0fdf4;border-left: 5px solid #10b981;padding: 14px 20px;align-items: flex-start;gap: 14px\">\n\n    <!-- Icon -->\n    <div style=\"flex-shrink: 0;width: 38px;height: 38px;background: #dcfce7;border-radius: 50%;align-items: center;justify-content: center;border: 2px solid #6ee7b7;font-size: 1.1rem;margin-top: 2px\">\n      \ud83d\udd0c\n    <\/div>\n\n    <!-- Text -->\n    <div style=\"font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.92rem;color: #1f2937;line-height: 1.75\">\n      Use a <strong style=\"color: #065f46\">star-point ground<\/strong>: route the decoupling capacitor&#8217;s <code style=\"background: #d1fae5;color: #065f46;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7\">GND<\/code> pin directly to the <strong style=\"color: #065f46\">analogue ground plane<\/strong>, separate from the digital return path. This alone can reduce noise by <strong style=\"color: #065f46\">several LSBs<\/strong>.\n    <\/div>\n\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Analog Input Pins: AIN0 \u2013 AIN3<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong> Single-Ended Mode<\/strong><\/h4>\n\n\n\n<p>When in single-ended mode, an AIN pin is selected to be measured against GND. The chosen AIN pin connects through the internal MUX to the positive input of the PGA, while GND connects to the negative input of the PGA. The ADC outputs a signed two&#8217;s complement value of 16 bits; the effective resolution for single-ended measurements is actually 15 bits of measurement range (0 to +32,767 counts) since the sign bit cannot be used.<\/p>\n\n\n\n<div class=\"ads1115-mux-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #93C5FD\">\n\n  <table class=\"ads1115-mux-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 700px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #1e3a5f, #1d4ed8);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #1e3a5f\">\n      ADS1115 Input MUX Settings \u2014 Single-Ended &amp; Differential Configurations\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #1d4ed8, #2563eb);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #3b82f6;width: 22%\">MUX Setting<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #3b82f6;width: 18%\">Positive Input<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #3b82f6;width: 18%\">Negative Input<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #3b82f6\">Typical Use<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- Single-Ended divider row -->\n      <tr>\n        <td colspan=\"4\" style=\"padding: 7px 14px;background: #eff6ff;border-top: 1px solid #bfdbfe;border-bottom: 1px solid #bfdbfe;font-size: 0.78rem;font-weight: 700;color: #1d4ed8;text-transform: uppercase;letter-spacing: 0.5px\">\n          \u25b8 Single-Ended Mode \u2014 4 channels &nbsp;|&nbsp; Output range: 0 to +FSR (15-bit effective)\n        <\/td>\n      <\/tr>\n\n      <!-- AIN0\/GND -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #dbeafe;color: #1e40af;padding: 2px 7px;border-radius: 4px;font-size: 0.84rem\">AIN0 \/ GND<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0b AIN0<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u23da GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #374151\">Single-ended channel 0<\/td>\n      <\/tr>\n\n      <!-- AIN1\/GND -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #dbeafe;color: #1e40af;padding: 2px 7px;border-radius: 4px;font-size: 0.84rem\">AIN1 \/ GND<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0b AIN1<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u23da GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #374151\">Single-ended channel 1<\/td>\n      <\/tr>\n\n      <!-- AIN2\/GND -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #dbeafe;color: #1e40af;padding: 2px 7px;border-radius: 4px;font-size: 0.84rem\">AIN2 \/ GND<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0b AIN2<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u23da GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #374151\">Single-ended channel 2<\/td>\n      <\/tr>\n\n      <!-- AIN3\/GND -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #dbeafe;color: #1e40af;padding: 2px 7px;border-radius: 4px;font-size: 0.84rem\">AIN3 \/ GND<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0b AIN3<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u23da GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #374151\">Single-ended channel 3<\/td>\n      <\/tr>\n\n      <!-- Differential divider row -->\n      <tr>\n        <td colspan=\"4\" style=\"padding: 7px 14px;background: #fdf4ff;border-top: 1px solid #e9d5ff;border-bottom: 1px solid #e9d5ff;font-size: 0.78rem;font-weight: 700;color: #6d28d9;text-transform: uppercase;letter-spacing: 0.5px\">\n          \u25b8 Differential Mode \u2014 4 pairs &nbsp;|&nbsp; Output range: \u00b1FSR (full 16-bit signed range)\n        <\/td>\n      <\/tr>\n\n      <!-- AIN0\/AIN1 -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #f3e8ff;color: #6d28d9;padding: 2px 7px;border-radius: 4px;font-size: 0.84rem\">AIN0 \/ AIN1<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0b AIN0<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0d AIN1<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #374151\">Differential pair \u2014 <strong style=\"color: #6d28d9\">bridge sensors<\/strong><\/td>\n      <\/tr>\n\n      <!-- AIN0\/AIN3 -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #f3e8ff;color: #6d28d9;padding: 2px 7px;border-radius: 4px;font-size: 0.84rem\">AIN0 \/ AIN3<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0b AIN0<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0d AIN3<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #374151\">Differential pair<\/td>\n      <\/tr>\n\n      <!-- AIN1\/AIN3 -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #f3e8ff;color: #6d28d9;padding: 2px 7px;border-radius: 4px;font-size: 0.84rem\">AIN1 \/ AIN3<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0b AIN1<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0d AIN3<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #374151\">Differential pair<\/td>\n      <\/tr>\n\n      <!-- AIN2\/AIN3 -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #f3e8ff;color: #6d28d9;padding: 2px 7px;border-radius: 4px;font-size: 0.84rem\">AIN2 \/ AIN3<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0b AIN2<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\uff0d AIN3<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;color: #374151\">Differential pair \u2014 <strong style=\"color: #6d28d9\">bridge sensors<\/strong><\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> In single-ended mode the sign bit is reserved \u2014 effective range is 0 to +32,767 counts (15-bit). In differential mode the full \u00b132,767 signed range is available (16-bit). Always use differential mode for bridge sensors and long cable runs to maximise noise rejection. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #2563eb;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Differential Mode<\/strong><\/h4>\n\n\n\n<p>Differential mode measures the voltage differences between two AIN pins. This mode is the best choice for bridge sensors (i.e., strain gauges; load cells; pressure sensors) and long cable runs where common mode noise must be rejected. The full range of \u00b132,767 counts support the full 16-bit signed resolution.<\/p>\n\n\n\n<div style=\"max-width: 1200px;margin: 1.5rem auto;border-radius: 10px;overflow: hidden;border: 1px solid #FCA5A5\">\n\n  <!-- Header bar -->\n  <div style=\"background: linear-gradient(135deg, #7f1d1d, #991b1b);padding: 10px 18px;align-items: center;gap: 10px\">\n    <span style=\"background: #dc2626;color: white;font-size: 0.75rem;font-weight: 700;padding: 3px 10px;border-radius: 20px;letter-spacing: 0.5px;text-transform: uppercase\">\u26a0 IMPORTANT<\/span>\n    <span style=\"color: #fca5a5;font-size: 0.92rem;font-weight: 600;letter-spacing: 0.3px\">Absolute Maximum Input Voltage<\/span>\n  <\/div>\n\n  <!-- Body -->\n  <div style=\"background: #fef2f2;border-left: 5px solid #dc2626;padding: 14px 20px;align-items: flex-start;gap: 14px\">\n\n    <!-- Icon -->\n    <div style=\"flex-shrink: 0;width: 38px;height: 38px;background: #fee2e2;border-radius: 50%;align-items: center;justify-content: center;border: 2px solid #fca5a5;font-size: 1.1rem;margin-top: 2px\">\n      \u26a1\n    <\/div>\n\n    <!-- Text -->\n    <div style=\"font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.92rem;color: #1f2937;line-height: 1.75\">\n      Regardless of which FSR (PGA setting) is active, the voltage on any <code style=\"background: #fee2e2;color: #991b1b;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fca5a5\">AIN<\/code> pin must <strong style=\"color: #991b1b\">never exceed VDD + 0.3 V<\/strong> or go below <strong style=\"color: #991b1b\">\u22120.3 V<\/strong> (with respect to GND). For example, with <code style=\"background: #fee2e2;color: #991b1b;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fca5a5\">VDD = 3.3 V<\/code> and the <code style=\"background: #fee2e2;color: #991b1b;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fca5a5\">\u00b16.144 V<\/code> PGA setting active, inputs above <strong style=\"color: #991b1b\">3.6 V will permanently damage the device.<\/strong>\n    <\/div>\n\n  <\/div>\n\n  <!-- Values row -->\n  <div style=\"background: #fff1f2;border-top: 1px solid #fecaca;padding: 12px 20px;flex-wrap: wrap;gap: 10px;align-items: center;font-family: 'Segoe UI', system-ui, sans-serif\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #7f1d1d;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Quick Reference:<\/span>\n    <span style=\"background: #fee2e2;color: #991b1b;border: 1px solid #fca5a5;font-size: 0.78rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">VDD 3.3 V \u2192 Max AIN = 3.6 V<\/span>\n    <span style=\"background: #fee2e2;color: #991b1b;border: 1px solid #fca5a5;font-size: 0.78rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">VDD 5.0 V \u2192 Max AIN = 5.3 V<\/span>\n    <span style=\"background: #fee2e2;color: #991b1b;border: 1px solid #fca5a5;font-size: 0.78rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">Min AIN = \u22120.3 V always<\/span>\n    <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.78rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">Applies regardless of PGA FSR setting<\/span>\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>I\u00b2C Bus Pins: SCL and SDA<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Pull-up Resistor Requirements<\/strong><\/h4>\n\n\n\n<p>I\u00b2C is an open-drain bus \u2014 both SDA and SCL require pull-up resistors to VDD. The correct resistor value depends on bus speed and total bus capacitance.<\/p>\n\n\n\n<div class=\"ads1115-i2c-pullup-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #FCD34D\">\n\n  <table class=\"ads1115-i2c-pullup-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 650px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #78350f, #92400e);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #78350f\">\n      ADS1115 I\u00b2C Pull-up Resistor Requirements by Bus Speed\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #92400e, #b45309);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #d97706;width: 22%\">Bus Speed<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #d97706;width: 22%\">Recommended Pull-up<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #d97706;width: 22%\">Maximum Bus Capacitance<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #d97706\">Notes<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- 100 kHz -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">100 kHz<\/span>\n          <span style=\"font-size: 0.76rem;color: #6b7280;font-weight: 400;margin-top: 4px\">Standard mode<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">4.7 k\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">400 pF<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u2714 Default for most breakouts<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- 400 kHz -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">400 kHz<\/span>\n          <span style=\"font-size: 0.76rem;color: #6b7280;font-weight: 400;margin-top: 4px\">Fast mode<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">2.2 k\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">400 pF<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u26a0 Shorter cable runs only<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- 3.4 MHz -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">3.4 MHz<\/span>\n          <span style=\"font-size: 0.76rem;color: #6b7280;font-weight: 400;margin-top: 4px\">High-speed mode<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Custom<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">~100 pF<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">Rarely needed for ADS1115 at 860 SPS<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> Pull-up resistor values assume VDD = 3.3 V or 5 V and a total bus capacitance within the limits shown. Lower resistance = faster rise time but higher current draw. Higher bus capacitance from long traces or multiple devices requires lower resistance pull-ups. Source: <a href=\"https:\/\/www.ti.com\/lit\/an\/slva689a\/slva689a.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #b45309;text-decoration: none\">Texas Instruments \u2014 I\u00b2C Bus Pull-up Resistor Calculation (SLVA689A)<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Logic Level Compatibility<\/strong><\/h4>\n\n\n\n<p>Both pins on the ADS1115 are referenced to VDD. With a VDD of 3.3V, as in the case of a Raspberry Pi, you can connect I\u00b2C devices without level shifting because the SDA and SCL lines are compatible (3.3V logic). With VDD of 5V, as on Arduino Unos, the SDA and SCL pins are tolerant of 5.0V signals on most Arduinos, however caution must be used when using any microcontroller that is only rated for 3.3V such as an ESP32.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>ADDR Pin: Configuring the Four I\u00b2C Addresses<\/strong><\/h3>\n\n\n\n<p>The ADDR pin selects one of four I\u00b2C device addresses, allowing up to four <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a> devices to coexist on a single bus. This provides 16 single-ended channels or 8 differential channels from one MCU I\u00b2C port.<\/p>\n\n\n\n<div class=\"ads1115-addr-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #A5B4FC\">\n\n  <table class=\"ads1115-addr-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 620px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #1e1b4b, #312e81);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #1e1b4b\">\n      ADS1115 ADDR Pin Configuration \u2014 4 I\u00b2C Device Addresses\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #312e81, #3730a3);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 28%\">ADDR Pin Connection<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 22%\">I\u00b2C Address (7-bit)<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 16%\">Hex<\/th>\n        <th style=\"padding: 12px 16px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5\">Binary<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- ADDR \u2192 GND -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #e0e7ff;color: #3730a3;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #a5b4fc\">ADDR<\/code>\n          <span style=\"color: #6b7280;font-weight: 400;margin: 0 4px\">\u2192<\/span>\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u23da GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"font-family: 'Courier New', monospace;font-size: 0.88rem;font-weight: 600;color: #374151\">1001000<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #e0e7ff;color: #3730a3;border: 1px solid #a5b4fc;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">0x48<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"font-family: 'Courier New', monospace;font-size: 0.85rem;font-weight: 600;color: #374151;background: #f3f4f6;padding: 3px 10px;border-radius: 6px;border: 1px solid #e5e7eb;letter-spacing: 1px\">0100 1000<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- ADDR \u2192 VDD -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #e0e7ff;color: #3730a3;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #a5b4fc\">ADDR<\/code>\n          <span style=\"color: #6b7280;font-weight: 400;margin: 0 4px\">\u2192<\/span>\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u26a1 VDD<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"font-family: 'Courier New', monospace;font-size: 0.88rem;font-weight: 600;color: #374151\">1001001<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #e0e7ff;color: #3730a3;border: 1px solid #a5b4fc;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">0x49<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"font-family: 'Courier New', monospace;font-size: 0.85rem;font-weight: 600;color: #374151;background: #f3f4f6;padding: 3px 10px;border-radius: 6px;border: 1px solid #e5e7eb;letter-spacing: 1px\">0100 1001<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- ADDR \u2192 SDA -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #e0e7ff;color: #3730a3;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #a5b4fc\">ADDR<\/code>\n          <span style=\"color: #6b7280;font-weight: 400;margin: 0 4px\">\u2192<\/span>\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u21c5 SDA<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"font-family: 'Courier New', monospace;font-size: 0.88rem;font-weight: 600;color: #374151\">1001010<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #e0e7ff;color: #3730a3;border: 1px solid #a5b4fc;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">0x4A<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"font-family: 'Courier New', monospace;font-size: 0.85rem;font-weight: 600;color: #374151;background: #f3f4f6;padding: 3px 10px;border-radius: 6px;border: 1px solid #e5e7eb;letter-spacing: 1px\">0100 1010<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- ADDR \u2192 SCL -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #a5b4fc\">\n          <code style=\"background: #e0e7ff;color: #3730a3;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #a5b4fc\">ADDR<\/code>\n          <span style=\"color: #6b7280;font-weight: 400;margin: 0 4px\">\u2192<\/span>\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u2b07 SCL<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"font-family: 'Courier New', monospace;font-size: 0.88rem;font-weight: 600;color: #374151\">1001011<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #e0e7ff;color: #3730a3;border: 1px solid #a5b4fc;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">0x4B<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"font-family: 'Courier New', monospace;font-size: 0.85rem;font-weight: 600;color: #374151;background: #f3f4f6;padding: 3px 10px;border-radius: 6px;border: 1px solid #e5e7eb;letter-spacing: 1px\">0100 1011<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> Up to 4 ADS1115 devices can share a single I\u00b2C bus using these 4 addresses \u2014 providing 16 single-ended or 8 differential channels per bus. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #4f46e5;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n<!-- TIP callout \u2014 Multiple Devices -->\n<div style=\"max-width: 1200px;margin: 1.5rem auto;border-radius: 10px;overflow: hidden;border: 1px solid #6EE7B7\">\n\n  <!-- Header bar -->\n  <div style=\"background: linear-gradient(135deg, #064e3b, #065f46);padding: 10px 18px;align-items: center;gap: 10px\">\n    <span style=\"background: #10b981;color: white;font-size: 0.75rem;font-weight: 700;padding: 3px 10px;border-radius: 20px;letter-spacing: 0.5px;text-transform: uppercase\">\ud83d\udca1 TIP<\/span>\n    <span style=\"color: #6ee7b7;font-size: 0.92rem;font-weight: 600;letter-spacing: 0.3px\">Multiple Devices<\/span>\n  <\/div>\n\n  <!-- Body -->\n  <div style=\"background: #f0fdf4;border-left: 5px solid #10b981;padding: 14px 20px;align-items: flex-start;gap: 14px\">\n\n    <!-- Icon -->\n    <div style=\"flex-shrink: 0;width: 38px;height: 38px;background: #dcfce7;border-radius: 50%;align-items: center;justify-content: center;border: 2px solid #6ee7b7;font-size: 1.1rem;margin-top: 2px\">\n      \ud83d\udd17\n    <\/div>\n\n    <!-- Text -->\n    <div style=\"font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.92rem;color: #1f2937;line-height: 1.75\">\n      When using <code style=\"background: #d1fae5;color: #065f46;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7\">ADDR \u2192 SDA<\/code> or <code style=\"background: #d1fae5;color: #065f46;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7\">ADDR \u2192 SCL<\/code> connections, the ADDR line must be <strong style=\"color: #065f46\">stable before the I\u00b2C START condition<\/strong>. Do not change ADDR connections dynamically \u2014 <strong style=\"color: #065f46\">always wire statically.<\/strong>\n    <\/div>\n\n  <\/div>\n\n  <!-- Quick chips row -->\n  <div style=\"background: #f0fdf4;border-top: 1px solid #d1fae5;padding: 10px 20px;flex-wrap: wrap;gap: 10px;align-items: center;font-family: 'Segoe UI', system-ui, sans-serif\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #065f46;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">4 Available Addresses:<\/span>\n    <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">0x48 \u2192 GND<\/span>\n    <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">0x49 \u2192 VDD<\/span>\n    <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">0x4A \u2192 SDA<\/span>\n    <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">0x4B \u2192 SCL<\/span>\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>ALERT\/RDY Pin: Comparator and Conversion-Ready<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Pin Characteristics<\/strong><\/h4>\n\n\n\n<p>ALERT\/RDY is an open-drain output that requires an external pull-up resistor (typically 10 k\u03a9 to VDD). It operates in two distinct modes controlled by the Config register.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Comparator Mode<\/strong><\/h4>\n\n\n\n<p>When operating in Comparator Mode, Upon crossing the user-defined threshold set in the Low and High Threshold registers, the comparator pin asserts a Low signal thus allowing the <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a> to operate autonomously as an alarm device without the need for any additional firmware polling required by the ADS1115.<\/p>\n\n\n\n<div class=\"ads1115-comparator-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #F9A8D4\">\n\n  <table class=\"ads1115-comparator-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 650px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #500724, #881337);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #500724\">\n      ADS1115 Comparator Mode Configuration \u2014 Traditional vs Window\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #881337, #9f1239);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #e11d48;width: 18%\">Comparator Mode<\/th>\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #e11d48;width: 36%\">Description<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #e11d48;width: 22%\">Hi_thresh Register<\/th>\n        <th style=\"padding: 12px 16px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #e11d48;width: 24%\">Lo_thresh Register<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- Traditional -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 14px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;vertical-align: top\">\n          <span style=\"background: #fce7f3;color: #9f1239;border: 1px solid #fbcfe8;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">Traditional<\/span>\n        <\/td>\n        <td style=\"padding: 14px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;line-height: 1.75;vertical-align: top\">\n          Asserts <code style=\"background: #fee2e2;color: #b91c1c;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #fecaca\">ALERT\/RDY LOW<\/code> when result\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 700;padding: 1px 8px;border-radius: 20px;margin: 0 3px\">&gt; Hi_thresh<\/span>\n          de-asserts when result\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.78rem;font-weight: 700;padding: 1px 8px;border-radius: 20px;margin: 0 3px\">&lt; Lo_thresh<\/span>\n        <\/td>\n        <td style=\"padding: 14px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;vertical-align: top\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2b06 Upper threshold<\/span>\n        <\/td>\n        <td style=\"padding: 14px 16px;text-align: center;border-bottom: 1px solid #e5e7eb;vertical-align: top\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2b07 Lower (hysteresis)<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Window -->\n      <tr>\n        <td style=\"padding: 14px 14px;font-weight: 700;border-bottom: 1px solid #f9a8d4;vertical-align: top\">\n          <span style=\"background: #fce7f3;color: #9f1239;border: 1px solid #fbcfe8;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">Window<\/span>\n        <\/td>\n        <td style=\"padding: 14px 14px;border-bottom: 1px solid #f9a8d4;font-size: 0.88rem;color: #374151;line-height: 1.75;vertical-align: top\">\n          Asserts <code style=\"background: #fee2e2;color: #b91c1c;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #fecaca\">ALERT\/RDY LOW<\/code> when result is\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 700;padding: 1px 8px;border-radius: 20px;margin: 0 3px\">&lt; Lo_thresh<\/span>\n          <strong style=\"color: #9f1239\">OR<\/strong>\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 700;padding: 1px 8px;border-radius: 20px;margin: 0 3px\">&gt; Hi_thresh<\/span>\n          \u2014 outside the defined window\n        <\/td>\n        <td style=\"padding: 14px 14px;text-align: center;border-bottom: 1px solid #f9a8d4;vertical-align: top\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2b06 Upper boundary<\/span>\n        <\/td>\n        <td style=\"padding: 14px 16px;text-align: center;border-bottom: 1px solid #f9a8d4;vertical-align: top\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2b07 Lower boundary<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> ALERT\/RDY is an open-drain output \u2014 an external pull-up resistor (typically 10 k\u03a9 to VDD) is always required. To enable Conversion-Ready (RDY) mode instead, set <code style=\"background: #f3f4f6;padding: 1px 6px;border-radius: 4px;border: 1px solid #e5e7eb\">Lo_thresh = 0x8000<\/code> and <code style=\"background: #f3f4f6;padding: 1px 6px;border-radius: 4px;border: 1px solid #e5e7eb\">Hi_thresh = 0x7FFF<\/code>. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #9f1239;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Conversion-Ready (RDY) Mode<\/strong><\/h4>\n\n\n\n<p>The above implementation is to be enabled by setting both the low threshold of Lo_Thresh to 0x8000 and the high threshold of Hi_Thresh to 0x7FFF. Upon setting these two values to their defined limits, an ALERT\/RDY low pulse will occur for one full conversion-length cycle every time new data is ready from the ADC. This enables an interrupt driven method of reading data at full 860 SPS sampling rate without the need for any polling wait period.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.flywing-tech.com\/product-detail\/data-acquisition-analog-to-digital-converters-adc-texas-instruments-ads1115bqdgsrq1-c91c063b\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"2160\" height=\"270\" src=\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115bqdgsrq1.png\" alt=\"Texas Instruments ADS1115BQDGSRQ1 16-bit sigma-delta ADC IC \u2013 2 to 4 input channels specifications and technical support at Flywing\" class=\"wp-image-8159\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"programmable_gain_amplifier_pga_configuration\"><\/span><strong>Programmable Gain Amplifier (PGA) Configuration<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Choosing the PGA for the purposes of measurement accuracy is the most crucial decision that you will make when designing an instrument. By choosing the Full Scale Range of your measurement to match the output of the sensor(s) you are using, you&#8217;ll maximize the number of usable Least Significant Bits (LSB) and therefore maximize the effective resolution of your measurement.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>PGA Gain Settings and Full-Scale Range<\/strong><\/h3>\n\n\n\n<div class=\"ads1115-pga-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #6EE7B7\">\n\n  <table class=\"ads1115-pga-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 700px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #064e3b, #065f46);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #064e3b\">\n      ADS1115 Programmable Gain Amplifier (PGA) \u2014 Gain Settings &amp; Full-Scale Range\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #065f46, #047857);color: white\">\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 18%\">PGA[2:0] Bits<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Full-Scale Range (FSR)<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 18%\">LSB Size<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669\">Smallest Measurable Step<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- 000 \u00b16.144V -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #d1fae5;color: #065f46;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7;font-weight: 700\">000<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b16.144 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">187.5 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Largest range \u2014 use for wide-voltage signals<\/td>\n      <\/tr>\n\n      <!-- 001 \u00b14.096V -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #d1fae5;color: #065f46;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7;font-weight: 700\">001<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b14.096 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">125.0 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Matches 3.3 V single-supply range well<\/td>\n      <\/tr>\n\n      <!-- 010 default \u00b12.048V -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5;border-left: 3px solid #10b981\">\n          <code style=\"background: #d1fae5;color: #065f46;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7;font-weight: 700\">010<\/code>\n          <span style=\"margin-top: 4px\">\n            <span style=\"background: #059669;color: white;font-size: 0.70rem;font-weight: 700;padding: 1px 8px;border-radius: 20px;letter-spacing: 0.3px\">DEFAULT<\/span>\n          <\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b12.048 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">62.5 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #d1fae5;font-size: 0.88rem;color: #065f46;font-weight: 600\">Default on power-up<\/td>\n      <\/tr>\n\n      <!-- 011 \u00b11.024V -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #d1fae5;color: #065f46;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7;font-weight: 700\">011<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b11.024 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">31.25 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Good for 0\u20131 V sensors<\/td>\n      <\/tr>\n\n      <!-- 100 \u00b10.512V -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #d1fae5;color: #065f46;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7;font-weight: 700\">100<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b10.512 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">15.625 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Small signal precision<\/td>\n      <\/tr>\n\n      <!-- 101\/110\/111 \u00b10.256V -->\n      <tr style=\"background: #fdf4ff\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7;border-left: 3px solid #7c3aed\">\n          <code style=\"background: #d1fae5;color: #065f46;padding: 2px 8px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #6ee7b7;font-weight: 700;margin-bottom: 3px\">101 \/ 110 \/ 111<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #f3e8ff;color: #6d28d9;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b10.256 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #f3e8ff;color: #6d28d9;border: 2px solid #7c3aed;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2605 7.8125 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #6ee7b7;font-size: 0.88rem;color: #6d28d9;font-weight: 600\">Highest resolution \u2014 small differential signals<\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> The \u00b16.144 V FSR does <strong>not<\/strong> permit a 6.144 V input on any AIN pin. The absolute maximum AIN voltage is always VDD + 0.3 V regardless of PGA setting. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #059669;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n<!-- LSB Size Formula callout -->\n<div style=\"max-width: 1200px;margin: 1.5rem auto;border-radius: 10px;overflow: hidden;border: 1px solid #6EE7B7\">\n\n  <!-- Header bar -->\n  <div style=\"background: linear-gradient(135deg, #064e3b, #065f46);padding: 10px 18px;align-items: center;gap: 10px\">\n    <span style=\"background: #10b981;color: white;font-size: 0.75rem;font-weight: 700;padding: 3px 10px;border-radius: 20px;letter-spacing: 0.5px;text-transform: uppercase\">\ud83d\udcd0 FORMULA<\/span>\n    <span style=\"color: #6ee7b7;font-size: 0.92rem;font-weight: 600;letter-spacing: 0.3px\">LSB Size Calculation<\/span>\n  <\/div>\n\n  <!-- Body -->\n  <div style=\"background: #f0fdf4;border-left: 5px solid #10b981;padding: 14px 20px;align-items: flex-start;gap: 14px\">\n\n    <!-- Icon -->\n    <div style=\"flex-shrink: 0;width: 38px;height: 38px;background: #dcfce7;border-radius: 50%;align-items: center;justify-content: center;border: 2px solid #6ee7b7;font-size: 1.1rem;margin-top: 2px\">\n      \ud83d\udd22\n    <\/div>\n\n    <!-- Text -->\n    <div style=\"font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.92rem;color: #1f2937;line-height: 1.85\">\n      <strong style=\"color: #065f46\">LSB (\u00b5V) = FSR (V) \u00f7 32768 \u00d7 1,000,000<\/strong>\n      <br>\n      <span style=\"color: #374151\">Example: for <code style=\"background: #d1fae5;color: #065f46;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7\">\u00b10.512 V FSR<\/code> \u2192 LSB = 0.512 \u00f7 32768 \u00d7 1,000,000 = <strong style=\"color: #065f46\">15.625 \u00b5V<\/strong>. This is the smallest voltage change the ADC can resolve at this gain setting.<\/span>\n    <\/div>\n\n  <\/div>\n\n  <!-- Formula chips row -->\n  <div style=\"background: #f0fdf4;border-top: 1px solid #d1fae5;padding: 10px 20px;flex-wrap: wrap;gap: 10px;align-items: center;font-family: 'Segoe UI', system-ui, sans-serif\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #065f46;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Quick Reference:<\/span>\n    <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u00b16.144 V \u2192 187.5 \u00b5V<\/span>\n    <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u00b14.096 V \u2192 125.0 \u00b5V<\/span>\n    <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u00b12.048 V \u2192 62.5 \u00b5V<\/span>\n    <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u00b11.024 V \u2192 31.25 \u00b5V<\/span>\n    <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u00b10.512 V \u2192 15.625 \u00b5V<\/span>\n    <span style=\"background: #f3e8ff;color: #6d28d9;border: 2px solid #7c3aed;font-size: 0.76rem;font-weight: 700;padding: 2px 10px;border-radius: 20px\">\u2605 \u00b10.256 V \u2192 7.8125 \u00b5V<\/span>\n  <\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"selecting_the_optimal_gain_for_your_sensor\"><\/span><strong>Selecting the Optimal Gain for Your Sensor<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Matching FSR to Sensor Output<\/strong><\/h3>\n\n\n\n<p>The goal is to choose the smallest FSR that still encompasses the full expected output range of your sensor. A sensor with a 0\u2013100 mV output range should use the \u00b10.256 V FSR (7.8 \u00b5V LSB) rather than the \u00b14.096 V FSR (125 \u00b5V LSB) \u2014 the resolution improvement is 16\u00d7.<\/p>\n\n\n\n<div class=\"ads1115-sensor-fsr-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #93C5FD\">\n\n  <table class=\"ads1115-sensor-fsr-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 750px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #1e3a5f, #1d4ed8);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #1e3a5f\">\n      ADS1115 Sensor-to-FSR Matching Guide \u2014 Optimal PGA Selection by Sensor Type\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #1d4ed8, #2563eb);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #3b82f6;width: 28%\">Sensor Type<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #3b82f6;width: 18%\">Typical Output Range<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #3b82f6;width: 16%\">Recommended FSR<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #3b82f6\">Effective Resolution<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- Thermocouple -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          \ud83c\udf21 Thermocouple\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">via AD8495 amp, 5 mV\/\u00b0C<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">0 \u2013 500 mV<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u00b10.512 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">~15.6 \u00b5V<\/span>\n          <span style=\"font-size: 0.82rem;color: #6b7280\">= 0.003 \u00b0C step<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- PT100 RTD -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          \ud83c\udf21 PT100 RTD\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">via Wheatstone bridge<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">\u221250 to +50 mV<\/span>\n          <span style=\"font-size: 0.74rem;color: #6b7280;margin-top: 3px\">differential<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3e8ff;color: #6d28d9;border: 2px solid #7c3aed;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u00b10.256 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #f3e8ff;color: #6d28d9;border: 2px solid #7c3aed;font-size: 0.78rem;font-weight: 700;padding: 2px 9px;border-radius: 20px\">\u2605 ~7.8 \u00b5V<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Load cell -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          \u2696 Load cell \/ Strain gauge\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">10 V excitation<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">0 \u2013 30 mV<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3e8ff;color: #6d28d9;border: 2px solid #7c3aed;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u00b10.256 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #f3e8ff;color: #6d28d9;border: 2px solid #7c3aed;font-size: 0.78rem;font-weight: 700;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">\u2605 ~7.8 \u00b5V<\/span>\n          <span style=\"font-size: 0.82rem;color: #6b7280\">= ~0.4 g for 5 kg cell<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Soil moisture -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          \ud83c\udf31 Soil moisture\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">resistive divider<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">0 \u2013 3.3 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u00b14.096 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">~125 \u00b5V<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Potentiometer -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          \ud83d\udd79 Potentiometer \/ Joystick\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">0 \u2013 5 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">0 \u2013 5 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u00b16.144 V \u26a0<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">~188 \u00b5V<\/span>\n          <span style=\"font-size: 0.82rem;color: #b91c1c;font-weight: 600\">\u26a0 note AIN safety limit<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Current shunt -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          \u26a1 Current shunt\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">10 m\u03a9, 0\u20135 A<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">0 \u2013 50 mV<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3e8ff;color: #6d28d9;border: 2px solid #7c3aed;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u00b10.256 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #f3e8ff;color: #6d28d9;border: 2px solid #7c3aed;font-size: 0.78rem;font-weight: 700;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">\u2605 ~7.8 \u00b5V<\/span>\n          <span style=\"font-size: 0.82rem;color: #6b7280\">= ~0.78 mA<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Battery voltage -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb\">\n          \ud83d\udd0b Battery voltage\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">12 V via divider to 3 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">0 \u2013 3 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u00b14.096 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">~125 \u00b5V<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- pH sensor -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #93c5fd\">\n          \ud83e\uddea pH sensor\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">typical conditioned output<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #93c5fd\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">0 \u2013 3.3 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #93c5fd\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u00b14.096 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #93c5fd;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.78rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">~125 \u00b5V<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n      <\/div>\n\n<\/div>\n\n<!-- Safety Reminder callout -->\n<div style=\"max-width: 1200px;margin: 1.5rem auto;border-radius: 10px;overflow: hidden;border: 1px solid #FCA5A5\">\n\n  <!-- Header bar -->\n  <div style=\"background: linear-gradient(135deg, #7f1d1d, #991b1b);padding: 10px 18px;align-items: center;gap: 10px\">\n    <span style=\"background: #dc2626;color: white;font-size: 0.75rem;font-weight: 700;padding: 3px 10px;border-radius: 20px;letter-spacing: 0.5px;text-transform: uppercase\">\u26a0 SAFETY REMINDER<\/span>\n    <span style=\"color: #fca5a5;font-size: 0.92rem;font-weight: 600;letter-spacing: 0.3px\">\u00b16.144 V FSR<\/span>\n  <\/div>\n\n  <!-- Body -->\n  <div style=\"background: #fef2f2;border-left: 5px solid #dc2626;padding: 14px 20px;align-items: flex-start;gap: 14px\">\n\n    <!-- Icon -->\n    <div style=\"flex-shrink: 0;width: 38px;height: 38px;background: #fee2e2;border-radius: 50%;align-items: center;justify-content: center;border: 2px solid #fca5a5;font-size: 1.1rem;margin-top: 2px\">\n      \u26a1\n    <\/div>\n\n    <!-- Text -->\n    <div style=\"font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.92rem;color: #1f2937;line-height: 1.75\">\n      The <code style=\"background: #fee2e2;color: #991b1b;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fca5a5\">\u00b16.144 V FSR<\/code> does <strong style=\"color: #991b1b\">NOT<\/strong> allow a 6.144 V input to the AIN pin. The FSR is the PGA&#8217;s mathematical reference range only. The AIN pin absolute maximum is still <strong style=\"color: #991b1b\">VDD + 0.3 V<\/strong>. With <code style=\"background: #fee2e2;color: #991b1b;padding: 1px 6px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fca5a5\">VDD = 5 V<\/code>, the maximum safe input is <strong style=\"color: #991b1b\">5.3 V<\/strong>.\n    <\/div>\n\n  <\/div>\n\n  <!-- Quick chips row -->\n  <div style=\"background: #fff1f2;border-top: 1px solid #fecaca;padding: 10px 20px;flex-wrap: wrap;gap: 10px;align-items: center;font-family: 'Segoe UI', system-ui, sans-serif\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #7f1d1d;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Max Safe AIN Voltage:<\/span>\n    <span style=\"background: #fee2e2;color: #991b1b;border: 1px solid #fca5a5;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">VDD 3.3 V \u2192 Max 3.6 V<\/span>\n    <span style=\"background: #fee2e2;color: #991b1b;border: 1px solid #fca5a5;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">VDD 5.0 V \u2192 Max 5.3 V<\/span>\n    <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">Applies to ALL FSR settings<\/span>\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Config Register Deep-Dive<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Config Register Map (Address 0x01)<\/strong><\/h4>\n\n\n\n<p>The 16-bit Config register controls all operating parameters of the ADS1115 16-Bit ADC. Write it in two bytes (MSB first) over I\u00b2C.<\/p>\n\n\n\n<!-- Config Register Map -->\n<div class=\"ads1115-config-map-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #6EE7B7\">\n\n  <table class=\"ads1115-config-map-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 700px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #064e3b, #065f46);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #064e3b\">\n      ADS1115 Config Register Map \u2014 16-Bit Register at Address 0x01\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #065f46, #047857);color: white\">\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Bits [15:12]<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Bits [11:9]<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Bits [8:5]<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Bits [4:2]<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Bits [1:0]<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n      <tr>\n        <td style=\"padding: 14px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 4px 10px;border-radius: 8px\">OS \/ MUX[2:0]<\/span>\n        <\/td>\n        <td style=\"padding: 14px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 4px 10px;border-radius: 8px\">PGA[2:0]<\/span>\n        <\/td>\n        <td style=\"padding: 14px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 4px 10px;border-radius: 8px\">MODE \/ DR[2:0]<\/span>\n        <\/td>\n        <td style=\"padding: 14px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 4px 10px;border-radius: 8px\">COMP_MODE \/ COMP_POL \/ COMP_LAT<\/span>\n        <\/td>\n        <td style=\"padding: 14px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 4px 10px;border-radius: 8px\">COMP_QUE[1:0]<\/span>\n        <\/td>\n      <\/tr>\n    <\/tbody>\n\n  <\/table>\n\n  <div style=\"padding: 10px 20px;background: #f0fdf4;border-top: 1px solid #d1fae5;font-size: 0.82rem;color: #065f46;font-weight: 600;font-family: 'Segoe UI', system-ui, sans-serif\">\n    \ud83d\udca1 Write this 16-bit register MSB first over I\u00b2C to address <code style=\"background: #d1fae5;color: #065f46;padding: 1px 6px;border-radius: 4px;border: 1px solid #6ee7b7\">0x01<\/code>. On power-up default value is <code style=\"background: #d1fae5;color: #065f46;padding: 1px 6px;border-radius: 4px;border: 1px solid #6ee7b7\">0x8583<\/code>.\n  <\/div>\n\n<\/div>\n\n<!-- Config Register Field Detail -->\n<div class=\"ads1115-config-fields-wrapper\" style=\"max-width: 1200px;margin: 1.5rem auto;background: white;border-radius: 12px;border: 1px solid #6EE7B7\">\n\n  <table class=\"ads1115-config-fields-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 700px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #064e3b, #065f46);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #064e3b\">\n      ADS1115 Config Register \u2014 Field-by-Field Reference\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #065f46, #047857);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 16%\">Field<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 10%\">Bits<\/th>\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 38%\">Values<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669\">Function<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- OS -->\n      <tr style=\"background: #f0f9ff\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #2563eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">OS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #dbeafe;color: #1e40af;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #93c5fd;font-weight: 700\">15<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.84rem;color: #374151;line-height: 1.7\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">Write 0<\/span> Start conversion\n          <br>\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">Write 1<\/span> No effect\n          <br>\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">Read 0<\/span> Conversion in progress\n          <br>\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">Read 1<\/span> Device idle\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Single-shot trigger \/ busy flag<\/td>\n      <\/tr>\n\n      <!-- MUX -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #2563eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">MUX[2:0]<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #dbeafe;color: #1e40af;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #93c5fd;font-weight: 700\">14:12<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.84rem;color: #374151\">\n          <code style=\"background: #f3f4f6;color: #374151;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #e5e7eb\">000\u2013111<\/code>\n          <span style=\"color: #6b7280;font-size: 0.82rem;margin-left: 4px\">\u2014 see MUX table above<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Input multiplexer selection<\/td>\n      <\/tr>\n\n      <!-- PGA -->\n      <tr style=\"background: #fdf4ff\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #7c3aed\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">PGA[2:0]<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #ede9fe;color: #5b21b6;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #c4b5fd;font-weight: 700\">11:9<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.84rem;color: #374151\">\n          <code style=\"background: #f3f4f6;color: #374151;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #e5e7eb\">000<\/code> = \u00b16.144 V &nbsp;\u2026&nbsp;\n          <code style=\"background: #f3f4f6;color: #374151;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #e5e7eb\">101<\/code> = \u00b10.256 V\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Programmable gain amplifier<\/td>\n      <\/tr>\n\n      <!-- MODE -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #059669\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">MODE<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #dcfce7;color: #15803d;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #bbf7d0;font-weight: 700\">8<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.84rem;color: #374151;line-height: 1.7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">0<\/span> Continuous conversion\n          <br>\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">1<\/span> Single-shot \/ power-down\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Conversion mode<\/td>\n      <\/tr>\n\n      <!-- DR -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #059669\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">DR[2:0]<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #dcfce7;color: #15803d;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #bbf7d0;font-weight: 700\">7:5<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.84rem;color: #374151\">\n          <code style=\"background: #f3f4f6;color: #374151;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #e5e7eb\">000<\/code> = 8 SPS &nbsp;\u2026&nbsp;\n          <code style=\"background: #f3f4f6;color: #374151;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #e5e7eb\">111<\/code> = 860 SPS\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Data rate (samples per second)<\/td>\n      <\/tr>\n\n      <!-- COMP_MODE -->\n      <tr style=\"background: #fffbeb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #d97706\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">COMP_MODE<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #fef3c7;color: #92400e;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fde68a;font-weight: 700\">4<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.84rem;color: #374151;line-height: 1.7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">0<\/span> Traditional comparator\n          <br>\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">1<\/span> Window comparator\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Comparator mode<\/td>\n      <\/tr>\n\n      <!-- COMP_POL -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #d97706\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">COMP_POL<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #fef3c7;color: #92400e;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fde68a;font-weight: 700\">3<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.84rem;color: #374151;line-height: 1.7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">0<\/span> Active LOW\n          <br>\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">1<\/span> Active HIGH\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">ALERT\/RDY polarity<\/td>\n      <\/tr>\n\n      <!-- COMP_LAT -->\n      <tr style=\"background: #fffbeb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #d97706\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">COMP_LAT<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <code style=\"background: #fef3c7;color: #92400e;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fde68a;font-weight: 700\">2<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.84rem;color: #374151;line-height: 1.7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">0<\/span> Non-latching\n          <br>\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">1<\/span> Latching\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Comparator latch<\/td>\n      <\/tr>\n\n      <!-- COMP_QUE -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #6ee7b7;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">COMP_QUE[1:0]<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <code style=\"background: #fee2e2;color: #b91c1c;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fecaca;font-weight: 700\">1:0<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #6ee7b7;font-size: 0.84rem;color: #374151;line-height: 1.7\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">00<\/span> Assert after 1 conversion\n          <br>\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">01<\/span> Assert after 2 conversions\n          <br>\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">10<\/span> Assert after 4 conversions\n          <br>\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 1px 8px;border-radius: 20px;margin-right: 4px\">11<\/span> Disable comparator\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #6ee7b7;font-size: 0.88rem;color: #374151\">Comparator queue length<\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> On power-up, the Config register defaults to <code style=\"background: #f3f4f6;padding: 1px 6px;border-radius: 4px;border: 1px solid #e5e7eb\">0x8583<\/code> \u2014 single-shot mode, \u00b12.048 V FSR, 128 SPS, comparator disabled. Always write the full 16-bit value when configuring. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #059669;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Data Rate Register Values<\/strong><\/h4>\n\n\n\n<div class=\"ads1115-datarate-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #A5B4FC\">\n\n  <table class=\"ads1115-datarate-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 650px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #1e1b4b, #312e81);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #1e1b4b\">\n      ADS1115 Data Rate (DR) Register Settings \u2014 Speed vs Noise Performance\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #312e81, #3730a3);color: white\">\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 14%\">DR[2:0]<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 16%\">Data Rate (SPS)<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 24%\">Noise Performance<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5\">Use Case<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- 8 SPS \u2014 Best -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #059669\">\n          <code style=\"background: #d1fae5;color: #065f46;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7;font-weight: 700\">000<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">8 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2605\u2605\u2605\u2605\u2605 Best<\/span>\n          <span style=\"font-size: 0.74rem;color: #15803d;margin-top: 3px;font-weight: 500\">Deepest averaging<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Maximum precision, static signals<\/td>\n      <\/tr>\n\n      <!-- 16 SPS -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #059669\">\n          <code style=\"background: #d1fae5;color: #065f46;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #6ee7b7;font-weight: 700\">001<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">16 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2605\u2605\u2605\u2605\u2605 Excellent<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">DC measurements<\/td>\n      <\/tr>\n\n      <!-- 32 SPS -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #0891b2\">\n          <code style=\"background: #cffafe;color: #164e63;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #67e8f9;font-weight: 700\">010<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #cffafe;color: #164e63;border: 1px solid #67e8f9;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">32 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #cffafe;color: #164e63;border: 1px solid #67e8f9;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2605\u2605\u2605\u2605\u2606 Very good<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Low-speed sensors<\/td>\n      <\/tr>\n\n      <!-- 64 SPS -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #0891b2\">\n          <code style=\"background: #cffafe;color: #164e63;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #67e8f9;font-weight: 700\">011<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #cffafe;color: #164e63;border: 1px solid #67e8f9;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">64 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #cffafe;color: #164e63;border: 1px solid #67e8f9;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2605\u2605\u2605\u2605\u2606 Good<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">General purpose<\/td>\n      <\/tr>\n\n      <!-- 128 SPS DEFAULT -->\n      <tr style=\"background: #eff6ff\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #bfdbfe;border-left: 3px solid #2563eb\">\n          <code style=\"background: #dbeafe;color: #1e40af;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #93c5fd;font-weight: 700\">100<\/code>\n          <span style=\"margin-top: 4px\">\n            <span style=\"background: #2563eb;color: white;font-size: 0.70rem;font-weight: 700;padding: 1px 8px;border-radius: 20px;letter-spacing: 0.3px\">DEFAULT<\/span>\n          <\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #bfdbfe\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 2px solid #2563eb;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">128 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #bfdbfe\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2605\u2605\u2605\u2606\u2606 Standard<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #bfdbfe;font-size: 0.88rem;color: #1e40af;font-weight: 600\">Default \u2014 balanced<\/td>\n      <\/tr>\n\n      <!-- 250 SPS -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #d97706\">\n          <code style=\"background: #fef3c7;color: #92400e;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fde68a;font-weight: 700\">101<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">250 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2605\u2605\u2605\u2606\u2606 Moderate<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Faster response needed<\/td>\n      <\/tr>\n\n      <!-- 475 SPS -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb;border-left: 3px solid #ea580c\">\n          <code style=\"background: #ffedd5;color: #9a3412;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fdba74;font-weight: 700\">110<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ffedd5;color: #9a3412;border: 1px solid #fdba74;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">475 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ffedd5;color: #9a3412;border: 1px solid #fdba74;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2605\u2605\u2606\u2606\u2606 Lower<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Near real-time monitoring<\/td>\n      <\/tr>\n\n      <!-- 860 SPS -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc;border-left: 3px solid #dc2626\">\n          <code style=\"background: #fee2e2;color: #b91c1c;padding: 2px 8px;border-radius: 4px;font-size: 0.85rem;border: 1px solid #fecaca;font-weight: 700\">111<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 2px solid #dc2626;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">860 SPS \u26a1<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2605\u2606\u2606\u2606\u2606 Lowest<\/span>\n          <span style=\"font-size: 0.74rem;color: #b91c1c;margin-top: 3px;font-weight: 500\">Max throughput<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #a5b4fc;font-size: 0.88rem;color: #374151\">Fastest I\u00b2C throughput<\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> Lower data rates engage deeper digital filtering inside the ADS1115 \u2014 reducing noise floor without any additional firmware code. Always try reducing the data rate first before adding software averaging. At 8 SPS, effective noise floor is approximately 11 \u00b5V rms vs ~100 \u00b5V rms at 860 SPS. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #4f46e5;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"_interfacing_ads1115_with_arduino\"><\/span>&nbsp;<strong>Interfacing ADS1115 with Arduino<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Hardware Wiring<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Arduino Uno and Arduino Mega Pin Connections<\/strong><\/h4>\n\n\n\n<div class=\"ads1115-arduino-wiring-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #6EE7B7\">\n\n  <table class=\"ads1115-arduino-wiring-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 650px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #064e3b, #065f46);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #064e3b\">\n      ADS1115 to Arduino Wiring \u2014 Pin Connection Reference (Uno &amp; Mega)\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #065f46, #047857);color: white\">\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 16%\">ADS1115 Pin<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Arduino Uno<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Arduino Mega<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669\">Notes<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- VDD -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u26a1 VDD<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          Or 3.3V \u2014 <strong style=\"color: #065f46\">must match signal levels<\/strong>\n        <\/td>\n      <\/tr>\n\n      <!-- GND -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u23da GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #6b7280\">Common ground reference<\/td>\n      <\/tr>\n\n      <!-- SCL -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2b07 SCL<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">A5 (SCL)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 21 (SCL)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u26a0 Add 4.7 k\u03a9 pull-up to VDD<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- SDA -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u21c5 SDA<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">A4 (SDA)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 20 (SDA)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u26a0 Add 4.7 k\u03a9 pull-up to VDD<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- ADDR -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2b07 ADDR<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          Sets I\u00b2C address to <code style=\"background: #dbeafe;color: #1e40af;padding: 1px 6px;border-radius: 4px;font-size: 0.84rem;border: 1px solid #93c5fd\">0x48<\/code>\n        <\/td>\n      <\/tr>\n\n      <!-- ALERT\/RDY -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2b06 ALERT\/RDY<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 2 (INT0)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 2 (INT0)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">Optional<\/span>\n          10 k\u03a9 pull-up to VDD required\n        <\/td>\n      <\/tr>\n\n      <!-- AIN0-AIN3 -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u301c AIN0\u2013AIN3<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">Sensor signal<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">Sensor signal<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #6ee7b7;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u26a0 Must not exceed VDD + 0.3 V<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> Most Arduino Uno breakout boards already include 4.7 k\u03a9 pull-up resistors on SDA and SCL \u2014 verify before adding external ones to avoid bus conflicts. When powering ADS1115 from 3.3 V on a 5 V Arduino, ensure all sensor signal voltages are also within the 3.3 V + 0.3 V = 3.6 V AIN limit. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #059669;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Reading Single-Ended Channels<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Library Installation and Initialisation<\/strong><\/h4>\n\n\n\n<p>Install the Adafruit ADS1X15 library via the Arduino Library Manager (search: &#8220;ADS1X15&#8221;). This library supports both ADS1015 and ADS1115 with an identical API.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: arduino; title: ; notranslate\" title=\"\">\n#include &lt;Wire.h&gt;\n#include &lt;Adafruit_ADS1X15.h&gt;\n \nAdafruit_ADS1115 ads;  \/\/ Default I2C address 0x48\n \nvoid setup() {\n  Serial.begin(115200);\n  \/\/ Set gain: GAIN_TWOTHIRDS = \u00b16.144V, GAIN_ONE = \u00b14.096V,\n  \/\/ GAIN_TWO = \u00b12.048V (default), GAIN_FOUR = \u00b11.024V,\n  \/\/ GAIN_EIGHT = \u00b10.512V, GAIN_SIXTEEN = \u00b10.256V\n  ads.setGain(GAIN_ONE);  \/\/ \u00b14.096V FSR\n  if (!ads.begin()) {\n    Serial.println(&quot;ADS1115 not found. Check wiring.&quot;);\n    while (1);\n  }\n}\n \nvoid loop() {\n  int16_t raw = ads.readADC_SingleEnded(0);  \/\/ Read AIN0\n  \/\/ Convert to voltage: raw * FSR \/ 32768\n  float voltage = raw * (4.096f \/ 32768.0f);\n  Serial.print(&quot;AIN0: &quot;); Serial.print(raw);\n  Serial.print(&quot; counts | &quot;); Serial.print(voltage, 4);\n  Serial.println(&quot; V&quot;);\n  delay(500);\n}\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Reading Differential Channels<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: arduino; title: ; notranslate\" title=\"\">\n\/\/ Differential read: AIN0 minus AIN1\n\/\/ Returns signed int16: range -32768 to +32767\nint16_t raw_diff = ads.readADC_Differential_0_1();\n \n\/\/ With GAIN_SIXTEEN (FSR = \u00b10.256V), LSB = 7.8125 \u00b5V\nfloat voltage_diff = raw_diff * (0.256f \/ 32768.0f);\nSerial.print(&quot;Differential: &quot;); Serial.print(voltage_diff * 1000.0f, 3);\nSerial.println(&quot; mV&quot;);\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Interrupt-Driven Reads Using ALERT\/RDY<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Configuring the ADS1115 for RDY Mode<\/strong><\/h4>\n\n\n\n<p>Polling the ADS1115 in a tight loop &nbsp;wastes MCU cycles as well as limiting the system&#8217;s throughput. Instead, using the ALERT \/ RDY pin as an interrupt, the MCU can perform other tasks between conversions and ensures that each sample is read at the same output rate as the ADS1115.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: arduino; title: ; notranslate\" title=\"\">\nvolatile bool newDataReady = false;\n \nvoid IRAM_ATTR rdyISR() {\n  newDataReady = true;\n}\n \nvoid setup() {\n  Serial.begin(115200);\n  ads.setGain(GAIN_ONE);\n  ads.begin();\n \n  \/\/ Enable RDY mode: set Lo_thresh = 0x8000, Hi_thresh = 0x7FFF\n  ads.startADCReading(ADS1X15_REG_CONFIG_MUX_SINGLE_0, true); \/\/ continuous\n  \/\/ Wire ALERT\/RDY to MCU INT pin with 10k pull-up\n  pinMode(2, INPUT_PULLUP);\n  attachInterrupt(digitalPinToInterrupt(2), rdyISR, FALLING);\n}\n \nvoid loop() {\n  if (newDataReady) {\n    newDataReady = false;\n    int16_t raw = ads.getLastConversionResults();\n    float v = raw * (4.096f \/ 32768.0f);\n    Serial.println(v, 4);\n  }\n  \/\/ MCU is free to do other work here\n}\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"interfacing_ads1115_with_raspberry_pi\"><\/span><strong>Interfacing ADS1115 with Raspberry Pi<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"420\" src=\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ADS1115-Functional-Block-Diagram-4.png\" alt=\"ADS1115 connected to Raspberry Pi 4 GPIO pins: SDA to GPIO2 (pin 3), SCL to GPIO3 (pin 5), VDD to 3.3V (pin 1), and GND to pin 6\" class=\"wp-image-8112\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Enabling I\u00b2C and Wiring<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Raspberry Pi I\u00b2C Setup<\/strong><\/h4>\n\n\n\n<p>1. &nbsp; &nbsp; Run sudo raspi-config \u2192 Interface Options \u2192 I2C \u2192 Enable<\/p>\n\n\n\n<p>2. &nbsp; &nbsp; Reboot: sudo reboot<\/p>\n\n\n\n<p>3. &nbsp; &nbsp; Verify detection: sudo i2cdetect -y 1 \u2014 ADS1115 should appear at 0x48<\/p>\n\n\n\n<p>4. &nbsp; &nbsp; Install Python library: pip3 install adafruit-circuitpython-ads1x15<\/p>\n\n\n\n<div class=\"ads1115-rpi-wiring-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #F9A8D4\">\n\n  <table class=\"ads1115-rpi-wiring-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 650px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #500724, #881337);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #500724\">\n      ADS1115 to Raspberry Pi Wiring \u2014 GPIO Pin Connection Reference\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #881337, #9f1239);color: white\">\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #e11d48;width: 16%\">ADS1115 Pin<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #e11d48;width: 22%\">Raspberry Pi GPIO<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #e11d48;width: 16%\">Physical Pin<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #e11d48\">Notes<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- VDD -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u26a1 VDD<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fce7f3;color: #9f1239;border: 1px solid #fbcfe8;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">3.3V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 1<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fce7f3;color: #9f1239;border: 1px solid #fbcfe8;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">3.3 V logic<\/span>\n          Raspberry Pi is 3.3 V \u2014 no level shifter needed\n        <\/td>\n      <\/tr>\n\n      <!-- GND -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u23da GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 6<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #6b7280\">\n          Common ground reference\n        <\/td>\n      <\/tr>\n\n      <!-- SCL -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2b07 SCL<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GPIO3 (SCL1)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 5<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">\u2714 Internal 1.8 k\u03a9 pull-up<\/span>\n          to 3.3 V \u2014 no external resistor needed\n        <\/td>\n      <\/tr>\n\n      <!-- SDA -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u21c5 SDA<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GPIO2 (SDA1)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 3<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">\u2714 Internal 1.8 k\u03a9 pull-up<\/span>\n          to 3.3 V \u2014 no external resistor needed\n        <\/td>\n      <\/tr>\n\n      <!-- ADDR -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2b07 ADDR<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #1f2937;color: #f9fafb;border: 1px solid #374151;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GND<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          Sets I\u00b2C address to <code style=\"background: #dbeafe;color: #1e40af;padding: 1px 6px;border-radius: 4px;font-size: 0.84rem;border: 1px solid #93c5fd\">0x48<\/code>\n        <\/td>\n      <\/tr>\n\n      <!-- ALERT\/RDY -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fbcfe8\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2b06 ALERT\/RDY<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fbcfe8\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GPIO17<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fbcfe8\">\n          <span style=\"background: #f3f4f6;color: #374151;border: 1px solid #d1d5db;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">Pin 11<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fbcfe8;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">Optional<\/span>\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u26a0 10 k\u03a9 pull-up required<\/span>\n          <span style=\"font-size: 0.80rem;color: #6b7280;margin-top: 4px\">For interrupt-driven reads<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> The Raspberry Pi GPIO2 and GPIO3 pins have <strong>internal 1.8 k\u03a9 pull-up resistors<\/strong> permanently enabled \u2014 no external pull-ups are needed for standard 100 kHz I\u00b2C operation. Enable I\u00b2C via <code style=\"background: #f3f4f6;padding: 1px 6px;border-radius: 4px;border: 1px solid #e5e7eb\">sudo raspi-config \u2192 Interface Options \u2192 I2C<\/code> before use. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #9f1239;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Python Code with CircuitPython ADS1x15 Library<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nimport board\nimport busio\nimport adafruit_ads1x15.ads1115 as ADS\nfrom adafruit_ads1x15.analog_in import AnalogIn\n \n# Initialise I2C bus and ADS1115\ni2c = busio.I2C(board.SCL, board.SDA)\nads = ADS.ADS1115(i2c)        \t# Address 0x48 by default\nads.gain = 1                   \t# GAIN_ONE = \u00b14.096 V FSR\n \n# Single-ended channel reads\nch0 = AnalogIn(ads, ADS.P0)   \t# AIN0 vs GND\nch1 = AnalogIn(ads, ADS.P1)   \t# AIN1 vs GND\n \nprint(f&quot;AIN0: {ch0.value} counts | {ch0.voltage:.4f} V&quot;)\nprint(f&quot;AIN1: {ch1.value} counts | {ch1.voltage:.4f} V&quot;)\n \n# Differential read: AIN0 minus AIN1\nch_diff = AnalogIn(ads, ADS.P0, ADS.P1)\nprint(f&quot;Differential: {ch_diff.voltage*1000:.3f} mV&quot;)\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Connecting Multiple ADS1115 Devices on One I\u00b2C Bus<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Instantiating Multiple Devices in Python<\/strong><\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nimport board, busio\nimport adafruit_ads1x15.ads1115 as ADS\nfrom adafruit_ads1x15.analog_in import AnalogIn\n \ni2c = busio.I2C(board.SCL, board.SDA)\n \n# Device 1: ADDR \u2192 GND  \u2192  0x48\nads_a = ADS.ADS1115(i2c, address=0x48)\n# Device 2: ADDR \u2192 VDD  \u2192  0x49\nads_b = ADS.ADS1115(i2c, address=0x49)\n# Device 3: ADDR \u2192 SDA  \u2192  0x4A\nads_c = ADS.ADS1115(i2c, address=0x4A)\n# Device 4: ADDR \u2192 SCL  \u2192  0x4B\nads_d = ADS.ADS1115(i2c, address=0x4B)\n \n# Now read all 16 single-ended channels\ndevices = &#x5B;ads_a, ads_b, ads_c, ads_d]\nfor dev_idx, dev in enumerate(devices):\n    for ch_idx in &#x5B;ADS.P0, ADS.P1, ADS.P2, ADS.P3]:\n        ch = AnalogIn(dev, ch_idx)\n        label = f&quot;Dev{dev_idx+1}_AIN{ch_idx}&quot;\n        print(f&quot;{label}: {ch.voltage:.4f} V&quot;)\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"high-resolution_sensor_interfacing_practical_examples\"><\/span><strong>High-Resolution Sensor Interfacing: Practical Examples<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Temperature Measurement via Thermocouple Amplifier<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Circuit: Type-K Thermocouple + AD8495 + ADS1115<\/strong><\/h4>\n\n\n\n<p>The <a href=\"https:\/\/www.flywing-tech.com\/search\/AD8495\">AD8495<\/a> is a precision thermocouple amplifier that outputs 5 mV\/\u00b0C with internal cold-junction compensation. This voltage is well-suited for the ADS1115 with the \u00b10.512 V PGA setting.<\/p>\n\n\n\n<!-- Parameter Table -->\n<div class=\"ads1115-thermocouple-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #FCD34D\">\n\n  <table class=\"ads1115-thermocouple-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 600px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #78350f, #92400e);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #78350f\">\n      AD8495 + ADS1115 Temperature Measurement \u2014 Circuit Parameters\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #92400e, #b45309);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #d97706;width: 32%\">Parameter<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #d97706;width: 24%\">Value<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #d97706\">Notes<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- AD8495 output sensitivity -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151\">AD8495 output sensitivity<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">5 mV \/ \u00b0C<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          0 V at 0 \u00b0C <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-left: 5px\">with proper biasing<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Measurement range -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151\">Measurement range\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">\u00b10.512 V FSR<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2212102 \u00b0C to +102 \u00b0C<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">Before external biasing<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- ADS1115 LSB -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151\">ADS1115 LSB at \u00b10.512 V FSR<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">15.625 \u00b5V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 700;padding: 2px 9px;border-radius: 20px\">\u2605 0.003 \u00b0C per step<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- Required PGA setting -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151\">Required PGA setting<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">GAIN_EIGHT<\/span>\n          <span style=\"font-size: 0.76rem;color: #6b7280;margin-top: 3px\">\u00b10.512 V FSR<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <code style=\"background: #ede9fe;color: #5b21b6;padding: 2px 8px;border-radius: 4px;font-size: 0.84rem;border: 1px solid #c4b5fd\">ads.setGain(GAIN_EIGHT)<\/code>\n        <\/td>\n      <\/tr>\n\n      <!-- AD8495 supply voltage -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #fcd34d;color: #374151\">AD8495 supply voltage<\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fcd34d\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">2.7 V \u2013 5.5 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fcd34d;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px\">\u26a0 Match ADS1115 VDD<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 10px 20px;background: #fffbeb;border-top: 1px solid #fde68a;font-size: 0.82rem;color: #92400e;font-weight: 600;font-family: 'Segoe UI', system-ui, sans-serif\">\n    \ud83d\udca1 At 5 mV\/\u00b0C sensitivity with a 15.625 \u00b5V LSB \u2014 the ADS1115 resolves temperature changes as small as <strong>0.003 \u00b0C<\/strong> per ADC step at this gain setting.\n  <\/div>\n\n<\/div>\n\n<!-- Code Block -->\n<div class=\"ads1115-thermocouple-code-wrapper\" style=\"max-width: 1200px;margin: 1.5rem auto;background: white;border-radius: 12px;overflow: hidden;border: 1px solid #FCD34D\">\n\n  <!-- Code header bar -->\n  <div style=\"background: linear-gradient(135deg, #78350f, #92400e);padding: 10px 18px;align-items: center;gap: 10px\">\n    <span style=\"background: #d97706;color: white;font-size: 0.75rem;font-weight: 700;padding: 3px 10px;border-radius: 20px;letter-spacing: 0.5px;text-transform: uppercase\">\ud83d\udcbb Arduino C++<\/span>\n    <span style=\"color: #fcd34d;font-size: 0.92rem;font-weight: 600;letter-spacing: 0.3px\">Thermocouple Temperature Reading \u2014 AD8495 + ADS1115<\/span>\n  <\/div>\n\n  <!-- Code body -->\n  <div style=\"background: #1f2937;padding: 20px 24px\">\n    <pre style=\"margin: 0;font-family: 'Courier New', Courier, monospace;font-size: 0.88rem;line-height: 1.8;color: #e5e7eb\"><span style=\"color: #6ee7b7\">ads.setGain(GAIN_EIGHT);<\/span>  <span style=\"color: #9ca3af\">\/\/ \u00b10.512V FSR, LSB = 15.625 \u00b5V<\/span>\n\n<span style=\"color: #93c5fd\">int16_t<\/span> raw = ads.<span style=\"color: #fcd34d\">readADC_SingleEnded<\/span>(<span style=\"color: #f9a8d4\">0<\/span>);  <span style=\"color: #9ca3af\">\/\/ AD8495 OUT \u2192 AIN0<\/span>\n\n<span style=\"color: #93c5fd\">float<\/span> voltage_mV = raw * (<span style=\"color: #f9a8d4\">512.0f<\/span> \/ <span style=\"color: #f9a8d4\">32768.0f<\/span>) * <span style=\"color: #f9a8d4\">1000.0f<\/span>;  <span style=\"color: #9ca3af\">\/\/ millivolts<\/span>\n\n<span style=\"color: #93c5fd\">float<\/span> temperature_C = (voltage_mV - <span style=\"color: #f9a8d4\">1250.0f<\/span>) \/ <span style=\"color: #f9a8d4\">5.0f<\/span>;  <span style=\"color: #9ca3af\">\/\/ 1250 mV = 0\u00b0C offset<\/span>\n\nSerial.<span style=\"color: #fcd34d\">print<\/span>(<span style=\"color: #fca5a5\">\"Temperature: \"<\/span>);\nSerial.<span style=\"color: #fcd34d\">print<\/span>(temperature_C, <span style=\"color: #f9a8d4\">2<\/span>);\nSerial.<span style=\"color: #fcd34d\">println<\/span>(<span style=\"color: #fca5a5\">\" \u00b0C\"<\/span>);<\/pre>\n  <\/div>\n\n  <!-- Code formula explanation -->\n  <div style=\"padding: 14px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-family: 'Segoe UI', system-ui, sans-serif;flex-wrap: wrap;gap: 10px;align-items: center\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #78350f;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Formula breakdown:<\/span>\n    <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">raw \u00d7 (512 \/ 32768) = volts<\/span>\n    <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u00d7 1000 = millivolts<\/span>\n    <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">(mV \u2212 1250) \u00f7 5 = \u00b0C<\/span>\n    <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">1250 mV offset = 0 \u00b0C reference<\/span>\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Strain Gauge \/ Wheatstone Bridge (Differential Mode)<\/strong><\/h3>\n\n\n\n<p>Specifically, when using a stable voltage source, a Wheatstone bridge produces a small output voltage that varies based on the amount of strain applied. To illustrate, a bridge powered with a 5 V excitation and a 10 k\u03a9 strain gauge may produce an output in the range of 1 mV to 5 mV, depending on the measurement conditions. For this reason, the ADS1115\u2019s differential input is well-suited for handling these small signals due to its built-in programmable gain amplifier (PGA), which allows accurate measurement of low-level voltages.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Noise Averaging Strategy<\/strong><\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: arduino; title: ; notranslate\" title=\"\">\n\/\/ 64-sample averaging to reduce noise floor by ~8x (1\/sqrt(64))\nconst int NUM_SAMPLES = 64;\nlong sum = 0;\nfor (int i = 0; i &lt; NUM_SAMPLES; i++) {\n    sum += ads.readADC_Differential_0_1();\n    delay(1);  \/\/ ~1 ms between samples at 860 SPS\n}\nint16_t averaged = (int16_t)(sum \/ NUM_SAMPLES);\nfloat grams = (float)averaged * GRAMS_PER_COUNT;  \/\/ calibrate GRAMS_PER_COUNT\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Current Sensing with a Shunt Resistor<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Low-Side Current Measurement<\/strong><\/h4>\n\n\n\n<p>Connect a low-resistance shunt resistor (10 m\u03a9 \u2013 100 m\u03a9) in series with the load return path. Measure the differential voltage across the shunt with the ADS1115 16-Bit ADC AIN0\/AIN1 differential input and the \u00b10.256 V PGA setting.<\/p>\n\n\n\n<div class=\"ads1115-shunt-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #FCA5A5\">\n\n  <table class=\"ads1115-shunt-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 650px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #7f1d1d, #991b1b);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #7f1d1d\">\n      ADS1115 Low-Side Current Sensing \u2014 Shunt Resistor Selection Guide (\u00b10.256 V FSR)\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #991b1b, #b91c1c);color: white\">\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626;width: 20%\">Shunt Resistance<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626;width: 24%\">Max Current (\u00b1256 mV FSR)<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626;width: 24%\">Current Resolution (7.8 \u00b5V LSB)<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626\">Power Dissipation at Max<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- 10 m\u03a9 -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">10 m\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">25.6 A<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">0.78 mA<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">6.6 W<\/span>\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-left: 6px\">\u26a0 Heatsink required<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- 50 m\u03a9 -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ffedd5;color: #9a3412;border: 1px solid #fdba74;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">50 m\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ffedd5;color: #9a3412;border: 1px solid #fdba74;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">5.12 A<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">0.156 mA<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">1.3 W<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- 100 m\u03a9 -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">100 m\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">2.56 A<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">78 \u00b5A<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">0.66 W<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- 500 m\u03a9 -->\n      <tr>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fca5a5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">500 m\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fca5a5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">512 mA<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #fca5a5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2605 15.6 \u00b5A<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fca5a5;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">0.13 W<\/span>\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 9px;border-radius: 20px;margin-left: 6px\">\u2605 High precision<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <!-- Formula row -->\n  <div style=\"padding: 12px 20px;background: #fff1f2;border-top: 1px solid #fecaca;font-family: 'Segoe UI', system-ui, sans-serif;flex-wrap: wrap;gap: 10px;align-items: center\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #7f1d1d;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Formulas:<\/span>\n    <span style=\"background: #fee2e2;color: #991b1b;border: 1px solid #fca5a5;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">Max Current = 0.256 V \u00f7 R_shunt<\/span>\n    <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">Resolution = 7.8 \u00b5V \u00f7 R_shunt<\/span>\n    <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">Power = I\u00b2 \u00d7 R_shunt<\/span>\n  <\/div>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> Connect ADS1115 AIN0 and AIN1 differentially across the shunt resistor terminals. Use precision resistors (0.1% tolerance or better) to maintain the accuracy the 16-bit ADC provides. For currents above 5 A, consider a dedicated current sense amplifier (e.g. INA219) in addition to or instead of direct shunt measurement. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #991b1b;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Battery Voltage Monitoring with Resistor Divider<\/strong><\/h3>\n\n\n\n<p>For voltages above VDD, a resistor divider scales the battery voltage to within the ADS1115 input range. Use precision 0.1% resistors to maintain the accuracy the 16-bit ADC provides.<\/p>\n\n\n\n<div class=\"ads1115-battery-divider-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #6EE7B7\">\n\n  <table class=\"ads1115-battery-divider-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 700px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #064e3b, #065f46);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #064e3b\">\n      ADS1115 Battery Voltage Monitoring \u2014 Resistor Divider Values by Battery Type\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #065f46, #047857);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 20%\">Battery Type<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 16%\">Max Voltage<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 16%\">R1 (top)<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 16%\">R2 (bottom)<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 16%\">Scaled Max Voltage<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #059669;width: 16%\">Recommended FSR<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- 4S LiPo -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #059669\">\n          \ud83d\udd0b 4S LiPo\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">16.8 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">560 k\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">100 k\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">2.55 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b14.096 V<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- 12V Lead Acid -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #059669\">\n          \ud83d\udd0b 12 V Lead Acid\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">14.4 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">390 k\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">100 k\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">2.94 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b14.096 V<\/span>\n        <\/td>\n      <\/tr>\n\n      <!-- 24V Li-ion -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #6ee7b7;color: #374151;border-left: 3px solid #059669\">\n          \ud83d\udd0b 24 V Li-ion pack\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">29.4 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">820 k\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">100 k\u03a9<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">3.16 V<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #6ee7b7\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u00b14.096 V<\/span>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <!-- Formula row -->\n  <div style=\"padding: 12px 20px;background: #f0fdf4;border-top: 1px solid #d1fae5;font-family: 'Segoe UI', system-ui, sans-serif;flex-wrap: wrap;gap: 10px;align-items: center\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #065f46;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Divider Formula:<\/span>\n    <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">V_out = V_in \u00d7 R2 \u00f7 (R1 + R2)<\/span>\n    <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">Use 0.1% precision resistors<\/span>\n    <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">R2 fixed at 100 k\u03a9 for all examples<\/span>\n  <\/div>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> Use precision 0.1% tolerance resistors to maintain the accuracy the 16-bit ADS1115 provides. A 1% resistor error introduces ~650 \u00b5V error at 3 V \u2014 larger than the 125 \u00b5V LSB at \u00b14.096 V FSR, wasting the ADC&#8217;s resolution advantage. Always calibrate with a known reference voltage after assembly. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #059669;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"_noise_accuracy_and_signal_integrity\"><\/span>&nbsp;<strong>Noise, Accuracy, and Signal Integrity<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Effective Resolution vs Nominal Resolution<\/strong><\/h3>\n\n\n\n<p>The ADS1115 is a 16-bit ADC. Realistically, the effective number of bits (ENOB), for a certain data rate and environment (e.g. the PCB), will vary. For example, if you had an <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a> with a data rate of 860 SPS in a typical prototype environment, you would typically get around 14-15 ENOB. However, if you reduce the data rate to 8 SPS (the max decimation filter depth), it is possible to achieve an ENOB up to approximately 15.5.<\/p>\n\n\n\n<div class=\"ads1115-enob-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #A5B4FC\">\n\n  <table class=\"ads1115-enob-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 650px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #1e1b4b, #312e81);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #1e1b4b\">\n      ADS1115 Effective Resolution vs Data Rate \u2014 ENOB &amp; Noise Floor (\u00b12.048 V FSR)\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #312e81, #3730a3);color: white\">\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 20%\">Data Rate<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 20%\">Approximate ENOB<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 22%\">Noise (\u00b5V rms, \u00b12.048 V FSR)<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5\">Best Application<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- 860 SPS -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 2px solid #dc2626;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">860 SPS \u26a1<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">~14.0 ENOB<\/span>\n          <div style=\"justify-content: center;gap: 2px;margin-top: 5px\">\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #dc2626\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #dc2626\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #dc2626\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #f3f4f6;border: 1px solid #d1d5db\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #f3f4f6;border: 1px solid #d1d5db\"><\/span>\n          <\/div>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">~100 \u00b5V rms<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          Real-time monitoring, waveform capture\n        <\/td>\n      <\/tr>\n\n      <!-- 128 SPS default -->\n      <tr style=\"background: #eff6ff\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #bfdbfe;border-left: 3px solid #2563eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 2px solid #2563eb;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">128 SPS<\/span>\n          <span style=\"margin-top: 4px\">\n            <span style=\"background: #2563eb;color: white;font-size: 0.70rem;font-weight: 700;padding: 1px 8px;border-radius: 20px;letter-spacing: 0.3px\">DEFAULT<\/span>\n          <\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #bfdbfe\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">~14.8 ENOB<\/span>\n          <div style=\"justify-content: center;gap: 2px;margin-top: 5px\">\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #2563eb\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #2563eb\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #2563eb\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #93c5fd\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #f3f4f6;border: 1px solid #d1d5db\"><\/span>\n          <\/div>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #bfdbfe\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">~40 \u00b5V rms<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #bfdbfe;font-size: 0.88rem;color: #1e40af;font-weight: 600\">\n          General sensor polling\n        <\/td>\n      <\/tr>\n\n      <!-- 32 SPS -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">32 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">~15.2 ENOB<\/span>\n          <div style=\"justify-content: center;gap: 2px;margin-top: 5px\">\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #7c3aed\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #7c3aed\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #7c3aed\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #7c3aed\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #c4b5fd\"><\/span>\n          <\/div>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">~20 \u00b5V rms<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">\n          Precision measurements\n        <\/td>\n      <\/tr>\n\n      <!-- 8 SPS -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc;border-left: 3px solid #059669\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2605 8 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2605 ~15.5 ENOB<\/span>\n          <div style=\"justify-content: center;gap: 2px;margin-top: 5px\">\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #059669\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #059669\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #059669\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #059669\"><\/span>\n            <span style=\"width: 10px;height: 10px;border-radius: 2px;background: #6ee7b7\"><\/span>\n          <\/div>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.82rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2605 ~11 \u00b5V rms<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #a5b4fc;font-size: 0.88rem;color: #065f46;font-weight: 600\">\n          Maximum precision, static signals only\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <!-- Visual scale row -->\n  <div style=\"padding: 12px 20px;background: #f5f3ff;border-top: 1px solid #e9d5ff;font-family: 'Segoe UI', system-ui, sans-serif;flex-wrap: wrap;gap: 10px;align-items: center\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #1e1b4b;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Trade-off:<\/span>\n    <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">860 SPS \u2192 Fastest \/ Most Noise<\/span>\n    <span style=\"font-size: 0.80rem;color: #6b7280\">\u2192<\/span>\n    <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">128 SPS \u2192 Balanced (Default)<\/span>\n    <span style=\"font-size: 0.80rem;color: #6b7280\">\u2192<\/span>\n    <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">32 SPS \u2192 High Precision<\/span>\n    <span style=\"font-size: 0.80rem;color: #6b7280\">\u2192<\/span>\n    <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.76rem;font-weight: 700;padding: 2px 10px;border-radius: 20px\">\u2605 8 SPS \u2192 Maximum Precision<\/span>\n  <\/div>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> ENOB values are approximate and measured at \u00b12.048 V FSR in a clean bench environment. Real-world ENOB may be 0.5\u20131 bit lower due to PCB noise, power supply ripple, and thermal effects. Always reduce the data rate first before adding software averaging \u2014 it is a free improvement requiring zero firmware changes. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #4f46e5;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>PCB Layout Best Practices<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Critical Layout Rules<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Place a 100 nF (X7R) ceramic decoupling capacitor as close as possible (within 2 mm) to the VDD pin.<\/li>\n\n\n\n<li>Add a 10 \u00b5F bulk capacitor (either tantalum or electrolytic) at the point where power enters the ADS1115 circuit.<\/li>\n\n\n\n<li>Keep the AIN traces as short as possible. Every millimeter contributes approximately 1 pF of capacitance (the longer the trace, the higher the capacitance).<\/li>\n\n\n\n<li>Do not route any digital signals (e.g., SDA, SCL, PWM, clock lines) in parallel with the AIN traces.<\/li>\n\n\n\n<li>Mount the ADS1115 16-Bit ADC close to the connector for the sensor and away from any switching voltage regulator.<\/li>\n\n\n\n<li>Use a solid analogue ground plane below the <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a>, connecting to the digital ground plane at a single point only.<\/li>\n\n\n\n<li>For high-impedance source AINs (&gt; 10 k\u03a9), place a 100 nF capacitor between AIN and GND to filter out RF interference<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Software Noise Reduction Strategies<\/strong><\/h3>\n\n\n\n<!-- Software Noise Reduction Table -->\n<div class=\"ads1115-noise-reduction-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #A5B4FC\">\n\n  <table class=\"ads1115-noise-reduction-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 750px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #1e1b4b, #312e81);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #1e1b4b\">\n      ADS1115 Software Noise Reduction Strategies \u2014 Comparison &amp; When to Use\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #312e81, #3730a3);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 22%\">Technique<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 16%\">Noise Reduction<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 16%\">Latency Impact<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 14%\">Code Complexity<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5\">When to Use<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- N-sample averaging -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #4f46e5\">\n          N-sample averaging\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">1\/\u221aN factor<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">N \u00d7 sample period<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Low<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Most general-purpose measurements<\/td>\n      <\/tr>\n\n      <!-- EMA -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #4f46e5\">\n          Exponential moving average\n          <span style=\"font-size: 0.76rem;color: #6b7280;font-weight: 400;margin-top: 3px\">(EMA)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">Configurable<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Continuous, rolling<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Low<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Real-time streaming with slow variation<\/td>\n      <\/tr>\n\n      <!-- Median filter -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #4f46e5\">\n          Median filter\n          <span style=\"font-size: 0.76rem;color: #6b7280;font-weight: 400;margin-top: 3px\">(N samples)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">Spike \/ glitch rejection<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">N \u00d7 sample period<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Medium<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">EMI-prone environments, transient loads<\/td>\n      <\/tr>\n\n      <!-- Boxcar -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #4f46e5\">\n          Boxcar\n          <span style=\"font-size: 0.76rem;color: #6b7280;font-weight: 400;margin-top: 3px\">(rectangular window)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">1\/\u221aN factor<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">N samples<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Low<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">When equal weighting is required<\/td>\n      <\/tr>\n\n      <!-- Reduce data rate -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;font-weight: 700;border-bottom: 1px solid #a5b4fc;color: #065f46;border-left: 3px solid #059669\">\n          Reduce data rate\n          <span style=\"font-size: 0.76rem;color: #059669;font-weight: 600;margin-top: 3px\">(hardware \u2014 try first)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2605 Deep digital filtering<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">Higher delay<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.80rem;font-weight: 700;padding: 3px 10px;border-radius: 20px\">\u2605 None<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #a5b4fc;font-size: 0.88rem;color: #065f46;font-weight: 600\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.76rem;font-weight: 700;padding: 2px 9px;border-radius: 20px;margin-right: 5px\">\u2605 Always try first<\/span>\n          Free improvement \u2014 no code required\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Note:<\/strong> Always reduce the ADS1115 data rate first \u2014 it costs zero firmware effort and engages the chip&#8217;s built-in decimation filter. At 8 SPS vs 860 SPS the noise floor drops from ~100 \u00b5V rms to ~11 \u00b5V rms. Only add software filtering on top if further improvement is needed. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #4f46e5;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n<!-- EMA Code Block -->\n<div class=\"ads1115-ema-code-wrapper\" style=\"max-width: 1200px;margin: 1.5rem auto;background: white;border-radius: 12px;overflow: hidden;border: 1px solid #A5B4FC\">\n\n  <!-- Code header bar -->\n  <div style=\"background: linear-gradient(135deg, #1e1b4b, #312e81);padding: 10px 18px;align-items: center;gap: 10px\">\n    <span style=\"background: #4f46e5;color: white;font-size: 0.75rem;font-weight: 700;padding: 3px 10px;border-radius: 20px;letter-spacing: 0.5px;text-transform: uppercase\">\ud83d\udcbb Arduino C++<\/span>\n    <span style=\"color: #a5b4fc;font-size: 0.92rem;font-weight: 600;letter-spacing: 0.3px\">Exponential Moving Average (EMA) Filter<\/span>\n  <\/div>\n\n  <!-- Code body -->\n  <div style=\"background: #1f2937;padding: 20px 24px\">\n    <pre style=\"margin: 0;font-family: 'Courier New', Courier, monospace;font-size: 0.88rem;line-height: 1.8;color: #e5e7eb\"><span style=\"color: #9ca3af\">\/\/ Exponential Moving Average (EMA) filter<\/span>\n<span style=\"color: #9ca3af\">\/\/ alpha = 0.1 gives more smoothing; alpha = 0.5 tracks faster changes<\/span>\n\n<span style=\"color: #93c5fd\">float<\/span> ema = <span style=\"color: #f9a8d4\">0.0f<\/span>;\n<span style=\"color: #93c5fd\">const float<\/span> alpha = <span style=\"color: #f9a8d4\">0.1f<\/span>;\n\n<span style=\"color: #6ee7b7\">void<\/span> <span style=\"color: #fcd34d\">loop<\/span>() {\n  <span style=\"color: #93c5fd\">float<\/span> raw_v = ads.<span style=\"color: #fcd34d\">readADC_SingleEnded<\/span>(<span style=\"color: #f9a8d4\">0<\/span>) * (<span style=\"color: #f9a8d4\">4.096f<\/span> \/ <span style=\"color: #f9a8d4\">32768.0f<\/span>);\n  ema = alpha * raw_v + (<span style=\"color: #f9a8d4\">1.0f<\/span> - alpha) * ema;\n  Serial.<span style=\"color: #fcd34d\">println<\/span>(ema, <span style=\"color: #f9a8d4\">4<\/span>);\n  <span style=\"color: #fcd34d\">delay<\/span>(<span style=\"color: #f9a8d4\">10<\/span>);\n}<\/pre>\n  <\/div>\n\n  <!-- Alpha reference row -->\n  <div style=\"padding: 12px 20px;background: #1e1b4b;border-top: 1px solid #312e81;font-family: 'Segoe UI', system-ui, sans-serif;flex-wrap: wrap;gap: 10px;align-items: center\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #a5b4fc;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Alpha (\u03b1) reference:<\/span>\n    <span style=\"background: #312e81;color: #a5b4fc;border: 1px solid #4f46e5;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u03b1 = 0.05 \u2192 Maximum smoothing<\/span>\n    <span style=\"background: #312e81;color: #a5b4fc;border: 1px solid #4f46e5;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u03b1 = 0.1 \u2192 High smoothing<\/span>\n    <span style=\"background: #312e81;color: #a5b4fc;border: 2px solid #818cf8;font-size: 0.76rem;font-weight: 700;padding: 2px 10px;border-radius: 20px\">\u03b1 = 0.1 \u2190 default above<\/span>\n    <span style=\"background: #312e81;color: #a5b4fc;border: 1px solid #4f46e5;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u03b1 = 0.5 \u2192 Fast tracking<\/span>\n    <span style=\"background: #312e81;color: #a5b4fc;border: 1px solid #4f46e5;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u03b1 = 1.0 \u2192 No filtering<\/span>\n  <\/div>\n\n  <!-- Formula explanation -->\n  <div style=\"padding: 14px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6;font-family: 'Segoe UI', system-ui, sans-serif\">\n    <strong>EMA formula:<\/strong> <code style=\"background: #ede9fe;color: #5b21b6;padding: 2px 8px;border-radius: 4px;border: 1px solid #c4b5fd;font-size: 0.84rem\">EMA = \u03b1 \u00d7 new_sample + (1 \u2212 \u03b1) \u00d7 previous_EMA<\/code> &nbsp;\u2014&nbsp; Lower alpha values weight historical readings more heavily, producing a smoother but slower-responding output. Higher alpha values respond faster but retain more noise.\n  <\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"troubleshooting_common_issues\"><\/span><strong>Troubleshooting Common Issues<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"ads1115-troubleshooting-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #FCA5A5\">\n\n  <table class=\"ads1115-troubleshooting-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 750px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #7f1d1d, #991b1b);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #7f1d1d\">\n      ADS1115 Troubleshooting Guide \u2014 10 Common Issues &amp; Solutions\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #991b1b, #b91c1c);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626;width: 28%\">Symptom<\/th>\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626;width: 26%\">Likely Cause<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #dc2626\">Solution<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- i2cdetect shows no device -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">I\u00b2C<\/span>\n          <br><code style=\"background: #f3f4f6;color: #374151;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #e5e7eb\">i2cdetect<\/code> shows no device\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 Wiring<\/span>\n          <br>Missing pull-ups or wrong address\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Check 4.7 k\u03a9 pull-ups on SDA\/SCL; verify ADDR pin connection\n          <div style=\"margin-top: 6px\">\n            <code style=\"background: #dcfce7;color: #15803d;padding: 1px 6px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #bbf7d0\">sudo i2cdetect -y 1<\/code>\n          <\/div>\n        <\/td>\n      <\/tr>\n\n      <!-- ads.begin() returns false -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">Code<\/span>\n          <br><code style=\"background: #f3f4f6;color: #374151;padding: 1px 6px;border-radius: 4px;font-size: 0.82rem;border: 1px solid #e5e7eb\">ads.begin()<\/code> returns false\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 Address<\/span>\n          <br>I\u00b2C address mismatch\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Pass correct address to constructor:\n          <div style=\"margin-top: 6px\">\n            <code style=\"background: #dcfce7;color: #15803d;padding: 1px 6px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #bbf7d0\">Adafruit_ADS1115 ads(0x49);<\/code>\n          <\/div>\n        <\/td>\n      <\/tr>\n\n      <!-- Stuck at 32767 or -32768 -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">Readings<\/span>\n          <br>Stuck at <code style=\"background: #f3f4f6;color: #374151;padding: 1px 5px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #e5e7eb\">32767<\/code> or <code style=\"background: #f3f4f6;color: #374151;padding: 1px 5px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #e5e7eb\">\u221232768<\/code>\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 Overvoltage<\/span>\n          <br>Input voltage exceeds FSR or AIN &gt; VDD\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Reduce PGA FSR or add voltage divider; check absolute max rating\n          <div style=\"margin-top: 6px\">\n            <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px\">Max AIN = VDD + 0.3 V<\/span>\n          <\/div>\n        <\/td>\n      <\/tr>\n\n      <!-- Reading shows -1 or 0 -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">Readings<\/span>\n          <br>Reading shows <code style=\"background: #f3f4f6;color: #374151;padding: 1px 5px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #e5e7eb\">\u22121<\/code> or <code style=\"background: #f3f4f6;color: #374151;padding: 1px 5px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #e5e7eb\">0<\/code> always\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 Wiring<\/span>\n          <br>SDA\/SCL reversed or floating\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Verify wiring; check pull-up resistors; run <code style=\"background: #dcfce7;color: #15803d;padding: 1px 6px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #bbf7d0\">i2cdetect<\/code> to confirm bus activity\n        <\/td>\n      <\/tr>\n\n      <!-- Only 15 bits -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #2563eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">Expected<\/span>\n          <br>Only 15-bit range in single-ended mode\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u2714 Normal behaviour<\/span>\n          <br>Sign bit is reserved\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Range is 0 to +32,767 in single-ended. Use differential mode for full \u00b132,767 signed range\n          <div style=\"margin-top: 6px\">\n            <code style=\"background: #dbeafe;color: #1e40af;padding: 1px 6px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #93c5fd\">readADC_Differential_0_1()<\/code>\n          <\/div>\n        <\/td>\n      <\/tr>\n\n      <!-- High noise -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">Noise<\/span>\n          <br>High noise on readings\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 PCB \/ Supply<\/span>\n          <br>Supply noise or long AIN traces\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Add decoupling caps; shorten AIN traces; reduce data rate; use software averaging\n        <\/td>\n      <\/tr>\n\n      <!-- Readings drift -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">Accuracy<\/span>\n          <br>Readings drift with temperature\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 Calibration<\/span>\n          <br>No reference calibration applied\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Implement two-point calibration with known reference voltages at operating temperature\n        <\/td>\n      <\/tr>\n\n      <!-- Multiple devices same reading -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">Multi-device<\/span>\n          <br>Multiple devices return same reading\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 ADDR pin<\/span>\n          <br>ADDR pin not properly connected\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Verify each ADDR pin connection is secure; check for shorts between pads\n          <div style=\"margin-top: 6px\">\n            <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px\">Addresses: 0x48 0x49 0x4A 0x4B<\/span>\n          <\/div>\n        <\/td>\n      <\/tr>\n\n      <!-- ALERT\/RDY never asserts -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">Interrupt<\/span>\n          <br>ALERT\/RDY pin never asserts\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fef3c7;color: #92400e;border: 1px solid #fde68a;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 Config<\/span>\n          <br>Pull-up missing or comparator not configured\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Add 10 k\u03a9 pull-up to VDD; verify\n          <code style=\"background: #f3f4f6;color: #374151;padding: 1px 5px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #e5e7eb\">Hi_thresh<\/code> \/\n          <code style=\"background: #f3f4f6;color: #374151;padding: 1px 5px;border-radius: 4px;font-size: 0.80rem;border: 1px solid #e5e7eb\">Lo_thresh<\/code> register values\n        <\/td>\n      <\/tr>\n\n      <!-- ESP32 I2C errors -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #fca5a5;color: #374151;vertical-align: top;border-left: 3px solid #dc2626\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 700;padding: 2px 8px;border-radius: 20px;margin-bottom: 5px\">ESP32<\/span>\n          <br>Values correct but ESP32 I\u00b2C errors\n        <\/td>\n        <td style=\"padding: 12px 14px;border-bottom: 1px solid #fca5a5;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-bottom: 4px\">\u26a0 Logic level<\/span>\n          <br>3.3 V logic but 5 V ADS1115 VDD\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #fca5a5;font-size: 0.88rem;color: #374151;vertical-align: top\">\n          Power ADS1115 from 3.3 V when connecting to ESP32; add level shifter if 5 V supply is required\n          <div style=\"margin-top: 6px\">\n            <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px\">ESP32 SDA \u2192 GPIO21 &nbsp;|&nbsp; SCL \u2192 GPIO22<\/span>\n          <\/div>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    .\n  <\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"conclusion_when_to_use_the_ads1115\"><\/span><strong>Conclusion: When to Use the ADS1115<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Summary Decision Matrix<\/strong><\/h3>\n\n\n\n<div class=\"ads1115-decision-matrix-wrapper\" style=\"max-width: 1200px;margin: 2.5rem auto;background: white;border-radius: 12px;border: 1px solid #A5B4FC\">\n\n  <table class=\"ads1115-decision-matrix-table\" style=\"width: 100%;border-collapse: collapse;font-family: 'Segoe UI', system-ui, sans-serif;font-size: 0.95rem;color: #111828;min-width: 750px\">\n\n    <caption style=\"padding: 16px 20px;background: linear-gradient(135deg, #1e1b4b, #312e81);color: white;font-size: 1.2rem;font-weight: 600;text-align: left;border-bottom: 4px solid #1e1b4b\">\n      ADS1115 Use-Case Decision Matrix \u2014 When to Use &amp; When to Choose an Alternative\n    <\/caption>\n\n    <thead>\n      <tr style=\"background: linear-gradient(135deg, #312e81, #3730a3);color: white\">\n        <th style=\"padding: 12px 14px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 28%\">Requirement<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 20%\">ADS1115 Suitable?<\/th>\n        <th style=\"padding: 12px 14px;text-align: center;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5;width: 22%\">Recommended Alternative<\/th>\n        <th style=\"padding: 12px 16px;text-align: left;font-weight: 600;text-transform: uppercase;letter-spacing: 0.4px;font-size: 0.88rem;border-bottom: 2px solid #4f46e5\">Reason<\/th>\n      <\/tr>\n    <\/thead>\n\n    <tbody>\n\n      <!-- 16-bit precision -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #d1fae5;color: #374151;border-left: 3px solid #059669\">\n          16-bit precision, low speed\n          <span style=\"font-size: 0.78rem;color: #6b7280;font-weight: 400;margin-top: 3px\">&lt; 860 SPS<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2714 Yes \u2014 ideal<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2014<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #d1fae5;font-size: 0.88rem;color: #374151\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px;margin-right: 5px\">\u2605 Purpose-built<\/span>\n          Purpose-built for this use case\n        <\/td>\n      <\/tr>\n\n      <!-- 12-bit sufficient, need speed -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #dc2626\">\n          12-bit sufficient, need &gt; 1 kSPS\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2715 No<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">ADS1015<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">4\u00d7 faster at 3,300 SPS \u2014 same Adafruit API, drop-in swap<\/td>\n      <\/tr>\n\n      <!-- Need SPI -->\n      <tr>\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #dc2626\">\n          Need SPI interface\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2715 No<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">MCP3208<\/span>\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px;margin-top: 4px\">ADS8688<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">ADS1115 is I\u00b2C only \u2014 no SPI mode available<\/td>\n      <\/tr>\n\n      <!-- Need &gt; 4 channels -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #e5e7eb;color: #374151;border-left: 3px solid #dc2626\">\n          Need &gt; 4 channels without cascading\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2715 No<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #e5e7eb\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">ADS1115 \u00d7 2<\/span>\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px;margin-top: 4px\">ADS131M08<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #e5e7eb;font-size: 0.88rem;color: #374151\">Max 4 single-ended channels per chip \u2014 cascade up to 4 devices for 16 channels<\/td>\n      <\/tr>\n\n      <!-- Weight \/ load cell -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #d1fae5;color: #374151;border-left: 3px solid #059669\">\n          Weight \/ load cell measurement\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 2px solid #059669;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2714 Yes \u2014 excellent<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">HX711 (dedicated)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #d1fae5;font-size: 0.88rem;color: #374151\">ADS1115 more flexible \u2014 measures any sensor type, not just load cells<\/td>\n      <\/tr>\n\n      <!-- Current sensing -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #d1fae5;color: #374151;border-left: 3px solid #059669\">\n          Current sensing &lt; 100 mA precision\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2714 Yes<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">INA219<\/span>\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px;margin-top: 4px\">INA226<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #d1fae5;font-size: 0.88rem;color: #374151\">Either works \u2014 INA219\/226 simpler for current-only; ADS1115 better for multi-sensor designs<\/td>\n      <\/tr>\n\n      <!-- Temperature thermocouple -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #d1fae5;color: #374151;border-left: 3px solid #059669\">\n          Temperature (thermocouple)\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2714 Yes \u2014 with amp<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">MAX31855 (simpler)<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #d1fae5;font-size: 0.88rem;color: #374151\">ADS1115 more general-purpose \u2014 use with AD8495 amp for any thermocouple type<\/td>\n      <\/tr>\n\n      <!-- Battery voltage -->\n      <tr style=\"background: #f0fdf4\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #d1fae5;color: #374151;border-left: 3px solid #059669\">\n          Battery voltage monitoring\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2714 Yes \u2014 with divider<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #d1fae5\">\n          <span style=\"background: #f3f4f6;color: #6b7280;border: 1px solid #d1d5db;font-size: 0.80rem;font-weight: 600;padding: 3px 12px;border-radius: 20px\">\u2014<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #d1fae5;font-size: 0.88rem;color: #374151\">High accuracy SoC estimation \u2014 16-bit resolution gives precise voltage readings<\/td>\n      <\/tr>\n\n      <!-- Audio signal -->\n      <tr style=\"background: #f9fafb\">\n        <td style=\"padding: 12px 14px;font-weight: 600;border-bottom: 1px solid #a5b4fc;color: #374151;border-left: 3px solid #dc2626\">\n          Audio signal capture\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.80rem;font-weight: 700;padding: 3px 12px;border-radius: 20px\">\u2715 No<\/span>\n        <\/td>\n        <td style=\"padding: 12px 14px;text-align: center;border-bottom: 1px solid #a5b4fc\">\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px\">PCM1808<\/span>\n          <span style=\"background: #dbeafe;color: #1e40af;border: 1px solid #93c5fd;font-size: 0.80rem;font-weight: 600;padding: 3px 10px;border-radius: 20px;margin-top: 4px\">CS5343<\/span>\n        <\/td>\n        <td style=\"padding: 12px 16px;border-bottom: 1px solid #a5b4fc;font-size: 0.88rem;color: #374151\">\n          860 SPS max &lt;&lt; minimum audio bandwidth (8,000 SPS)\n          <div style=\"margin-top: 5px\">\n            <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 8px;border-radius: 20px\">Not suitable for audio<\/span>\n          <\/div>\n        <\/td>\n      <\/tr>\n\n    <\/tbody>\n  <\/table>\n\n  <!-- Summary chips -->\n  <div style=\"padding: 12px 20px;background: #f5f3ff;border-top: 1px solid #e9d5ff;font-family: 'Segoe UI', system-ui, sans-serif;flex-wrap: wrap;gap: 10px;align-items: center\">\n    <span style=\"font-size: 0.78rem;font-weight: 700;color: #4f46e5;text-transform: uppercase;letter-spacing: 0.4px;margin-right: 4px\">Verdict:<\/span>\n    <span style=\"background: #dcfce7;color: #15803d;border: 1px solid #bbf7d0;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u2714 5 use cases \u2014 ADS1115 ideal<\/span>\n    <span style=\"background: #fee2e2;color: #b91c1c;border: 1px solid #fecaca;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">\u2715 4 use cases \u2014 choose alternative<\/span>\n    <span style=\"background: #ede9fe;color: #5b21b6;border: 1px solid #c4b5fd;font-size: 0.76rem;font-weight: 600;padding: 2px 10px;border-radius: 20px\">Best for: precision, low-speed, I\u00b2C sensors<\/span>\n  <\/div>\n\n  <div style=\"padding: 16px 20px;background: #f9fafb;border-top: 1px solid #e5e7eb;font-size: 0.84rem;color: #4b5563;line-height: 1.6\">\n    <strong>Summary:<\/strong> The ADS1115 is the correct choice whenever 16-bit precision, low-speed I\u00b2C measurements, or multi-sensor flexibility are the primary requirements. For applications needing SPI, high sample rates above 860 SPS, or dedicated audio capture, purpose-built alternatives outperform it. Source: <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/ads1115.pdf\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #4f46e5;text-decoration: none\">Texas Instruments ADS1115 Datasheet SBAS444E<\/a>.\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Key Takeaways<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The ADS1115 outputs 16-bits of resolution up to 860 samples per second from a 2-5.5V power supply via I\u00b2C<\/li>\n\n\n\n<li>The PGA FSR should always be selected to match your sensor&#8217;s output range for maximum effective bits.<\/li>\n\n\n\n<li>Bridge sensors should be connected to the ADS1115 in a differential mode because single ended mode will lose the sign bit (i.e. the 15th bit).<\/li>\n\n\n\n<li>A maximum of four <a href=\"https:\/\/www.flywing-tech.com\/search\/ADS1115\">ADS1115<\/a> devices can be connected together with an I\u00b2C bus because they share the ADDR pin for a total of 16 channels.<\/li>\n\n\n\n<li>Increase real-world ENOB and analog performance by decreasing the sample rate, increasing the decoupling capacitors, and implementing software averaging of multiple samples.<\/li>\n\n\n\n<li>The Adafruit ADS1X15 Arduino and CircuitPython libraries use the same API for both platforms, making it easier to migrate from one platform to another.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"frequently_asked_questions\"><\/span><strong>Frequently Asked Questions<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1773985869859\"><strong class=\"schema-faq-question\"><strong>Can the ADS1115 measure negative voltages?<\/strong><\/strong> <p class=\"schema-faq-answer\">In differential mode, the device can measure negative voltages as low as -FSR, provided that neither of the AIN pins goes below -0.3V with respect to GND. Device is unable to measure negative voltages in single-ended mode<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773985897623\"><strong class=\"schema-faq-question\"><strong>Why do I only get 15-bit range in single-ended mode?<\/strong><\/strong> <p class=\"schema-faq-answer\">The device will only input positive values (0 to 32767) into memory when coding in single-ended mode and will reserve the sign bit for differential voltage measurements.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773985935144\"><strong class=\"schema-faq-question\"><strong>What is the maximum input voltage on the AIN pins?<\/strong><\/strong> <p class=\"schema-faq-answer\">In any case, the maximum input to the device will be VDD + 0.3V and the minimum input will be -0.3V, irrespective of the setting on the PGA. For example, if it receives a supply of 3.3V, the maximum voltage allowed is 3.6V.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773985957904\"><strong class=\"schema-faq-question\"><strong>How do I use ADS1115 with ESP32 or ESP8266?<\/strong><\/strong> <p class=\"schema-faq-answer\">Power it with 3.3 V and connect via I\u00b2C (ESP32: GPIO21\/22, ESP8266: GPIO4\/5). Use the Adafruit ADS1X15 library and initialize with Wire.begin().<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773985987326\"><strong class=\"schema-faq-question\"><strong>How many ADS1115 modules can share one I\u00b2C bus?<\/strong><\/strong> <p class=\"schema-faq-answer\">Up to 4 devices (addresses 0x48\u20130x4B), giving 16 single-ended or 8 differential channels.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773986003984\"><strong class=\"schema-faq-question\"><strong>What is the difference between continuous and single-shot mode?<\/strong><\/strong> <p class=\"schema-faq-answer\">Continuous mode updates readings continuously. Single-shot mode takes one reading and enters low-power sleep, making it ideal for battery-powered systems.<\/p> <\/div> <\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.flywing-tech.com\/category\/integrated-circuits-ics\/data-acquisition-analog-to-digital-converters-adc-fc4c9848\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"2160\" height=\"798\" src=\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/analog-to-digital-converters-for-precision-data-acquisition.png\" alt=\"analog to digital converter ICs used for signal conversion, data acquisition, and sensor interfacing in embedded and industrial electronic systems.\" class=\"wp-image-8160\" \/><\/a><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Introduction to the ADS1115 16-Bit ADC Converter Real &#8211; world signals such as temperature, pressure, weight, current, humidity, and pH can all be expressed as analog voltages. To process, record, or respond to these types of signals using a microcontroller, you need to convert the analog signal into a digital number using an Analog To [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":8157,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1103,379,377,378],"tags":[1105,1104,1106,1108,1109,1110,1111,1107],"class_list":["post-8060","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analog-to-digital-converters-adc","category-circuit","category-experience-sharing","category-parts-library","tag-16-bit-adc","tag-ads1115","tag-ads1115-arduino","tag-ads1115-raspberry-pi","tag-ads1115-tutorial","tag-high-resolution-adc","tag-i2c-adc-module","tag-programmable-gain-amplifier"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide - Fly-Wing<\/title>\r\n<meta name=\"description\" content=\"ADS1115 16-bit ADC module complete guide \u2014 full pinout, PGA gain settings, I\u00b2C wiring for Arduino, ESP32 &amp; Raspberry Pi, config register, sensor interfacing with code and noise reduction strategies.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide - Fly-Wing\" \/>\r\n<meta property=\"og:description\" content=\"ADS1115 16-bit ADC module complete guide \u2014 full pinout, PGA gain settings, I\u00b2C wiring for Arduino, ESP32 &amp; Raspberry Pi, config register, sensor interfacing with code and noise reduction strategies.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Fly-Wing\" \/>\r\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=100090565081283\" \/>\r\n<meta property=\"article:published_time\" content=\"2026-03-25T02:04:56+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2026-03-25T02:05:00+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"2610\" \/>\r\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"Flywing Tech Blog\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@MIKEBigcoolguy\" \/>\r\n<meta name=\"twitter:site\" content=\"@MIKEBigcoolguy\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Flywing Tech Blog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"32 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/\"},\"author\":{\"name\":\"Flywing Tech Blog\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/person\/54b4930c1e0b706d6c16518160e005d6\"},\"headline\":\"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide\",\"datePublished\":\"2026-03-25T02:04:56+00:00\",\"dateModified\":\"2026-03-25T02:05:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/\"},\"wordCount\":6224,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png\",\"keywords\":[\"16-bit ADC\",\"ADS1115\",\"ADS1115 Arduino\",\"ADS1115 Raspberry Pi\",\"ADS1115 Tutorial\",\"High Resolution ADC\",\"I2C ADC Module\",\"Programmable Gain Amplifier\"],\"articleSection\":[\"Analog to Digital Converters (ADC)\",\"Circuit\",\"Experience Sharing\",\"Parts Library\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#respond\"]}]},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/\",\"url\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/\",\"name\":\"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide - Fly-Wing\",\"isPartOf\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png\",\"datePublished\":\"2026-03-25T02:04:56+00:00\",\"dateModified\":\"2026-03-25T02:05:00+00:00\",\"description\":\"ADS1115 16-bit ADC module complete guide \u2014 full pinout, PGA gain settings, I\u00b2C wiring for Arduino, ESP32 & Raspberry Pi, config register, sensor interfacing with code and noise reduction strategies.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985869859\"},{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985897623\"},{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985935144\"},{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985957904\"},{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985987326\"},{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773986003984\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#primaryimage\",\"url\":\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png\",\"contentUrl\":\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png\",\"width\":2610,\"height\":1200,\"caption\":\"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration & Sensor Interfacing Guide\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.flywing-tech.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Parts Library\",\"item\":\"https:\/\/www.flywing-tech.com\/blog\/category\/parts-library\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#website\",\"url\":\"https:\/\/www.flywing-tech.com\/blog\/\",\"name\":\"Fly-Wing\",\"description\":\"Electronic Components Source @Fly-Wing\",\"publisher\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.flywing-tech.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#organization\",\"name\":\"Fly-wing Technology (HK) Co., Limited\",\"alternateName\":\"Fly-wing Technology\",\"url\":\"https:\/\/www.flywing-tech.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2025\/06\/512_512.png\",\"contentUrl\":\"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2025\/06\/512_512.png\",\"width\":512,\"height\":512,\"caption\":\"Fly-wing Technology (HK) Co., Limited\"},\"image\":{\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/profile.php?id=100090565081283\",\"https:\/\/x.com\/MIKEBigcoolguy\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/person\/54b4930c1e0b706d6c16518160e005d6\",\"name\":\"Flywing Tech Blog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9a308600c3831db1cce227412e91d8c3da5b59b4d2cadd2f172f5e8cf7e93e15?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9a308600c3831db1cce227412e91d8c3da5b59b4d2cadd2f172f5e8cf7e93e15?s=96&d=mm&r=g\",\"caption\":\"Flywing Tech Blog\"},\"description\":\"This blog is maintained by the editorial team at Fly-Wing Technology. We aim to share valuable insights on electronic components, industry trends, and practical engineering guides to support global developers and buyers.\",\"sameAs\":[\"https:\/\/www.flywing-tech.com\/blog\/\"],\"url\":\"https:\/\/www.flywing-tech.com\/blog\/author\/content_manager_03\/\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985869859\",\"position\":1,\"url\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985869859\",\"name\":\"Can the ADS1115 measure negative voltages?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"In differential mode, the device can measure negative voltages as low as -FSR, provided that neither of the AIN pins goes below -0.3V with respect to GND. Device is unable to measure negative voltages in single-ended mode\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985897623\",\"position\":2,\"url\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985897623\",\"name\":\"Why do I only get 15-bit range in single-ended mode?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The device will only input positive values (0 to 32767) into memory when coding in single-ended mode and will reserve the sign bit for differential voltage measurements.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985935144\",\"position\":3,\"url\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985935144\",\"name\":\"What is the maximum input voltage on the AIN pins?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"In any case, the maximum input to the device will be VDD + 0.3V and the minimum input will be -0.3V, irrespective of the setting on the PGA. For example, if it receives a supply of 3.3V, the maximum voltage allowed is 3.6V.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985957904\",\"position\":4,\"url\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985957904\",\"name\":\"How do I use ADS1115 with ESP32 or ESP8266?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Power it with 3.3 V and connect via I\u00b2C (ESP32: GPIO21\/22, ESP8266: GPIO4\/5). Use the Adafruit ADS1X15 library and initialize with Wire.begin().\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985987326\",\"position\":5,\"url\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985987326\",\"name\":\"How many ADS1115 modules can share one I\u00b2C bus?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Up to 4 devices (addresses 0x48\u20130x4B), giving 16 single-ended or 8 differential channels.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773986003984\",\"position\":6,\"url\":\"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773986003984\",\"name\":\"What is the difference between continuous and single-shot mode?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Continuous mode updates readings continuously. Single-shot mode takes one reading and enters low-power sleep, making it ideal for battery-powered systems.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide - Fly-Wing","description":"ADS1115 16-bit ADC module complete guide \u2014 full pinout, PGA gain settings, I\u00b2C wiring for Arduino, ESP32 & Raspberry Pi, config register, sensor interfacing with code and noise reduction strategies.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/","og_locale":"en_US","og_type":"article","og_title":"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide - Fly-Wing","og_description":"ADS1115 16-bit ADC module complete guide \u2014 full pinout, PGA gain settings, I\u00b2C wiring for Arduino, ESP32 & Raspberry Pi, config register, sensor interfacing with code and noise reduction strategies.","og_url":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/","og_site_name":"Fly-Wing","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=100090565081283","article_published_time":"2026-03-25T02:04:56+00:00","article_modified_time":"2026-03-25T02:05:00+00:00","og_image":[{"width":2610,"height":1200,"url":"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png","type":"image\/png"}],"author":"Flywing Tech Blog","twitter_card":"summary_large_image","twitter_creator":"@MIKEBigcoolguy","twitter_site":"@MIKEBigcoolguy","twitter_misc":{"Written by":"Flywing Tech Blog","Est. reading time":"32 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#article","isPartOf":{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/"},"author":{"name":"Flywing Tech Blog","@id":"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/person\/54b4930c1e0b706d6c16518160e005d6"},"headline":"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide","datePublished":"2026-03-25T02:04:56+00:00","dateModified":"2026-03-25T02:05:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/"},"wordCount":6224,"commentCount":0,"publisher":{"@id":"https:\/\/www.flywing-tech.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png","keywords":["16-bit ADC","ADS1115","ADS1115 Arduino","ADS1115 Raspberry Pi","ADS1115 Tutorial","High Resolution ADC","I2C ADC Module","Programmable Gain Amplifier"],"articleSection":["Analog to Digital Converters (ADC)","Circuit","Experience Sharing","Parts Library"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#respond"]}]},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/","url":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/","name":"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide - Fly-Wing","isPartOf":{"@id":"https:\/\/www.flywing-tech.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png","datePublished":"2026-03-25T02:04:56+00:00","dateModified":"2026-03-25T02:05:00+00:00","description":"ADS1115 16-bit ADC module complete guide \u2014 full pinout, PGA gain settings, I\u00b2C wiring for Arduino, ESP32 & Raspberry Pi, config register, sensor interfacing with code and noise reduction strategies.","breadcrumb":{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985869859"},{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985897623"},{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985935144"},{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985957904"},{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985987326"},{"@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773986003984"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#primaryimage","url":"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png","contentUrl":"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2026\/03\/ads1115-16-bit-adc-module.png","width":2610,"height":1200,"caption":"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration & Sensor Interfacing Guide"},{"@type":"BreadcrumbList","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.flywing-tech.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Parts Library","item":"https:\/\/www.flywing-tech.com\/blog\/category\/parts-library\/"},{"@type":"ListItem","position":3,"name":"ADS1115 16-Bit ADC Module: Complete Pinout, PGA Configuration &amp; Sensor Interfacing Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.flywing-tech.com\/blog\/#website","url":"https:\/\/www.flywing-tech.com\/blog\/","name":"Fly-Wing","description":"Electronic Components Source @Fly-Wing","publisher":{"@id":"https:\/\/www.flywing-tech.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.flywing-tech.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.flywing-tech.com\/blog\/#organization","name":"Fly-wing Technology (HK) Co., Limited","alternateName":"Fly-wing Technology","url":"https:\/\/www.flywing-tech.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2025\/06\/512_512.png","contentUrl":"https:\/\/www.flywing-tech.com\/blog\/wp-content\/uploads\/2025\/06\/512_512.png","width":512,"height":512,"caption":"Fly-wing Technology (HK) Co., Limited"},"image":{"@id":"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=100090565081283","https:\/\/x.com\/MIKEBigcoolguy"]},{"@type":"Person","@id":"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/person\/54b4930c1e0b706d6c16518160e005d6","name":"Flywing Tech Blog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.flywing-tech.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9a308600c3831db1cce227412e91d8c3da5b59b4d2cadd2f172f5e8cf7e93e15?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9a308600c3831db1cce227412e91d8c3da5b59b4d2cadd2f172f5e8cf7e93e15?s=96&d=mm&r=g","caption":"Flywing Tech Blog"},"description":"This blog is maintained by the editorial team at Fly-Wing Technology. We aim to share valuable insights on electronic components, industry trends, and practical engineering guides to support global developers and buyers.","sameAs":["https:\/\/www.flywing-tech.com\/blog\/"],"url":"https:\/\/www.flywing-tech.com\/blog\/author\/content_manager_03\/"},{"@type":"Question","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985869859","position":1,"url":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985869859","name":"Can the ADS1115 measure negative voltages?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"In differential mode, the device can measure negative voltages as low as -FSR, provided that neither of the AIN pins goes below -0.3V with respect to GND. Device is unable to measure negative voltages in single-ended mode","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985897623","position":2,"url":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985897623","name":"Why do I only get 15-bit range in single-ended mode?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"The device will only input positive values (0 to 32767) into memory when coding in single-ended mode and will reserve the sign bit for differential voltage measurements.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985935144","position":3,"url":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985935144","name":"What is the maximum input voltage on the AIN pins?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"In any case, the maximum input to the device will be VDD + 0.3V and the minimum input will be -0.3V, irrespective of the setting on the PGA. For example, if it receives a supply of 3.3V, the maximum voltage allowed is 3.6V.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985957904","position":4,"url":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985957904","name":"How do I use ADS1115 with ESP32 or ESP8266?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Power it with 3.3 V and connect via I\u00b2C (ESP32: GPIO21\/22, ESP8266: GPIO4\/5). Use the Adafruit ADS1X15 library and initialize with Wire.begin().","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985987326","position":5,"url":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773985987326","name":"How many ADS1115 modules can share one I\u00b2C bus?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Up to 4 devices (addresses 0x48\u20130x4B), giving 16 single-ended or 8 differential channels.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773986003984","position":6,"url":"https:\/\/www.flywing-tech.com\/blog\/ads1115-16-bit-adc-module-complete-pinout-pga-configuration-sensor-interfacing-guide\/#faq-question-1773986003984","name":"What is the difference between continuous and single-shot mode?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Continuous mode updates readings continuously. Single-shot mode takes one reading and enters low-power sleep, making it ideal for battery-powered systems.","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/posts\/8060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/comments?post=8060"}],"version-history":[{"count":34,"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/posts\/8060\/revisions"}],"predecessor-version":[{"id":8161,"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/posts\/8060\/revisions\/8161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/media\/8157"}],"wp:attachment":[{"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/media?parent=8060"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/categories?post=8060"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flywing-tech.com\/blog\/wp-json\/wp\/v2\/tags?post=8060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}