In this video I use the ESP32 to create a streaming http audio component.
The code to generate simple WAV files:
https://github.com/thaaraak/Wav-Test
The full audio pipeline http streaming code
https://github.com/thaaraak/ESP32-Streaming-Audio
Description of the WAV format
http://soundfile.sapp.org/doc/WaveFormat/
How to use the HTML5 Audio tag
https://flaviocopes.com/html-audio-tag/
The music
https://www.youtube.com/watch?v=bxqq7fXQd8Y&t=1410s
We Are Magnolia -The Living Will envy The Dead
https://soundcloud.com/wearemagonia/02-we-are-magonia-the-living
0:00 Intro
1:53 The WAV Audio Format
3:40 Simple code to generate WAV files
4:52 Playing the result with aplay
5:14 Seeing the waveform in audacity
6:32 Dynamically generating a WAV and streaming with ESP web server
9:05 Streaming output to the browser
10:29 The HTML Audio tag
12:36 Streaming server integrated with ESP-ADF
15:05 Streaming in action: Phone to ESP32 to Browser
16:42 Wrap up and what's next
...
https://www.youtube.com/watch?v=NWdemILPp3Y
This is the build for the optional enclosure for the Phaser kit.
A couple of notes:
- I forgot to mention putting on the 2 nylon spacers underneath the board you can see them at the right of the board at around 8:05
- I just realized you can use the two spare ribbon wires to attach the on/off switch to the board
...
https://www.youtube.com/watch?v=xfothUauACU
In this video I build up the amplifier portion of the circuit, hook it up to the QCX and test the power output.
...
https://www.youtube.com/watch?v=DBkeY792gSU
This is going to be a series of videos with me building this old school kit.
PCB from http://farcircuits.net
Document from http://www.arrl.org/files/file/Technology/tis/info/pdf/96hb1789.pdf
...
https://www.youtube.com/watch?v=94XyVl1kDBo
In this video I replace the IRF530s from the previous video
https://www.youtube.com/watch?v=GExwAZttFa8&t=946s
with some RD16HHF1s that I obtained from rfparts
https://www.rfparts.com/rd16hhf1-501.html
Here's the link I mentioned talking about RD16 quiescent current
https://ubitx.net/tag/rd16hhf1/
0:00 Intro
1:38 Input SWR Measurement
3:48 Amplification of CW input
5:06 Two tone test
...
https://www.youtube.com/watch?v=sbpz4d9_sf0
In this video I move on to the bandpass filter after the Tayloe Encoder as well as building up a little preamp to raise the signal up to that required by the Amplifier. I don't get to installing the amplifier and LPF in this video but I do some troubleshooting with a broken QRP Labs 10W amplifier
Preamp board
https://github.com/thaaraak/tayloe-preamp
BPF board
https://github.com/thaaraak/double-tuned-bpf
QRP-Labs 10W Amplifier
https://qrp-labs.com/linear.html
0:00 Intro
01:04 Bandpass Filter Schematic
02:07 BPF Board populated
03:23 BPF on the Spectrum Analyzer
04:06 BPF installed after the Tayloe Encoder on the oscilloscope with single tone
04:55 Comparison to signal without BPF
05:37 Comparison with two tone test
06:20 A view on the spectrum analyzer
08:27 The amplifier I will be using
09:21 Oh oh - I broke the amplifier! Some troubleshooting
11:05 IRF510s pulled from board
11:37 More blown components found
12:52 Amplifier back working again and testing the output on the scope
14:44 A quick look at the input impedance of the Amplifier using the minivna
15:50 Preamp schematic
16:36 Preamp board
17:09 Preamp board populated and testing out of circuit
18:24 Preamp installed after BPF and tested
21:39 Wrapup and next steps
...
https://www.youtube.com/watch?v=sKW8KIhZKHw
In this video I use the circuit developed in my earlier video
https://www.youtube.com/watch?v=efGYnsF4bDU
and create a PCB as well as some heat sinking for the BS170s
The LTSpice model is here:
https://github.com/thaaraak/ltspice
and the kicad schematic and PCB layout is here:
https://github.com/thaaraak/SSB-Amplifier-V2
Apologies for not being able to walk through the math on the second stage. Still looking for a good explanation for the collector feedback model. Also the result deviated significantly lower than the LTSpice model so I have some research to do!
Correction: Around 9:20 I say "22 ohm resistors" I meant to say 220 ohm
...
https://www.youtube.com/watch?v=YAmw60fxdxI
In this video I enhance the clock I started in this video https://www.youtube.com/watch?v=2hyc2fgf3Io&t=1022s with the following:
- Use the external low speed oscillator to improve accuracy
- Use the MAX7219 LED Driver IC
- Include the Time and TimeZone libraries
- Use the Beitian GPS receiver
My github repo for the code
https://github.com/thaaraak/GPS-Clock
The MAX7219 datasheet is here:
https://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf
The Beitian GPS receiver is available here (not affiliated)
https://www.banggood.com/Beitian-BS-280-232-GPS-Receiver-Module-1PPS-Timing-With-Flash-+-GPS-Antenna-p-1334706.html?akmClientCountry=America&cur_warehouse=CN
Here's a link to a simple RX/TX RS232 to TTL circuit
http://picprojects.org.uk/projects/simpleSIO/ssio.htm
Timezone and Timelib arduino libraries
https://github.com/JChristensen/Timezone
https://github.com/PaulStoffregen/Time
The LED/MAX7219 combo from Amazon
https://www.amazon.com/gp/product/B087B8WTRZ/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1
Please Note: There is a bug in the code currently parsing the GPS RMC message. I am using strtok to parse which doesn't work where there are duplicated delimiters. I'll post a fix shortly
Update: I added the "zstrtok" function from the zstring library to fix the above:
https://github.com/fnoyanisi/zString
Index
0:00 Intro
0:51 Using the Low Speed External Oscillator
1:49 Configuring the LSE in STMCube
4:54 The MAX7219 LED Driver
6:40 The MAX7219 Datasheet and capabilities (excuse focus)
8:05 Configuring SPI MAX7219
10:48 MAX7219 SPI write code
11:43 MAX7219 Operation Codes / Registers
13:31 MAX7219 In action
20:48 Using Timezone and TimeLib code
24:14 Local time displayed on the LED
25:18 Converting RS232 voltage levels from the Beitian 280 to 5V
29:55 RS232 signals from Beitian displayed on oscilloscope
30:58 Converted signals displayed on oscilloscope
31:54 Wrap up
...
https://www.youtube.com/watch?v=m8SF6exYkSs