
BLOG · 31/1/2026
| OP |

This project combines a portable DDS signal generator and a smartphone-based oscilloscope into a compact, pocket-friendly setup. It uses common hobby hardware while still providing practical signal generation and visualization up to tens of kilohertz.
The system is split into three functional blocks:
AD9833 DDS module
Arduino Nano (ATmega328P)
Raspberry Pi Pico (RP2040)
Rotary encoder with push button
Display
Android Phone
│ USB
▼
Raspberry Pi Pico ──── ADC ──── AD9833 OUT
│
└── VBUS (5V)
│
Arduino Nano
│
Encoder + Display
Sine and Triangle:
Square wave:
Distortion above this range is due to ADC and sampling limits, not the signal generator.
When the AD9833 output is disabled:
Fix: AD9833 OUT ── 100kΩ ── GND
This stabilizes the input and removes false readings.
Small discrepancies (for example LCD shows 1560 Hz, scope reads ~1600 Hz) are caused by:
Within 1–25 kHz, readings are sufficiently accurate for hobby use.
Android phone is safe
Pi Pico ADC must be protected from:
Avoid powering Nano and Pico from separate USB sources at the same time
Suitable for:
This project demonstrates a practical integration of low-cost hardware to create a compact signal lab. While limited by ADC sampling and voltage constraints, it performs reliably within its intended range and is well suited for learning and experimentation.
Need to work on noise minimisation and extend Vpeak range.