¿ªÔÆÌåÓý

CW Key/Keyer/paddle idea


Jack Purdum
 

All:

The way Ashhar is using a single ?C I/O line to key the ?BITX is pretty clever, but some people are having issues with different keys/keyers/paddles. I think the main reason he used a voltage divider for key sensing is because he was running out of I/O pins on the Nano. Looking at the code, the LCD display uses the standard LiquidCrystal library, which eats up 6 I/O pins. I know Allard has Rel. 2.0 of the software going, but I'm wondering if A4 and A5 could be moved and the I2C interface used for the LCD display. That would free up enough lines for the keyer to dedicate a dit and dah pin for each. Quite honestly, I have not looked at Allard's code yet (too many alligators), so I'm just tossing this out there for discussion.

Jack, W8TEE


 

¿ªÔÆÌåÓý

Probably the LCD isn¡¯t i2c capable. There are with i2c, or use a cheap available converter.

?

Ron ¨C PA3FAT

?

Van: [email protected] [mailto:[email protected]] Namens Jack Purdum via Groups.Io
Verzonden: 21 December, 2017 17:31
Aan: [email protected]
Onderwerp: [BITX20] CW Key/Keyer/paddle idea

?

All:

The way Ashhar is using a single ?C I/O line to key the ?BITX is pretty clever, but some people are having issues with different keys/keyers/paddles. I think the main reason he used a voltage divider for key sensing is because he was running out of I/O pins on the Nano. Looking at the code, the LCD display uses the standard LiquidCrystal library, which eats up 6 I/O pins. I know Allard has Rel. 2.0 of the software going, but I'm wondering if A4 and A5 could be moved and the I2C interface used for the LCD display. That would free up enough lines for the keyer to dedicate a dit and dah pin for each. Quite honestly, I have not looked at Allard's code yet (too many alligators), so I'm just tossing this out there for discussion.

Jack, W8TEE


Vince Vielhaber
 

I bought a 4x20 display that's I2C and was really surprised that what they
used to convert the parallel to I2C was a PCF8574, an 8 bit i/o expander.
I use the PCF8575, the 16 bit version, when I need more DIO pins.

Vince.

Probably the LCD isn?€?t i2c capable. There are with i2c, or use a cheap
available converter.

Ron ?€¡° PA3FAT

Van: [email protected] [mailto:[email protected]] Namens Jack Purdum via
Groups.Io
Verzonden: 21 December, 2017 17:31
Aan: [email protected]
Onderwerp: [BITX20] CW Key/Keyer/paddle idea

All:

The way Ashhar is using a single ??C I/O line to key the ??BITX is pretty
clever, but some people are having issues with different
keys/keyers/paddles. I think the main reason he used a voltage divider for
key sensing is because he was running out of I/O pins on the Nano. Looking
at the code, the LCD display uses the standard LiquidCrystal library,
which eats up 6 I/O pins. I know Allard has Rel. 2.0 of the software
going, but I'm wondering if A4 and A5 could be moved and the I2C interface
used for the LCD display. That would free up enough lines for the keyer to
dedicate a dit and dah pin for each. Quite honestly, I have not looked at
Allard's code yet (too many alligators), so I'm just tossing this out
there for discussion.

Jack, W8TEE

--
Michigan VHF Corp.


 

Jack's idea is good, we need more pins (if not for a keyer, then for something else)
and driving the display from the same i2c pins as the Si5351 is using should work great.

Except that the Si5351 is a 3.3v device with 3.3v pullups on those i2c lines.
Most of the Arduino world is stuck in a 20 year time warp at 5v.
So this could get messy.

Best solution might be to buy a new display that operates only from 3.3v,?
and includes the i2c adapter.
And a 3.3v regulator, since I doubt the USB chip on the Nano can give us much more
current on the 3.3v rail.

Alternately, create a new Raduino running the ATMega328p (or Teensy, etc) at 3.3v.
That's perhaps the best long term solution.

Might be some hash in the Si5351 clocks when updating the LCD that needs to be cleaned up.

The current sketch only drives data and clock from Nano to Si5351, this works great.
Si5351 register reads also work, since the Nano's input cell has a minimum high
of something below 3v, though this likely wouldn't work well at an i2c speed of 400khz.
?
Jerry, KE7ER


On Thu, Dec 21, 2017 at 08:55 am, ron van doremalen (PA3FAT) wrote:

Probably the LCD isn¡¯t i2c capable. There are with i2c, or use a cheap available converter.

?


Vince Vielhaber
 

PCF8575 happily works from 2.5-5.5 volts so it can co-exist with the
Si5351 at 3.3 without issue.

Vince.

Jack's idea is good, we need more pins (if not for a keyer, then for
something else)
and driving the display from the same i2c pins as the Si5351 is using
should work great.

Except that the Si5351 is a 3.3v device with 3.3v pullups on those i2c
lines.
Most of the Arduino world is stuck in a 20 year time warp at 5v.
So this could get messy.

Best solution might be to buy a new display that operates only from
3.3v,??
and includes the i2c adapter.
And a 3.3v regulator, since I doubt the USB chip on the Nano can give us
much more
current on the 3.3v rail.

Alternately, create a new Raduino running the ATMega328p (or Teensy, etc)
at 3.3v.
That's perhaps the best long term solution.

Might be some hash in the Si5351 clocks when updating the LCD that needs
to be cleaned up.

The current sketch only drives data and clock from Nano to Si5351, this
works great.
Si5351 register reads also work, since the Nano's input cell has a minimum
high
of something below 3v, though this likely wouldn't work well at an i2c
speed of 400khz.
??
Jerry, KE7ER

On Thu, Dec 21, 2017 at 08:55 am, ron van doremalen (PA3FAT) wrote:




Probably the LCD isn?€?t i2c capable. There are with i2c, or use a cheap
available converter.



??

--
Michigan VHF Corp.


Jack Purdum
 

They're not too expensive and work quite well. See ebay #201042782490

Jack, W8TEE



From: ron van doremalen (PA3FAT) <ronvandoremalen@...>
To: [email protected]
Sent: Thursday, December 21, 2017 11:55 AM
Subject: Re: [BITX20] CW Key/Keyer/paddle idea

Probably the LCD isn¡¯t i2c capable. There are with i2c, or use a cheap available converter.
?
Ron ¨C PA3FAT
?
Van: [email protected] [mailto:[email protected]] Namens Jack Purdum via Groups.Io
Verzonden: 21 December, 2017 17:31
Aan: [email protected]
Onderwerp: [BITX20] CW Key/Keyer/paddle idea
?
All:

The way Ashhar is using a single ?C I/O line to key the ?BITX is pretty clever, but some people are having issues with different keys/keyers/paddles. I think the main reason he used a voltage divider for key sensing is because he was running out of I/O pins on the Nano. Looking at the code, the LCD display uses the standard LiquidCrystal library, which eats up 6 I/O pins. I know Allard has Rel. 2.0 of the software going, but I'm wondering if A4 and A5 could be moved and the I2C interface used for the LCD display. That would free up enough lines for the keyer to dedicate a dit and dah pin for each. Quite honestly, I have not looked at Allard's code yet (too many alligators), so I'm just tossing this out there for discussion.

Jack, W8TEE



Rod Self
 

¿ªÔÆÌåÓý

Please be aware that those I2C adapters pull the I2C lines up to +5. If you have 3.3v I2C devices in the system, like SI570, and others, then the +5 I2C exceeds their specs.

See my earlier post on the subject.

Rod KM6SN


On 12/21/2017 11:18 AM, Jack Purdum via Groups.Io wrote:

They're not too expensive and work quite well. See ebay #201042782490

Jack, W8TEE



From: ron van doremalen (PA3FAT) <ronvandoremalen@...>
To: [email protected]
Sent: Thursday, December 21, 2017 11:55 AM
Subject: Re: [BITX20] CW Key/Keyer/paddle idea

Probably the LCD isn¡¯t i2c capable. There are with i2c, or use a cheap available converter.
?
Ron ¨C PA3FAT
?
Van: [email protected] [mailto:[email protected]] Namens Jack Purdum via Groups.Io
Verzonden: 21 December, 2017 17:31
Aan: [email protected]
Onderwerp: [BITX20] CW Key/Keyer/paddle idea
?
All:

The way Ashhar is using a single ?C I/O line to key the ?BITX is pretty clever, but some people are having issues with different keys/keyers/paddles. I think the main reason he used a voltage divider for key sensing is because he was running out of I/O pins on the Nano. Looking at the code, the LCD display uses the standard LiquidCrystal library, which eats up 6 I/O pins. I know Allard has Rel. 2.0 of the software going, but I'm wondering if A4 and A5 could be moved and the I2C interface used for the LCD display. That would free up enough lines for the keyer to dedicate a dit and dah pin for each. Quite honestly, I have not looked at Allard's code yet (too many alligators), so I'm just tossing this out there for discussion.

Jack, W8TEE




Jack Purdum
 

Well, the Nano takes 5V so that has to be floating around somewhere and most LCD's are 5V devices. (Many TFT are 3.3V.)

Jack, W8TEE



From: Rod Self <km6sn@...>
To: [email protected]
Sent: Thursday, December 21, 2017 2:39 PM
Subject: Re: [BITX20] CW Key/Keyer/paddle idea

Please be aware that those I2C adapters pull the I2C lines up to +5. If you have 3.3v I2C devices in the system, like SI570, and others, then the +5 I2C exceeds their specs.
See my earlier post on the subject.
Rod KM6SN

On 12/21/2017 11:18 AM, Jack Purdum via Groups.Io wrote:
They're not too expensive and work quite well. See ebay #201042782490

Jack, W8TEE



From: ron van doremalen (PA3FAT) <ronvandoremalen@...>
To: [email protected]
Sent: Thursday, December 21, 2017 11:55 AM
Subject: Re: [BITX20] CW Key/Keyer/paddle idea

Probably the LCD isn¡¯t i2c capable. There are with i2c, or use a cheap available converter.
?
Ron ¨C PA3FAT
?
Van: [email protected] [mailto:[email protected]] Namens Jack Purdum via Groups.Io
Verzonden: 21 December, 2017 17:31
Aan: [email protected]
Onderwerp: [BITX20] CW Key/Keyer/paddle idea
?
All:

The way Ashhar is using a single ?C I/O line to key the ?BITX is pretty clever, but some people are having issues with different keys/keyers/paddles. I think the main reason he used a voltage divider for key sensing is because he was running out of I/O pins on the Nano. Looking at the code, the LCD display uses the standard LiquidCrystal library, which eats up 6 I/O pins. I know Allard has Rel. 2.0 of the software going, but I'm wondering if A4 and A5 could be moved and the I2C interface used for the LCD display. That would free up enough lines for the keyer to dedicate a dit and dah pin for each. Quite honestly, I have not looked at Allard's code yet (too many alligators), so I'm just tossing this out there for discussion.

Jack, W8TEE






 

Blindly mixing 5v and 3.3v devices like your Nano and LCD and Si5351 may work.
Or may not.
Might even destroy something.

I'd definitely follow Rod's advice and remove the pullups on any 5v i2c LCD:
??/g/BITX20/message/36797
Otherwise you are dumping current from the 5v rail into the 3.3v Si5351 through those LCD pullup resistors.

Currents through those pullups may not be enough to be an issue,?
but the Si5351 is a critical part here and I would not want to piss it off.
One thing you don't want to do is to download a sketch that actively drives those i2c pins high to 5v,
then you would have some significant current going through the protection diodes at the Si5351's i2c pins.
Might even blow the Si5351





On Thu, Dec 21, 2017 at 11:43 am, Jack Purdum wrote:
Well, the Nano takes 5V so that has to be floating around somewhere and most LCD's are 5V devices. (Many TFT are 3.3V.)
?


 

I used the Adafruit Si5351 board and an I2C display backpack? when I built the freq gen for my pre-raduino BITX40.? I'm doing the same thing for my ?BITX build.? Adafruit's board has a 3.3V regulator on board as well as level shift components so the I2C line can be fed 5.0 or 3.3V.? it's not as inexpensive as boards from the Far East, but the boat that delivers them is much faster!

?Andy, KG5RKP


On Thu, Dec 21, 2017 at 12:03 pm, Jerry Gaffke wrote:
Blindly mixing 5v and 3.3v devices like your Nano and LCD and Si5351 may work.
Or may not.
Might even destroy something.

I'd definitely follow Rod's advice and remove the pullups on any 5v i2c LCD:
??/g/BITX20/message/36797
Otherwise you are dumping current from the 5v rail into the 3.3v Si5351 through those LCD pullup resistors.

Currents through those pullups may not be enough to be an issue,?
but the Si5351 is a critical part here and I would not want to piss it off.
One thing you don't want to do is to download a sketch that actively drives those i2c pins high to 5v,
then you would have some significant current going through the protection diodes at the Si5351's i2c pins.
Might even blow the Si5351





On Thu, Dec 21, 2017 at 11:43 am, Jack Purdum wrote:
Well, the Nano takes 5V so that has to be floating around somewhere and most LCD's are 5V devices. (Many TFT are 3.3V.)
?


 

I built something similar to what Andy described here as 'proof of concept', has to hook it up to actual radio yet, picture attached.

Running Allard's 1.25 version, code changes were very minimal. Basically, comment out LiquidCrystal library, and include Adafruit's libraries. Hardware is the easy part, now I have to figure out how to utilize these 'cursor' switches below the LCD for menus etc. And with Adafruit libraries included it uses 25810 bytes, compared to 24440 for Allard's original 1.25. Not a big tax, I think.
/*#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);*/
#include <Adafruit_MCP23017.h>
#include <Adafruit_RGBLCDShield.h>
// init the lcd object
Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();
/* defines for RGB LCD background
?*? can be used to indicate different modes of operation
?*? eg. green for Rx, red for Tx, etc.?*/
#define OFF 0x0
#define RED 0x1
#define GREEN 0x2
#define YELLOW 0x3
#define BLUE 0x4
#define VIOLET 0x5
#define TEAL 0x6
#define WHITE 0x7
?
73, Goran VE6GPO