Week06 | Electronics Design

Members of Group

  • Dinesh Sah
  • Mohammadreza Omidali
  • Semen Zakharov

Overview

During this week’s group assignment, we conducted two experimental tests to analyze digital signal behavior generated by a microcontroller and measured using a mixed-signal oscilloscope.

The experiments focused on:

  1. Pulse Width Modulation (PWM) signal generation and waveform analysis
  2. Serial data transmission (UART) and observation of transmitted data at the physical layer

1. Pulse Width Modulation (PWM)

For this experiment, we used a custom-designed development board based on the ESP32-C3 microcontroller.

The PWM output was configured using an example sketch (Neopixel Xiao) in the Arduino IDE and modified to generate PWM on Pin 0.

An LED was connected in series with a 50Ω current-limiting resistor to visually observe brightness changes corresponding to different duty cycles.

Principle of PWM

PWM controls brightness by rapidly switching a digital signal between HIGH and LOW states.

Although the LED turns fully ON and OFF digitally, the human eye perceives the average power delivered:

  • 100% duty cycle: LED appears fully bright
  • 50% duty cycle: LED appears half as bright
  • Low duty cycle: LED appears dim

PWM Setup and Measurements

PWM Setup

Arduino Code

PWM Waveform – Analog

PWM Waveform – Digital

We measured the PWM signal using:

  • Analog probe (yellow trace): Reveals voltage amplitude, rise time, fall time, and noise.
  • Digital probe (white trace): Displays simplified logic levels (HIGH/LOW).

The analog waveform shows real electrical characteristics such as finite rise/fall time and signal noise.
The digital representation simplifies the waveform into symbolic binary states (0 and 1).

This comparison clearly demonstrates the difference between physical signal behavior and logical abstraction.


2. Serial Data Transmission (UART)

In the second experiment, we tested serial communication using:

Serial.write();

UART (Universal Asynchronous Receiver Transmitter) communication
was used to send data to a NeoPixel LED strip.

We tested:

  • Turning on the first LED
  • Controlling the last LED in the chain

UART transmits data sequentially:

  • Start bit
  • Data bits (LSB to MSB)
  • Stop bit

This framing structure was clearly observable in the oscilloscope capture,
where individual bit transitions could be identified.

UART Signal Observation and Measurement

To analyze the physical-layer behavior of serial communication, we connected the TX output of the ESP32-C3 microcontroller to the mixed-signal oscilloscope.

UART Waveform

The oscilloscope capture above shows the UART transmission waveform.
The signal clearly exhibits the standard UART framing structure:

  • Idle state (HIGH level)
  • Start bit (LOW transition)
  • 8 data bits transmitted LSB first
  • Stop bit (return to HIGH level)

The measured signal levels were approximately:

  • Logic HIGH ≈ 3.3 V
  • Logic LOW ≈ 0 V

The time scale on the oscilloscope allowed us to verify the bit duration, which corresponds directly to the configured baud rate in the Arduino IDE. Each bit period remains constant, confirming correct asynchronous timing behavior.

This measurement demonstrates how abstract serial data (e.g., characters or bytes) is physically represented as timed voltage transitions on a single communication line.


Experimental Setup

Full Setup

The complete measurement setup consisted of:

  • ESP32-C3 development board
  • NeoPixel LED strip
  • Mixed-signal oscilloscope (Tektronix MSO series)
  • Analog probe connected to TX pin
  • USB connection to laptop for programming and power supply

The oscilloscope was configured to:

  • Trigger on the falling edge (start bit)
  • Capture both voltage level and timing characteristics
  • Display waveform in time-domain mode

This setup allowed us to correlate:

Software command → Serial.write()
Logical data → Binary framing
Physical layer → Measured voltage waveform


Demonstration Video

The following video demonstrates the full experimental setup, including PWM control and UART transmission measurement:

The video shows:

  • Real-time waveform capture
  • LED behavior corresponding to transmitted data
  • Triggered UART packet visualization on the oscilloscope

Technical Reflection

By observing UART communication at the physical layer, we gained a deeper understanding of how digital communication protocols operate electrically.

Although serial communication is typically treated as a high-level software function, this experiment clearly demonstrates that:

  • Digital data is represented as timed voltage pulses.
  • Bit duration determines baud rate.
  • Signal integrity (rise/fall time, noise) can influence communication reliability.
  • Oscilloscope measurements allow verification of protocol correctness.

This hands-on observation bridges the gap between embedded software abstraction and real-world electrical behavior.


Reflection

This experiment allowed us to clearly visualize how digital signals behave
in real hardware environments. Observing PWM duty cycle variation on the oscilloscope
helped us understand signal timing, switching frequency, and voltage characteristics.

The UART experiment demonstrated how serial communication encodes information
bit-by-bit and how physical-layer signal measurements correspond directly
to logical data transmission.

Using both analog and digital probes provided complementary perspectives:
analog captures real electrical behavior, while digital simplifies interpretation.


Fab Academy 2026 | Electronics Design – Group Assignment