S38ADS1115
ADC 16-Bit
Adds four precise analog inputs. Gives a Raspberry Pi the analog pins it doesn't have.
Loading 3D
Drag to orbit · scroll to zoom · double-click to reset
Scan the back of the board to open this page.builtbytyler.com/S38
Try it
Feed analog sensors into A0-A3
A0=1.652 VA1=0.338 VA2=3.012 VA3=2.207 V
Four analog inputs over I2C (0x48). Gives the Raspberry Pi the analog pins it doesn't have.
/*
BuiltByTyler Sensor Kit - S38 ADC 16-BIT (ADS1115)
Board: ESP32-WROOM-32 DevKit V1 (30-pin), Arduino-ESP32 core 3.x, "ESP32 Dev Module"
Reads all four inputs of the 16-bit ADS1115 (I2C 0x48) in volts.
Wire A0-A3 to the AO pins of analog sensors powered from the same 3V3.
Never put more than VCC on A0-A3. ALRT is optional and not used here.
Wiring (module pin -> ESP32 pin):
GND -> GND
VCC -> 3V3
SDA -> GPIO 21
SCL -> GPIO 22
ALRT -> GPIO 4
A0 -> AO pin of an analog sensor (optional)
A1 -> AO pin of an analog sensor (optional)
A2 -> AO pin of an analog sensor (optional)
A3 -> AO pin of an analog sensor (optional)
Library: "Adafruit ADS1X15" (Sketch > Include Library > Manage Libraries)
Serial Monitor: 115200 baud
*/
#define SDA_PIN 21
#define SCL_PIN 22
#define ALRT_PIN 4
#include <Wire.h>
#include <Adafruit_ADS1X15.h>
Adafruit_ADS1115 ads;
void setup() {
Serial.begin(115200);
Wire.begin(SDA_PIN, SCL_PIN);
if (!ads.begin(0x48)) {
Serial.println("ADS1115 not found at 0x48 - check the wiring");
while (true) delay(1000);
}
ads.setGain(GAIN_ONE); // +/-4.096 V range: fits 0-3.3 V signals
}
void loop() {
for (int ch = 0; ch < 4; ch++) {
int16_t raw = ads.readADC_SingleEnded(ch);
Serial.printf("A%d=%.3f V ", ch, ads.computeVolts(raw));
}
Serial.println();
delay(500);
}
Not for sale yet. Planned price $79, shipping included. Join the waitlist and we'll email you once when the kit is ready. Nothing else.