LM-2596 Module Without LED

Details

LM-2596 DC-DC Buck Converter Module (Without LED)

Summary

The LM-2596 Buck Converter Module (Without LED) is an adjustable step-down regulator based on the LM2596S. It efficiently converts a higher DC input to a lower DC output using a trimmer potentiometer. Common uses include powering microcontrollers, LED strips, and low-voltage devices from a 12 V or battery supply.

Tip: Always set the desired voltage with a multimeter before connecting sensitive electronics.

Terminals & Adjustments
  • VIN+ / VIN−: DC input (observe polarity).
  • VOUT+ / VOUT−: Regulated DC output.
  • ADJ: Trimmer potentiometer to set output voltage.
  • Ground: VIN− and VOUT− share a common ground.

Tip: For high currents, use thicker wires and keep leads short to minimize losses.

Wiring Diagram

Basic connection showing VIN from power source and VOUT to load.

LM-2596 wiring diagram with VIN/VOUT terminals
Arduino Code

Measure VOUT (Voltage Divider)

// Example: Monitor LM2596 output voltage via divider to A0
const byte SENSE = A0;
const float R1 = 100000.0; // top resistor (to Vout)
const float R2 = 33000.0;  // bottom resistor (to GND)
const float VREF = 5.0;

void setup(){ Serial.begin(115200); }
void loop(){
  int raw = analogRead(SENSE);
  float vA0 = raw * (VREF / 1023.0);
  float vOut = vA0 * ((R1 + R2) / R2);
  Serial.print("Vout: "); Serial.print(vOut, 2); Serial.println(" V");
  delay(500);
}
ESP Code (Arduino Core)

ESP32/ESP8266: Sense VOUT through a divider to keep the ADC pin ≤ 3.3 V at worst case.

ESP32: ADC Read + Divider

// ESP32 dev board — divider from Vout to GPIO34 (input-only ADC)
// Keep Vadc ≤ 3.3 V at max Vout.
const int PIN_ADC = 34;
const float R1 = 100000.0;   // to Vout
const float R2 = 33000.0;    // to GND

void setup(){
  Serial.begin(115200);
  analogReadResolution(12);  // 0..4095
}
void loop(){
  int raw = analogRead(PIN_ADC);
  float vadc = (raw / 4095.0) * 3.3;
  float vout = vadc * ((R1 + R2) / R2);
  Serial.printf("ADC:%d  Vout:%.2f V\n", raw, vout);
  delay(300);
}

ESP8266: ADC Read (A0)

// Many ESP8266 boards scale A0 to ~1.0 V. Check your board's reference.
// If needed, change 'vadc' scale or add your own divider to keep A0 ≤ reference.
const float R1 = 100000.0, R2 = 33000.0;

void setup(){ Serial.begin(115200); }
void loop(){
  int raw = analogRead(A0);              // 0..1023
  float vadc = raw * (1.0 / 1023.0);     // if 1.0 V ref on your board
  float vout = vadc * ((R1 + R2) / R2);
  Serial.printf("ADC:%d  Vout:%.2f V\n", raw, vout);
  delay(300);
}
Espressif Code (ESP-IDF)

ESP-IDF example reading ADC1 with 11 dB attenuation (~0–3.3 V). Convert to Vout using your divider ratio.

ESP32 (ESP-IDF C): ADC + Calibration

#include "driver/adc.h"
#include "esp_adc_cal.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include 

#define ADC_CH   ADC1_CHANNEL_6   // GPIO34
#define SAMPLES  16

void app_main(void){
  adc1_config_width(ADC_WIDTH_BIT_12);
  adc1_config_channel_atten(ADC_CH, ADC_ATTEN_DB_11); // ~0..3.3 V

  esp_adc_cal_characteristics_t cal;
  esp_adc_cal_characterize(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100, &cal);

  const float R1 = 100000.0f;  // to Vout
  const float R2 = 33000.0f;   // to GND

  while (1) {
    uint32_t sum = 0;
    for (int i=0; i

Never exceed the ADC pin’s max input. Pick R1/R2 for your highest expected Vout.

Raspberry Pi

Read Voltage via MCP3008 ADC

# pip install adafruit-circuitpython-mcp3xxx
import time
import board, busio
from digitalio import DigitalInOut
from adafruit_mcp3xxx.mcp3008 import MCP3008
from adafruit_mcp3xxx.analog_in import AnalogIn

spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI)
cs  = DigitalInOut(board.CE0)
mcp = MCP3008(spi, cs)
chan = AnalogIn(mcp, MCP3008.P0)

R1 = 100000.0
R2 = 33000.0

while True:
    va0 = chan.voltage
    vout = va0 * ((R1 + R2) / R2)
    print(f"Vout: {vout:.2f} V")
    time.sleep(1)
Drivers

No specific drivers are required for the LM-2596 module. USB-serial adapters may need bridge drivers.

Resources
Specifications
Regulator IC LM2596 (switch-mode buck converter)
Input Voltage 4–40 V DC (typical)
Output Voltage 1.25–35 V adjustable
Max Output Current 2 A (continuous typical), 3 A peak
Efficiency Up to 90 %
Switching Frequency ~150 kHz
Adjustment Multi-turn potentiometer
Protection Over-temp / current / input-polarity (varies by board)
Dimensions ≈ 45 × 21 mm (typical)

Note: Specs vary by vendor/board revision; verify on your PCB silkscreen.

FAQ
Output voltage wrong?
Adjust slowly with a small screwdriver while monitoring with a meter. Confirm VIN polarity and sufficient headroom.
Overheating?
Use a heatsink, increase airflow, or reduce input–output voltage difference. Limit continuous current to 2 A or less.
Safe for powering logic boards?
Yes — set VOUT accurately (e.g., 5 V or 3.3 V) and verify before connecting. Add local capacitors near your load.
Safety & Compliance

Important Notice: For educational, prototype, experimental, laboratory and R&D use only. (non-RoHS)

WEEE

Not subject to WEEE marking; obligations apply to final equipment.

Manufacturer

Little Muffins Things Limited
166 River Heights, 90 High Street
London E15 2GQ
littlemuffinsthings.com

EU Responsible Person

eucomply OU
Parnu mnt. 139b–141
13117 Tallinn, Estonia
hello@eucompliancepartner.com