In electronics, a signal is a time-varying electrical quantity—usually voltage, current, or an electromagnetic field—deliberately manipulated to carry information from a source to a destination. If power is the cargo doing the heavy lifting (spinning a motor, heating an element), the signal is the shipping manifest telling the system what to do, when to do it, and how much. People commonly confuse the signal with the power driving the circuit, or they mistake the physical medium (the copper wire or the PCB trace) for the signal itself. The wire is just the road; the signal is the traffic.

What a signal actually changes in a real circuit is the state of a receiving component. It modulates a carrier wave, flips a transistor's logic gate from a 0 to a 1, or varies the duty cycle of a PWM controller to dim an LED. Without a signal, a circuit is just a static path waiting for instructions.

The Anatomy of an Electrical Signal

Every electrical signal falls into one of two fundamental categories: analog or digital. Understanding the boundary between them is critical when you move from basic LED blinking to reading real-world sensors.

An analog signal is continuous. It can take on any infinite value within a defined range. A classic example is the output of a potentiometer or a microphone capsule. If you are reading a 0V to 5V analog temperature sensor, a reading of 2.341V is just as valid as 2.342V. The physical world is inherently analog.

A digital signal is discrete. It is constrained to specific, predefined states—most commonly binary (High/Low, 1/0). However, a digital signal is still just an analog voltage that we have agreed to interpret in buckets. For example, in 3.3V logic families (like those used on the ESP32 or Raspberry Pi Pico), the receiver doesn't look for exactly 3.3V or exactly 0V. It looks for threshold boundaries:

Inline Data Highlight: 3.3V CMOS Logic Thresholds
V_IL (Max Low Voltage): 0.8V — Anything below this is guaranteed to be read as a '0'.
V_IH (Min High Voltage): 2.0V — Anything above this is guaranteed to be read as a '1'.
The space between 0.8V and 2.0V is the forbidden zone (undefined state), where logic gates can oscillate, draw excess current, and cause brownouts.

When you probe a digital signal with an oscilloscope, you will see it is not a perfect square wave. It has rise times, fall times, and ringing. The 'signal' is the information encoded in those transitions, not the physical imperfections of the waveform.

Worked Numeric Example: The 4-20mA Current Loop

To truly understand what a signal is, let's look at one of the most robust analog signals in industrial electronics: the 4-20mA current loop. Unlike a voltage signal (like 0-10V), which degrades over long wire runs due to the resistance of the copper, a current signal remains constant throughout the entire series loop, regardless of wire length (within the power supply's voltage compliance limits).

Let's say we are measuring water pressure in a tank from 0 to 100 PSI using a standard 4-20mA pressure transmitter.

  • 4 mA represents 0 PSI (the 'live zero'—if the current drops to 0mA, the PLC knows a wire broke, rather than just reading 0 PSI).
  • 20 mA represents 100 PSI.
  • Span: 16 mA represents the 100 PSI range.

Microcontrollers like the ESP32 cannot read current directly; their Analog-to-Digital Converters (ADCs) read voltage. To convert this current signal into a voltage signal, we place a precision shunt resistor in series with the loop. Let's use a 150Ω resistor to keep the maximum voltage under the ESP32's practical 3.1V ADC limit.

The Math (Ohm's Law: V = I × R):

  • At 0 PSI (4mA): 0.004A × 150Ω = 0.6V
  • At 100 PSI (20mA): 0.020A × 150Ω = 3.0V
  • At 50 PSI (12mA): 0.012A × 150Ω = 1.8V

The 1.8V measured across the resistor is the signal at the microcontroller end. The information (50 PSI) has been successfully translated from a physical pressure, to a regulated current, to a measurable voltage.

Where You Meet This in Practice

Depending on whether you are wiring a smart home, building a robot, or interfacing with industrial HVAC, the physical manifestation of the signal changes drastically. Here is a breakdown of the most common signal standards you will encounter on the bench or jobsite.

Signal Type Medium / Physical Quantity Noise Immunity Max Practical Distance Typical Application
I2C / SPI Digital Voltage (3.3V / 5V) Low < 1 meter (without buffers) On-board sensors, displays, EEPROMs
PWM Digital Pulse Width (Duty Cycle) Medium 1 - 5 meters Servo control, LED dimming, DC motor speed
0-10V DC Analog Voltage Medium ~50 meters HVAC VFD control, commercial lighting dimmers
4-20mA Analog Current High 1000+ meters Industrial process control, flow/pressure sensors
RS-485 Differential Digital Voltage Very High 1200 meters Modbus networks, DMX lighting, industrial PLCs

Notice the trend: as the environment gets noisier and the distances get longer, we move away from single-ended voltage signals and toward differential voltages (RS-485) or current loops (4-20mA). The information remains the same, but the physical vessel carrying it changes to survive the journey.

Real-World Scenario Walkthrough: Reading a Pressure Transmitter

Theory is clean; the workbench is not. Let's walk through a real-world scenario where misunderstanding the nature of a signal leads to a frustrating debugging session.

The Setup

You are building a DIY water tank monitor. You have a 24VDC industrial power supply, a 4-20mA pressure transmitter rated for 0-100 PSI, a 150Ω 1% tolerance shunt resistor, and an ESP32 DevKit v1. You wire the 24V to the transmitter, the transmitter output to the shunt resistor, and the other side of the shunt to the ESP32's Ground. The junction between the transmitter and the resistor goes to GPIO 34 (an ADC-capable input pin).

The Numbers

You pressurize the tank to exactly 50 PSI. Based on our earlier math, the transmitter outputs 12mA. The voltage at GPIO 34 should be exactly 1.80V. The ESP32's 12-bit ADC (which maps 0-3.1V to 0-4095) should return a raw value of roughly 2374.

The Outcome

You flash the firmware, open the serial monitor, and see the ADC reading fluctuating between 2550 and 2600. When you map this back to voltage, the ESP32 thinks it's seeing 2.05V. Your code calculates the pressure at 65 PSI, even though your mechanical gauge reads exactly 50 PSI. The signal is 'lying' to you.

What Went Wrong: The Ground Loop

The signal itself (the 12mA current) was perfectly accurate. The failure was in how the receiving end referenced that signal. Because the ESP32 was plugged into your laptop via USB for serial monitoring, and the 24V power supply was plugged into the same AC mains strip, a ground loop formed. According to All About Circuits' guide on ground loops, when two grounded systems are connected via different paths, stray currents flow through the ground wires due to slight differences in ground potential. In this case, there was a 250mV (0.25V) potential difference between the 24V supply's negative terminal and the laptop's USB ground. The ESP32's ADC measures voltage relative to its own USB ground, not the 24V supply ground. Therefore, it read the 1.80V signal plus the 0.25V ground offset, resulting in the erroneous 2.05V reading.

The Fix: To measure this signal accurately, you must either establish a single-point star ground (tying the 24V negative directly to the ESP32 GND pin and lifting the laptop USB ground connection, which is risky), or use a galvanic isolation amplifier like the Texas Instruments AMC1301 to isolate the high-voltage industrial ground from the low-voltage microcontroller ground. For a deep dive into isolating analog signals, refer to the Analog Dialogue guide on 4-20mA loop design.

Frequently Asked Questions

Is electrical power considered a signal?

No. While power uses the same physical properties (voltage and current), its purpose is energy transfer, not information transfer. A 120V AC mains line delivering 15 amps to a space heater is delivering power. However, if you intentionally modulate that 120V line to send a data packet to a smart plug (as seen in Powerline Communication or PLC networking), that modulation is the signal riding on top of the power.

Why do digital signals have 'rise times' if they are just 1s and 0s?

Because the physical universe is analog. A digital signal is just an analog voltage being forced to transition between two states. Parasitic capacitance in the PCB traces and the internal gate capacitance of the transistors mean the voltage cannot change instantaneously. As noted in the Espressif ESP-IDF hardware guidelines, ignoring rise times and signal integrity at high frequencies (like SPI buses running at 40MHz) will result in data corruption, even if your logic levels are theoretically correct.

Can a signal exist without a physical wire?

Yes. Electromagnetic waves (RF signals like Wi-Fi, Bluetooth, or LoRa) carry information through varying electric and magnetic fields in free space. The 'medium' is the electromagnetic spectrum, but the fundamental concept remains identical: a property of the wave (amplitude, frequency, or phase) is varied over time to encode data.