Wow, quick progress! Thanks for the detailed explanation and with the algebra which was never my strong point at school...and that was 50years ago!
@CharlieMorrisZL2CTM3 жыл бұрын
Glad it was helpful!
@mariaviklund45466 ай бұрын
Wow, this is amazing. As someone previously said, this is something i have been looking for. Awesome job Sir.
@CharlieMorrisZL2CTM6 ай бұрын
Excellent. I'm really pleased it was useful.
@genericdynamics66183 жыл бұрын
This is basically what i have been looking for months. Thank god i subscribed to the channel a while ago so this could pop up in my subs section! 😂
@CharlieMorrisZL2CTM3 жыл бұрын
Excellent. I'm pleased it was useful Ivan.
@curtstacy7793 жыл бұрын
Looking good Charlie, Thank you for the extra math explanation. I can always use that. I have received my first HF signals with my DC receiver over the last few weeks on 80, 40, and 20 meters. it feels good, I'm coming up to speed :) of course not without a couple of bugs but I'll get those ironed out. I can't thank you enough for all your help, it would have taken ages to get this far on my own.
@CharlieMorrisZL2CTM3 жыл бұрын
That's great news Curt. Well done indeed!
@khalidtarawneh22893 жыл бұрын
Can't thank you enough for all the detail and info cheers
@CharlieMorrisZL2CTM3 жыл бұрын
My pleasure Khalid.
@khalidtarawneh22893 жыл бұрын
@@CharlieMorrisZL2CTM Built the VFO and all seems going well, except that when pin 5 is grounded i get a Continuous flicker between USB/LSB and TX/RX, Do you think adding some resistance with the toggle switch might help ? I will be building this as a receiver only hence I'm only using Arduino regular power without the 13.8v source and Voltage divider Cheers n 73's
@diddleize3 жыл бұрын
To protect the Arduino from over voltage on 13.8V line, suggest to have resistive TX divider to output 3-4V not 5V... 3-4V is well above the HIGH threshold of the digital inputs
@CharlieMorrisZL2CTM3 жыл бұрын
Hi Antony. I had thought of that, but dismissed it as the VCC line will have a voltage regulator. I might look to redesign it for-say-4 VDC
@rontaylor90263 жыл бұрын
Thanks Charlie. That fixed that. Now I have an issue that the display is only showing the leading digit of each part of the display. So I have the “3” of the frequency, the “1” of the 1000 and the “H” of the Hz. Same is true on the bottom line. Only have U, R and Z showing. They are all where they should be and they change with appropriate inputs on mode, PTT, Radix etc. This is happening on two different displays. I loaded a test sketch for the display and it works fine with that sketch. I am seeing the appropriate frequencies coming out of the Si5351. Thoughts? Thanks Ron
@CharlieMorrisZL2CTM3 жыл бұрын
Hi Ron. I have never seen that before. All I can suggest is copy the syntax from the example sketch into the VFO sketch. Other than that, I haven't a clue sorry. Charlie
@fredriko.zachrisson97113 жыл бұрын
4:31 Math on the Voltage divider 8:11 Code
@louisbanaszak31253 жыл бұрын
if you are having difficulty with line lcd.begin(); change to lcd,init(); g0psz
@AmateursRadioYi1hxh2 жыл бұрын
Nice video
@edbeckerich37372 жыл бұрын
On your sig gen you set it up for 1.4 volts, was that measured to 50 ohms? Does the SI5351 put out at least 1.4v into 50 ohms? Or does anyone really send 7dbm to thier mixers??
@Superfungus03 жыл бұрын
Why not calibrate using your oscilloscope? I'm thinking either use two channels or feed the external timebase of your scope with your sig-gen (presuming you trust the sig-gen timebase over the 'scopes).
@CharlieMorrisZL2CTM3 жыл бұрын
I have used the oscilloscope in the past using the X-Y mode. The freq counter does not do low enough, and I find the beat freq method works for me.
@robertcullipher34923 жыл бұрын
I would also continue that some don’t have oscilloscopes or signal generators. An alternative is using a receiver near a time signal (WWV 10 MHz for example). This gives the possibility of doing a zero beat without having pricey equipment, and the only error would come from trusting the stability of the time signal near your country.
@Superfungus03 жыл бұрын
@@CharlieMorrisZL2CTM I see, thanks for the clarification. I was wondering if there was some special advantage to this beat frequency method I wasn't considering, but if it's just your preferred method because you like it that's certainly valid too! Really enjoying the project-log nature of your channel by the way, keep it up!
@stephenfine86713 жыл бұрын
Do you know if the sketck will work with a cheap 'clicky' three pin encoder. Thanks
@aneespi46843 жыл бұрын
Charlie, I have a doubt.Are you using BFO signal from si5351? If so I hope it is using for LSB and USB with IF shift programmed . Good video
@CharlieMorrisZL2CTM3 жыл бұрын
Hi Anees, Yes, I normally program the BFO shift into the code (see my other rigs). On this occasion I decided to be different and make it manual.
@fredriko.zachrisson97113 жыл бұрын
What is that rotary encoder wheel you are using?
@WhatDennisDoes3 жыл бұрын
Just found your channel and I'm really loving your methodology and practical approach! I'm starting on my first transceiver now. Question: I read that the Siglent has a "high precision frequency counter" built in. Could you have used that?
@CharlieMorrisZL2CTM3 жыл бұрын
Thanks. From what I can see the freq counter goes down to 10s Hz, whereas I need 1s Hz.
@ambroribo60793 жыл бұрын
VERY GOOD video Charlie ! Congratulations. I am not familiary with those you tube video: I would like to ask HOW TO download the code for the Arduino please ? Have you already available any schematics diagram and part list for the receiver ? I am very interested. Thanks for all.
@CharlieMorrisZL2CTM3 жыл бұрын
Hi Ambro. Everything shown on the video is available on the blog at: zl2ctm.blogspot.com/
@RICKY_TECNO_RADIO2 жыл бұрын
Excelent! L7805 regulator is more simple! Wright?
@stephaneshm30433 жыл бұрын
hello, thanks for your video, where can i found the code ? i want to try your project, i am a new HAm radio ( F4IRX ) , thanks again.
@CharlieMorrisZL2CTM3 жыл бұрын
Hi Stephane. Everything goes up on the blog at: zl2ctm.blogspot.com/
@brianharper97983 жыл бұрын
For calibration of the si5351 I have an old I think Neo6 gps module I can set the output to 1Mhz, on the new ones you can set them to 10Mhz. I changed the Si code to 1Mhz and lock the top trace of my scope to that. And when the 2nd trace connected to the Si module stops moving using the calibration code I know I'm good to go.
@CharlieMorrisZL2CTM3 жыл бұрын
That's good to know thanks Brian, I'll remember that. I have found this sig gen to be very good and certainly accurate enough for my needs here. If I didn't have that then the GPS method would be an excellent option.
@docfoot3163 жыл бұрын
New years greetings Charlie ,well explained great job helps alot and like wise maths wasn't my strong point at school ,brought up with old math's arithmetic then second year at high school new math's was introduced ,confused me hi hi. Many thanks for sharing.
@CharlieMorrisZL2CTM3 жыл бұрын
Happy New Year too Dave. Thanks for the feedback. I personally want to try and understand the underlying logic/math. It certainly helps me.
@RA4FOC3 жыл бұрын
good project. Can you give a direct link to the synthesizer schematic?
@MiscDotGeek3 жыл бұрын
I really appreciate this video. I am going to be rebuilding the crystal filter on my bitx40 and putting on a different frequency and so I'm very curious as to how you decide which frequencies to use for your bfo. I was going to use a sketch that would allow me to tune the bfo separately from the vfo so that I could decide which frequencies to use for the upper and lower sideband and then hardcode those in. But I am really curious how you're going to do it!
@CharlieMorrisZL2CTM3 жыл бұрын
That's a great approach which I use often. Start with something close to (Bandwidth/2) + 300 Hz, then tweak it from there.
@HeathLedgersChemist3 жыл бұрын
I'm confused by what you mean when you say 'tin Megahertz'.
@missangas2 жыл бұрын
Dear Charlie I tried to use your code but gave me lots of errors due to the fact I guess its not an updated coding do you have an updated code I can use to do this project ? I cant code at all... Thanks for your attention Big Hugs Jose CT2KFQ
@mars6673 жыл бұрын
Hi Charlie. Excellent videos as always, thank you. Could add any comments about the effectiveness of the rotary encoder in this and other rigs that you have built? I see that your code for "decoding" the encoder is very simple and doesn't include other more complex things seen in other rigs like interrupts, quadrature state machines, debouncing, etc. But yet it appears to be very smooth. Do you attribute that to the high-quality encoder that you are using? Or are there other tricks? I have built several rigs using commodity encoders (very similar to the cheap one you showed in part I) and I never get a really smooth response. My tuning sometimes goes the wrong direction (backlash?) for a click or two during tuning, or steps unevenly. It's still usable, but not great. I'm sure it's a software thing. I'd be interested in any hints you can share. 73s and thanks!!
@CharlieMorrisZL2CTM3 жыл бұрын
Hi. You are experiencing exactly the same as I had when I first started using rotary encoders. In the end I settled on the code that features in all of the radio up until this one (check out zl2ctm.blogspot.com/). That code has been rock solid for me - nice and smooth, no jumps etc. I suggest you give that a go as I think that will solve your problems. The advantage too is that it is not a library. In this radio I am using a rotary encoder and associated code that was very generously given to me. That code sits in the main loop and not in an interrupt called function. Given that the demands on the microprocessor (Arduino) are minimal, I have elected to leave it there for now. I might look to move that to an interrupt called function as a separate effort. I hope this helps. Charlie
@nevmarr3 жыл бұрын
@@CharlieMorrisZL2CTM Charlie, a comment from my school of fun & games with optical encoders ... when I went from the pooling method to the interrupt method the speed/responsiveness increased massively. On my setup the step size is 100Hz and I can tune all of 80 in a matter of moments. Have a go and you may find the same. I use the STM32 series which are a bit faster than the Nano. Cheers.
@mars6673 жыл бұрын
@@CharlieMorrisZL2CTM Thanks much Charlie, I'll give that one a look.
@M0XFXUK3 жыл бұрын
Hi Charlie The Si5351 looks a really interesting device. I am in the middle of modifying an old 1980s multimode CB to 1.5MHz to 500Mhz coverage using the Analog Devices AD831 active mixer and the AD9910 as a DDS VFO controlled by Arduino. I am thinking of using the Si5351 to replace the SSB carrier oscillator I would be interested in your thoughts and how it performs at around 10MHz? BTW I really enjoy your videos Best Regards M0XFX
@CharlieMorrisZL2CTM3 жыл бұрын
Hi John. I have had not problems using the Si5351 at around 20MHz for high side injection. That was using a simple DBM. I would have thought you'd be fine. They are certainly cheap enough to just give it a go.
@newmonengineering3 жыл бұрын
Definitely a cool build!!
@CharlieMorrisZL2CTM3 жыл бұрын
Thanks for that. The aim is for simplicity, hopefully.
@colincolin303 жыл бұрын
Hi Charlie, I noticed something a bit different on this build compared to other projects you have built. What is the reasoning for having the (2) 470 ohm and (2) .01 uf caps on the encoder? I have managed to get the "sketch" to compile, it might seem a little thing to you, but believe its a major achievement for me getting it to compile. Still in a steep learning curve when comes to Arduino sketches. About to power up the VFO for the first time. 73 vk2jcc
@CharlieMorrisZL2CTM3 жыл бұрын
Hi Colin. I was very kindly given some rotary encoders, which require the 470 ohm resistors. Great news about the VFO. I know compiling can be difficult, especially if any of the libraries are different. Keep it up!
@Chris-ZL3 жыл бұрын
you make it look so easy!
@CharlieMorrisZL2CTM3 жыл бұрын
Not sure about that Chris. I just wish I could remember all that I have read!
@ernestb.2377 Жыл бұрын
Maybe an easier way (suggestion) on the math regarding the voltage divider. Let: R2=4k7 --> I=5V/4k7=1.064mA. R1=(13.8V-5V)/1.064mA= ~8k3.
@nodzie13 жыл бұрын
Hi Charlie, what is the actual model arduino / chipset etc that you are using here? Cheers Chris VK3TUB
@CharlieMorrisZL2CTM3 жыл бұрын
Hi Chris. The original was a stock standard Uno with a Mega 328P and the second a Arduino Mega board. The display was a simple 16x2 with an I2C interface. Nothing special.
@rontaylor90263 жыл бұрын
Hi Charlie, I really appreciate all your good work here and your willingness to share it. I'm trying to duplicate the VFO in the Simple SSB rig. The firmware won't compile and returns "no matching function for call to 'LiquidCrystal_I2::begin()'. According to the literature I might have the wrong library chosen. Can you tell me what library you used for the LCD and/or if there is some other issue here? Thanks.. Ron
@CharlieMorrisZL2CTM3 жыл бұрын
Hi Ron. Libraries are always a problems. I've taken a look at mine as there is no way to tell where it came from. What I suggest you do is open the example sketch that comes with your library and simply copy across the syntax into the VFO sketch. I do that all the time when I have problems here.
@rontaylor90263 жыл бұрын
Thanks Charlie. That fixed that. Now I have an issue that the display is only showing the leading digit of each part of the display. So I have the “3” of the frequency, the “1” of the 1000 and the “H” of the Hz. Same is true on the bottom line. Only have U, R and Z showing. They are all where they should be and they change with appropriate inputs on mode, PTT, Radix etc. This is happening on two different displays. Also seeing the appropriate frequencies coming out of the Si5351. Thoughts? Thanks Ron
@R2AUK3 жыл бұрын
Thanks for the video! What kind of encoder is that (seems to be an optical one) and can such a knob be bought somewhere? 73s de R2AUK
@R2AUK3 жыл бұрын
Opps, it was in the Part 1 which I missed. Sorry for this.
@CharlieMorrisZL2CTM3 жыл бұрын
All good. I suspect it is an optical one. Very smooth with no indents. As for the knob, it's off an old rig.
@diddleize3 жыл бұрын
2nd comment. Have to adjust band limits depending on LSB or USB. Ty cannot TX USB at 3.9MHz or you are out of band... (assuming 3.9 is your local upper limit)
@CharlieMorrisZL2CTM3 жыл бұрын
Hi again. In the past I have had the L/USB auto select in software depending on the band in use. In this particular case I have given the operator a choice.
@dadangsudrajat94062 жыл бұрын
How to use Callibration IF...? Thank you from YG1AQH. From West Java Indonesia...
@daviddickey98323 жыл бұрын
Such good info! Thanks so much!
@CharlieMorrisZL2CTM3 жыл бұрын
You are so welcome David. Really pleased it was useful.
@joewoodchuck38243 жыл бұрын
Nice project. I suppose I should learn something about arduino. I'm all in for analog circuits, but never explored the digital world very much.
@CharlieMorrisZL2CTM3 жыл бұрын
Give it a go Joe. It won't cost you much.
@joewoodchuck38243 жыл бұрын
@@CharlieMorrisZL2CTM I don't even know where to begin, but I should start by reading I guess. I tried my hand at simple programming a few times but I was baffled each time.
@rudysr3 жыл бұрын
Thanks for your excellent project. I can't compile the code, it gives me an error. // Initialize the display lcd.begin(); In function 'void setup()': error: no matching function for call to 'LiquidCrystal_I2C::begin()' lcd.begin(); \Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t) void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS ); \Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided exit status 1 no matching function for call to 'LiquidCrystal_I2C::begin()' Forgive my inexperience in programming, Thanks for your project
@CharlieMorrisZL2CTM3 жыл бұрын
Rudy. Look at the example code that comes with your LCD library and port over the syntax.
@rudysr3 жыл бұрын
@@CharlieMorrisZL2CTM thank you very much friend. I have already managed to activate it. Thanks for your time and for sharing your projects. My congratulations, we continue to communicate. 73
@luizhenriquemialchi4353 жыл бұрын
Whitis is the steck code for download ?
@CharlieMorrisZL2CTM3 жыл бұрын
Check out: zl2ctm.blogspot.com/
@luizhenriquemialchi4353 жыл бұрын
@@CharlieMorrisZL2CTM Very good!! Tank you very much!!!!
@bfx81853 жыл бұрын
Let's build preamp for your computer microphone ;)
@CharlieMorrisZL2CTM3 жыл бұрын
It works fine, except for the Xbox recording software. A real pain.
@bfx81853 жыл бұрын
@@CharlieMorrisZL2CTM Try to increase sensitivity in the audio settings.