The Esp32 Signal Generator
Esp32 Based Analog/Digital Signal Generator
This is a small yet highly versatile signal generator and measurement device.
Powered by a standard Micro USB power source. Mostly digital but some limited analog out.
The idea of this unit is to supply extremely common digital signals and since there is a DAC on the board a few modest speed analog type signals are also supplied at fixed output levels.
Esp-32 board by Mark-Toys
is the brain and is behind the display in this picture.
There is a 1.3" OLED display for easy user feedback and a set of controls to allow setting of the main mode for the signal and then parameters that apply for that mode such as frequency or period/duty cycle.
The signal generator can operate in 3 analog waveform modes as well as quite a few common digital signal modes that I have found valuable to generate in the past, some of which are not at all common on signal generators.
SIGNAL GENERATION MODES AVAILABLE
- Analog Sine, Triangle, Sawtooth and Square of 1hz to 3khz centered on 1.5 volts.
- Digital 50% duty cycle Square Wave of variable frequency from about 75hz to 3khz
- Digital variable duty cycle pulse train of variable freq and duty cycle
- A PWM signal for Servo motor checkout or positioning. Typ 65hz 3-45% duty
- A One-Shot mode triggered by button for 5us to 6msec pulses. Will auto-repeat
- A Quadrature A,B set of square wave signals with variable frequency
- A Three phase quadrature signal used to simulate 3-phase wheel encoder signal
SIGNAL MEASUREMENT MODES AVAILABLE
- Digital Pulse Counter that is reset using pushbutton switch
- Digital Frequency Counter measures pulses per second
Controls (These Vary By Mode In use)
- Wave Type: A potentiometer used to select which type of waveform to be generated.
- Frequency or sometimes duty cycle of the output waveform in use.
Frequency is the playback rate for Analog signals.
This doubles as Pulse Width Or duty cycle for One-Shot or PWM servo mode.
- Duty: Some modes like Pulse Train need freq as well as duty cycle so this is extra control
- Trigger: A button to trigger one shot
- Wave Phase: This inverts phase for many digital signals and reverses wave for analog
- Hold: This holds the current setup and runs clean signal. (if not small signal disruptions)
The Mark-Toys Esp32 Dev board is used for this device and the code is done using Arduino because this board from Mark-Toys is compatible with the Arduino IDE programming.
Mark-World - Tech Projects To Amuse The Curious
Esp32 Signal Gen