tag:blogger.com,1999:blog-7819684856383893520.post7118107042805618833..comments2023-06-05T04:38:27.414-07:00Comments on Charlie Morris, ZL2CTM: Si5351 DDS VFO/BFO Example SoftwareCharlie Morris, ZL2CTMhttp://www.blogger.com/profile/02642502413959463906noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-7819684856383893520.post-8598749448388199302021-02-17T19:10:02.338-08:002021-02-17T19:10:02.338-08:00Cheers Scott. Cheers Scott. Charlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-74651306748267872842021-02-17T19:08:44.155-08:002021-02-17T19:08:44.155-08:00really late but since this comes up on google some...really late but since this comes up on google sometimes: the Arduino's atmega328p has pull-up resistors built into to it that can be turned on for this. The 5135 library sets the MCU to use those internal pull-up resistors.Scott H KD9PDPnoreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-17334910215568257632020-11-10T07:05:11.075-08:002020-11-10T07:05:11.075-08:00No, I have never used those on the SDA/SCL lines A...No, I have never used those on the SDA/SCL lines Arnie.Charlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-31294631357730245742020-11-10T05:51:18.017-08:002020-11-10T05:51:18.017-08:00I have another question about your setup....Are ex...I have another question about your setup....Are external pull-up resistors required on the SDA and SCL lines of the Arduino?<br />Tnx de Arnie W8DUArnie Phttps://www.blogger.com/profile/08097948463508079494noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-32832805122670145242020-11-08T05:50:50.204-08:002020-11-08T05:50:50.204-08:00Thanks Charlie. I appreciate the quick reply. Alwa...Thanks Charlie. I appreciate the quick reply. Always more to learn!<br />And thanks for the effort you obviously put into this website!<br />73 de Arnie W8DUArnie Phttps://www.blogger.com/profile/08097948463508079494noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-3269838056520266562020-11-07T15:58:02.653-08:002020-11-07T15:58:02.653-08:00Hi Arnie. The ULL suffix makes the freq integer a ...Hi Arnie. The ULL suffix makes the freq integer a 'unsigned long long int'. In your case (assuming you are using the CL0 output) try:<br /><br />si5351.set_freq((freq * 4) * 100ULL, SI5351_CLK0);<br /><br />CharlieCharlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-712823308039827162020-11-07T06:16:37.656-08:002020-11-07T06:16:37.656-08:00I am kind of a newbie to arduino and have a questi... I am kind of a newbie to arduino and have a question. In line 57 of the code, you have a statement that includes the phrase "frequency * 100ULL" <br />My question is what ULL means? I want to use this project to control my 40m Phaser from midnightdesignsolutions.com, which uses a divide by 4 function to get the actual operating frequency. That being the case, would I just change the aforementioned phrase to be "frequency * 4" and leave out the ULL?<br />Thanks es 73 de Arnie W8DUArnie Phttps://www.blogger.com/profile/08097948463508079494noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-69526274864676990062020-05-22T01:10:02.875-07:002020-05-22T01:10:02.875-07:00I'm so pleased to hear that Keith. Fantastic. ...I'm so pleased to hear that Keith. Fantastic. Keep us posted on what you build. 73s Charlie, ZL2CTMCharlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-72430744758832172602020-05-21T23:51:02.996-07:002020-05-21T23:51:02.996-07:00Hi Charlie thanks for the great inspiration to get...Hi Charlie thanks for the great inspiration to get building again.. I've been a dormant ham for 17 years!! .. anyhow I used a different encoder library and it works fine. my LCD display is working and I have an optical rotary encoder .. just so you know even though the encoder is spec'd for 5-12 volts .. it runs at 3.3 fine..and smooth as butter .. and no detent.. .. I've purchased a teensy 4.0 and rev d audio board and will be full on in the next 2 weeks..as I cut over from arduino to teensy.. cheers..!.Keithhttps://www.blogger.com/profile/07205808328201562962noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-4355072094774362892020-05-01T12:22:25.310-07:002020-05-01T12:22:25.310-07:00Excellent. Glad to hear.Excellent. Glad to hear.Charlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-80173548748225902062020-05-01T04:16:28.171-07:002020-05-01T04:16:28.171-07:00Hi Charlie. It works great. Thank youHi Charlie. It works great. Thank youyb1ahyhttps://www.blogger.com/profile/07117019031674114512noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-84588500440579513612019-01-03T14:13:03.568-08:002019-01-03T14:13:03.568-08:00Gidday Jack. Yes, I have a mixture of Nanos and Pr...Gidday Jack. Yes, I have a mixture of Nanos and Pro Minis. For now I'm going to settle on the Nano. As for the BFO, it might pay to watch the YouTube video that explains why I set the BFO to what it is, noting that this is for a SSB rig (https://www.youtube.com/watch?v=tas0cHTS22E). For CW, I'd expect you would set it to be 700Hz off the centre freq for the narrow band CW filter.<br /><br />CharlieCharlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-23537073322353126252019-01-03T13:57:14.833-08:002019-01-03T13:57:14.833-08:00Thanks, I have some serial LCDs on the way here. ...Thanks, I have some serial LCDs on the way here. I assume you are using a Nano. your BFO is set for the center at 8003. Does that mean your IF is 8 mhz and you have a wide band filter. I will use my 40 meters RX for CW. Do I set the BFO for 9000.7 or so?<br /><br />I have a grandson and his wife right now cycling around Wellington. I think they are still there.JACKhttps://www.blogger.com/profile/14478707164053209580noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-28992587281146613202019-01-03T11:20:30.384-08:002019-01-03T11:20:30.384-08:00Hi Jack. It's up the top in the variable decla...Hi Jack. It's up the top in the variable declaration poertion. Look for: volatile uint32_t BFO_freq = 8003000;<br /><br />I suggest you don't use this script, but instead use the one in the blog for the MC1350 SSB rig (on this site). That is the current clean version I'm using here in the shack.<br /><br />CharlieCharlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-39135786491090417782019-01-03T11:09:31.242-08:002019-01-03T11:09:31.242-08:00Charlie, in the March, 2018 script for your VFO (...Charlie, in the March, 2018 script for your VFO (using the eitherkit library), I don't see any place to enter the IF frequency. I'm looking for simple DDS to use with a RX to begin with. Later I want to add TFT displays, RIT, whatever else I need for CW comm. Would this be a good script use as a learning tool?JACKhttps://www.blogger.com/profile/14478707164053209580noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-32069501622105804502018-12-21T16:08:39.143-08:002018-12-21T16:08:39.143-08:00Hi Nick. It should be correct. Push and rotate CW ...Hi Nick. It should be correct. Push and rotate CW moves the cursor to right, i.e., make smaller freq increments. CCW is the opposite.<br /><br />CharlieCharlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-91638763981350521322018-12-21T13:44:04.627-08:002018-12-21T13:44:04.627-08:00In both of these sections of code, your increment ...In both of these sections of code, your increment and decrement routines are backwards for the radix as in a CW rotation (with key press) is decrementing the radix rather than the more logical incrementing, the opposite is occurring for the CCW rotation (with key press.) The increment needs the multiply by 10 and the decrement needs the division by 10.Anonymoushttps://www.blogger.com/profile/07038115333293768050noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-40055162644892455632018-12-15T10:48:00.013-08:002018-12-15T10:48:00.013-08:00You should look at the si5351mcu library. It'...You should look at the si5351mcu library. It's smaller than the one from J. Mildrum, and doesn't have issues with clicks when you tune. Only disadvantage is that you can only use 2 or the 3 outputs at a given time (because the library must tune the PLL as well as the multi-sync).WA2MZEhttps://www.blogger.com/profile/09367252803591338065noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-14602864724534650302018-04-13T12:47:16.213-07:002018-04-13T12:47:16.213-07:00Thanks Russel. I'm using the Si5351 from Jason...Thanks Russel. I'm using the Si5351 from Jason Mildrum. I did note that his library calls are different from some of the others, which makes sense. Looks like we have different LCD libraries too.<br /><br />Thanks again.<br /><br />CharlieCharlie Morris, ZL2CTMhttps://www.blogger.com/profile/02642502413959463906noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-28595640854852344622018-04-11T21:30:09.155-07:002018-04-11T21:30:09.155-07:00lcd.init() instead of lcd.begin()
si5351.init(SI5...lcd.init() instead of lcd.begin()<br /><br />si5351.init(SI5351_CRYSTAL_LOAD_8PF,0,0) - note the extra comma and zeroRussellhttps://www.blogger.com/profile/04568355987639945022noreply@blogger.comtag:blogger.com,1999:blog-7819684856383893520.post-13502344101963802512018-04-07T04:39:12.730-07:002018-04-07T04:39:12.730-07:00Hi Charlie
I tried this Ardunio sketch it come up ...Hi Charlie<br />I tried this Ardunio sketch it come up with errors ,<br />lcd.begin();<br /> // Initialize the DDS<br /> si5351.init(SI5351_CRYSTAL_LOAD_8PF, 0);<br />i am using Ardunio 1.8.5 version<br />??<br />email us Charlie<br /><br />73's<br />Dave<br />Anonymoushttps://www.blogger.com/profile/15337959362226494723noreply@blogger.com