Quick Start
This guide introduces the FoBE Breakout ADS1115 and how to use it.
Hardware diagram
The following figure illustrates the FoBE Breakout ADS1115 hardware diagram.

Mechanical dimensions
FoBE Breakout ADS1115 is a single-sided 25.4mm x 25.4mm (1" x 1") 1.6mm thick PCB with two SH1.0 4-pin connectors and a set of 6-pin 2.54mm header holes. Fixing by 4 x 1.6mm Screw holes.

Interfaces
The module provides dual 6-Pin JST SH1.0 connectors, compatible with STEMMA QT / Qwiic.
2.54mm 6-Pin | JST-SH1.0 | Features |
---|---|---|
NC | — | Not connected |
GND | GND | Ground |
3V3 | 3V3 | Power supply, Only 3.3V |
SDA | SDA | I2C-Data line |
SCL | SCL | I2C-Clock line |
INT | — | ADC conversion ready, Active Low |
Advanced
Address Selection
ADS1115 I2C Address
The ADS1115 I²C address can be configured using solder pads B0-B3:
Pad | I²C Address |
---|---|
B0 | 0x48 (Default) |
B1 | 0x49 |
B2 | 0x4A |
B3 | 0x4B |
EEPROM I2C Address
The M24C64 EEPROM I²C address can be configured using solder pads A0-A2:
A2 | A1 | A0 | I²C Address |
---|---|---|---|
0 | 0 | 0 | 0x50 (Default) |
0 | 0 | 1 | 0x51 |
0 | 1 | 0 | 0x52 |
0 | 1 | 1 | 0x53 |
1 | 0 | 0 | 0x54 |
1 | 0 | 1 | 0x55 |
1 | 1 | 0 | 0x56 |
1 | 1 | 1 | 0x57 |
Jumper
The module features one jumper pad:
Interface | Description |
---|---|
ADC-INT | Connect this jumper to enable INT pin functionality for ADC conversion ready signal |
Measure Connections
Channel | Type | Configuration |
---|---|---|
0 | 4-20mA current | 120Ω shunt resistor to ground |
1 | 0-10V voltage | Voltage divider: 10kΩ (top) / 39kΩ (bottom) |
2 | NTC temperature | Voltage divider with 100kΩ resistor, 2.5V reference |
3 | Calibration | Internal 2.5V voltage reference |
Programming
Running with FoBE Quill ESP32S3 Mesh
Let's get started with the FoBE Quill ESP32S3 Mesh using the MFP interface.
- Connect the FoBE Breakout ADS1115 to the FoBE Quill ESP32S3 Mesh using the MFP interface.

-
Create a sketch or PlatformIO project, or follow the FoBE Quill ESP32S3 Programming Guide for pre-configuration.
-
Install the necessary library in your project:
adafruit/Adafruit ADS1X15@^2.5.0
- Copy the following code into your sketch or PlatformIO project:
#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_ADS1X15.h>
#define ADS1115_ADDR 0x48
#define IIC_SDA_PIN PIN_MFP3
#define IIC_SCL_PIN PIN_MFP4
Adafruit_ADS1115 ads;
void setup() {
Serial.begin(115200); // Start serial communication at 9600 baud rate
delay(3000);
pinMode(PIN_PERI_EN, OUTPUT);
digitalWrite(PIN_PERI_EN, HIGH); // Enable peripheral power
Wire.begin(IIC_SDA_PIN, IIC_SCL_PIN);
if (!ads.begin(ADS1115_ADDR)) {
Serial.println("Failed to initialize ADS.");
while (1);
}
}
void loop() {
int16_t adc0, adc1, adc2, adc3;
float volts0, volts1, volts2, volts3;
adc0 = ads.readADC_SingleEnded(0);
adc1 = ads.readADC_SingleEnded(1);
adc2 = ads.readADC_SingleEnded(2);
adc3 = ads.readADC_SingleEnded(3);
volts0 = ads.computeVolts(adc0);
volts1 = ads.computeVolts(adc1);
volts2 = ads.computeVolts(adc2);
volts3 = ads.computeVolts(adc3);
Serial.println("> FoBE Breakout - ADS1115");
Serial.print("\033[H\033[J"); // Clear terminal
Serial.printf("\033[7m%-12s%-12s%-12s%-12s%-12s\033[0m",
"Channel", "Value", "Voltage", "Result", "-");
Serial.println();
Serial.print("\033[0m");
Serial.printf("%-12s%-12d%-12.6f%-12s%-12.6f", "AIN0", adc0, volts0, "4-20ma:", volts0/120*1000);
Serial.println();
Serial.printf("%-12s%-12d%-12.6f%-12s%-12.6f", "AIN1", adc0, volts1, "0-10V:", volts1 * (100000.0f + 39000.0f) / 39000.0f);
Serial.println();
const double Rp = 100000.0; // 分压电阻
const double R0 = 10000.0; // 10k NTC
const double T0 = 273.15 + 25.0; // 25℃
const double Bx = 3950.0;
const double Vref = 3.056250; // 参考电压
double Rt = volts2 / ((Vref - volts2) / Rp);
double tempK = 1.0 / ( (1.0/T0) + (1.0/Bx) * log10(Rt / R0) );
double tempC = tempK - 273.15;
Serial.printf("%-12s%-12d%-12.6f%-12s%-12.6f", "AIN2", adc2, volts2, "NTC(˚C):", tempC);
Serial.println();
Serial.printf("%-12s%-12d%-12.6f%-12s%-12.6f", "AIN3", adc3, volts3, "REF-3V", volts3);
delay(1000);
}
This example code shows basic ADC channel reading. Your terminal must support the output format to display the measurements correctly.
# platformio.ini
[env:fobe_quill_esp32s3_mesh]
platform = FoBE Espressif 32
board = fobe_quill_esp32s3_mesh
framework = arduino
lib_deps =
adafruit/Adafruit ADS1X15@^2.5.0
monitor_speed = 115200
monitor_raw = true
- Build and upload the project. You should see the FoBE Breakout ADS1115 ADC channel data output in the serial monitor (raw mode).
Channel Value Voltage Result -
AIN0 0 0.000000 4-20ma: 0.000000
AIN1 0 0.002625 0-10V: 0.009356
AIN2 1136 0.213000 NTC(˚C): 27.849865
AIN3 16300 3.056250 REF-3V 3.056250
- If you want to use custom pins, you can change the
IIC_SDA_PIN
andIIC_SCL_PIN
definitions to your desired GPIO pins. - The ADS1115 is configured to use the default I²C address 0x48. You can change the address by soldering the appropriate jumper pads on the board.