Date   
Re: Are you looking for a case for your Bitx?

K5ESS
 

Fred,

Perhaps you meant EXTRON?  A search on EXTON gives me mostly shoes ;-)

Mike

K5ESS

 

From: BITX20@groups.io [mailto:BITX20@groups.io] On Behalf Of Dr Fred Hambrecht
Sent: Wednesday, February 7, 2018 8:26 PM
To: BITX20@groups.io
Subject: [BITX20] Are you looking for a case for your Bitx?

 

Looking at stuff on EBay there is a ton of EXTON equipment for sale. I bring it up because the equipment is cheaper than cases and many already have 16X2 or 20X4 displays already installed. Lots of connectors as well. A search of "EXTON" will give you a ton of ideas.

v/r
Fred W4JLE

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Nick VK4PP
 

I have switched to an I2C backpack lcd and it has the ability to turn on and off the backlight via the I2C interface.... Good idea...

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

W2CTX
 

Of course if you de-solder the nano and put in a socket you
can replace the nano for low cost.

rOn




From: Clark Martin <kk6isp@...>
To: BITX20@groups.io
Sent: Wednesday, February 7, 2018 11:30 PM
Subject: Re: [BITX20] CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

If you can wire the LCD backlight to be turned on by a transistor controlled by the CPU then on power fail detection you can turn it off to conserve power.

Clark Martin
KK6ISP

On Feb 7, 2018, at 8:22 PM, Ian Lee <kd8cec@...> wrote:

I think it is probably due to the big current consuming parts like LCD.
i have heard that a long time ago (20 years ago?) I used to use this method in a low power device. 
I will try to use a super capacitor and a diode later, and I have not tried it until now.




Re: Professional Programmers

K9WIS
 

Hey Jim,
Im a retired embedded systems engineer familiar with all those micros you listed. I worked for GE and Rockwell Automation(Allen Bradley) developing firmware for Drives, Motor Controllers, Motor Protection Devices, PLC's and Industrial Automation Networks.
These days Im tech writing in my spare time .

So I am curious to hear about what your up to.

Brian K9WIS

---- James Lawrie <@Avengerman14s> wrote:

Ive been on this group for awhile now and noticed posts from others in past that they were professional programmers and such. 

If this is true and you are proficient at programming for PIC, ATMEL, MSP430 series and or DSP MPUs using C or Assembly I would like to discuss a plan with you for a project I need help with that will be of benefit to everyone on this site. I can pay for your services but in the end it will be Open Software. I’ll even provide the parts, please let me know.

People might like a better option than what is already here.

Thanks,

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Clark Martin
 

If you can wire the LCD backlight to be turned on by a transistor controlled by the CPU then on power fail detection you can turn it off to conserve power.

Clark Martin
KK6ISP

On Feb 7, 2018, at 8:22 PM, Ian Lee <kd8cec@...> wrote:

I think it is probably due to the big current consuming parts like LCD.
i have heard that a long time ago (20 years ago?) I used to use this method in a low power device. 
I will try to use a super capacitor and a diode later, and I have not tried it until now.


Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Clark Martin
 

I would write some test code that zeros all the EEROM then uses a hardware timer to writes a non-zero value to sequential locations in EEROM at fixed intervals.  On start up it prints out the number of non-zero locations.  To use it you power it on then off for several seconds then on again and look to see how many non-zero locations there were.  This will tell you how long you have to write

Clark Martin
KK6ISP

On Feb 7, 2018, at 7:10 PM, Jack Purdum via Groups.Io <jjpurdum@...> wrote:

Has anyone else done this? I tried and I couldn't reliably get the 4-byte address written in time. Of course, it could have been the cap I used, the voltage divider...even clones may work slightly differently. Just make sure you test it a bunch of times with your setup.


Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Ian Lee
 

Jack.
I think it is probably due to the big current consuming parts like LCD.
i have heard that a long time ago (20 years ago?) I used to use this method in a low power device. 
I will try to use a super capacitor and a diode later, and I have not tried it until now.

Ian

2018-02-08 12:10 GMT+09:00 Jack Purdum via Groups.Io <jjpurdum@...>:

Has anyone else done this? I tried and I couldn't reliably get the 4-byte address written in time. Of course, it could have been the cap I used, the voltage divider...even clones may work slightly differently. Just make sure you test it a bunch of times with your setup.

Jack, W8TEE



From: Nick VK4PLN <nickpullen@...>
To: BITX20@groups.io
Sent: Wednesday, February 7, 2018 9:49 PM
Subject: Re: [BITX20] CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Another trick I have seen to save EEPROM life:
It is used in an Arduino Antenna Rotator, is to monitor the 12V via a voltage divider and Analog port.
When the voltage drops maybe 1V below "normal", as seen at startup, write settings to eeprom only then.

When you power off the radio the 5volt regulator + input capacitor should hold up the Arduino for just long enough to catch the voltage dropping and write the last used frequency to memory....

73, Nik, VK4PLN




--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
www.hamskey.com (my blog)

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Ian Lee
 

Jack and all

Great!!! 
It matches the code I wrote.
I am still using this method in many industrial sites. Of course, using button batteries and ram is easy to solve. But consumers not want it because I have to change the battery periodically.
I love this place with this discussion. We are concerned about eeprom lifetime, data sheet, presentation of various solutions, and it becomes big study.

I use the method Jack uses.It is to understand the behavior of the user.

//Determine if the frequency is changing. If the frequency is changing, skip. Because the user is turning the knob.
  if (saveCheckFreq != frequency)
  {
    saveCheckTime = millis();
    saveCheckFreq = frequency;
  }

   //operation has stopped. Stopping for 10 seconds means that you are constantly listening to something on the frequency. So save this frequency because it is valid.
    if (millis() - saveCheckTime > saveIntervalSec * 1000)
    {
      FrequencyToVFO(1);
    }

  //below is write eeprom logic (final)
  //compare current frequency with vfoA_eeprom (vfoA_eeprom has same value with eeprom)
  if (saveType == 0 || saveType == 1) //vfoA
  {
      if (vfoA != vfoA_eeprom) {
        EEPROM.put(VFO_A, vfoA);
        vfoA_eeprom = vfoA;
      }

I implemented it this way and avoided the lifetime error of eeprom.
I think that consideration for eeprom lifetime is essential and I think these discussions are quite beneficial.
 
The following video was taken to confirm that the above logic is working properly.

test about frequency write to eeprom

test about mode write to eeprom


2018-02-08 11:56 GMT+09:00 Jack Purdum via Groups.Io <jjpurdum@...>:

I had a situation where I wanted to insure that, when the user restarted their transceiver, it would show the last-used frequency. The problem is you don't know when they are going to turn the rig off. Sure, there are ways to do things after power is removed, but this was a QRP rig where cost was a primary concern. What I did was use one of the Nano's timers to try to determine what the user was doing. If the frequency is changing in short intervals, say once every second, chances are they are tuning around on the band. If they have not changed frequency in the past XX seconds, I updated the EEPROM with that frequency, provided that the EEPROM frequency is different from the current operating frequency. That way, if the user is monitoring a net frequency for an hour or is away doing something but the rig is still on, no EEPROM updates are done. EEPROM reads have no life cycle, so if they are just tuning around or if they are "parked" on a frequency, this approach can extend the lifetime of the EEPROM.

Jack, W8TEE



From: Ian Lee <kd8cec@...>
To: BITX20@groups.io
Sent: Wednesday, February 7, 2018 9:08 PM

Subject: Re: [BITX20] CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Thanks for very important information.

The lifetime of the eeprom guaranteed by the vendor is 100,000 write cycle. read cycle is unlimited.
One thing to note is 100,000 times per memory address.
It is not important how many eeprom addresses are used, but how much is written to one eeprom address is important.
There is no problem with using a typical eeprom. 100,000 times more than thought is very large.
Some people say that they have used more than 100,000 through the experiment, but it is better to use the range that the vendor guarantees.

Experience has shown that the eeprom lifetime error is one case.
It is a periodic write to one memory address.
The most vulnerable is to use eeprom in loops like for and while, or to use the eeprom periodically in the timer.

In case of uBITX, cyclic frequency(with mode) storage to eeprom will be a problem to automatically display the frequency that was used previously when the radio is turned on and off.

If you save every 5 seconds, 720 writes occur in 1 hour. The life of the eeprom guaranteed by the vendor is only 138 hours. If use it for 2 hours every day, the life time of 70 days is over.
Of course, the actual life of the eeprom is much longer than the number of times it is guaranteed by the business. Because we are not always lucky, i will not discuss it here.

So, I am actively agreeing with ron's important information.

I have put some of safeguards in my firmware to take into account the life of the eeprom.
The first is virtual eeprom. I created the same variable as eeprom that I had to write periodically and put it in memory.
Compared to the contents of memory before writing to eeprom, I made it write if it changed.
This avoids unnecessarily wasting the write cycle on a periodic basis and preventing the CPU usable
Another was to identify the intent of the user. In other words, if the frequency is changing rapidly, the user is turning the knob.
That is, if the frequency is changing, it will skip even if the periodic storage time is reached.

Always be careful when using eeprom in loop statements or timers.

Ian KD8CEC

2018-02-08 8:49 GMT+09:00 Ronald Pfeiffer via Groups.Io <w2ctx@...>:
I would be careful since EEPROM has a finite write life!
These nano's are soldered in.

rOn



From: Mike Woods <mhwoods@...>
To: BITX20@groups.io
Sent: Wednesday, February 7, 2018 6:27 PM
Subject: Re: [BITX20] CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

There are 20 memory channels in the latest versions (0.35 and 1.0) and they are stored in EEPROM.

Mike

On Thu, 8 Feb 2018 at 11:14 AM, John P <j.m.price@...> wrote:
Not familiar with your code, but maybe keep the memories in EEPROM. 
--
John - WA2FZW




--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
www.hamskey.com (my blog)




--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
www.hamskey.com (my blog)

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Clark Martin
 

Clark Martin
KK6ISP

On Feb 7, 2018, at 7:19 PM, Nik VK4PLN <nickpullen@...> wrote:

I have a 4700uf cap in my junk box, that should work across the output of the 78l05... hi hi
Don’t put it on the output, put it on the input with a diode isolating it from the RF Board if needed. On the input it only takes around a 0.5V drop before EEROM writes become either unreliable or not possible (I don’t recall now if the Mega series has undervoltage protection). While if it’s on the input it takes a drop of 5.0 volts (12 -> 7) before the regulator cuts stops regulating. That’s roughly 10 times as much time to do what you need.

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

John P
 

Here's a trick I used in my smart controller for the old AR-22 rotator. In a VFO application, if the program restarts not remembering the last frequency, it's not a big deal, but in a rotator controller, if it doesn't remember the last azimuth, then the rotator and controller can be way out of sync.

First thing I did was to add a "Run/Update" toggle switch that puts a 10uF cap across the Arduino's reset line when in the "Run" position. This was necessary because the N1MM+ Rotor control program that I was using pulses the DTR line when it starts which tells the Arduino to look for a new software upload (the DTR signal is routed to the reset line). The cap gobbles up the short pulse and prevents the Arduino from seeing it.

Next a I added a pushbutton between one of the digital pins (I used 18 on a UNO)  and ground. When the button is pushed, it does a software reset of the Arduino using the "SoftReset library". What you can do with this approach is to do any housekeeping chores that need to be done before a shutdown.

True, you're basically doing a reboot before you turn it off, but it does the job!
--
John - WA2FZW

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Nick VK4PP
 

Not for RF filtering , but as a "battery" on power off....
73, Nik

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

MVS Sarma
 

I fear that 4700uF would be an overkill on a tiny 78L05.
 After all the filteration there is needed for RF and if at all some remnant audio on power line. That too for a load current of few mA.
 The demand should be for more like low esr  say 10uF tantalum followed by say 0.47 disc or ployepropelene (box capacitor).

regards
 sarma
 vu3zmv
 

Regards
MVS Sarma
 

On Thu, Feb 8, 2018 at 8:49 AM, Nik VK4PLN <nickpullen@...> wrote:
I have a 4700uf cap in my junk box, that should work across the  output of the 78l05... hi hi


Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Nick VK4PP
 

I have a 4700uf cap in my junk box, that should work across the  output of the 78l05... hi hi

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Jack, W8TEE
 

Has anyone else done this? I tried and I couldn't reliably get the 4-byte address written in time. Of course, it could have been the cap I used, the voltage divider...even clones may work slightly differently. Just make sure you test it a bunch of times with your setup.

Jack, W8TEE



From: Nick VK4PLN <nickpullen@...>
To: BITX20@groups.io
Sent: Wednesday, February 7, 2018 9:49 PM
Subject: Re: [BITX20] CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Another trick I have seen to save EEPROM life:
It is used in an Arduino Antenna Rotator, is to monitor the 12V via a voltage divider and Analog port.
When the voltage drops maybe 1V below "normal", as seen at startup, write settings to eeprom only then.

When you power off the radio the 5volt regulator + input capacitor should hold up the Arduino for just long enough to catch the voltage dropping and write the last used frequency to memory....

73, Nik, VK4PLN


Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Ian Lee
 

Nik
Good Idea!!!

It is amazing to be solved with only one capacitor. Since the LCD consumes quite a lot of current, I need to calculate the capacitance capacity.
I have been thinking a lot about reducing program memory size.
If this method is applied to my hardware modified version firmware, the program size can be reduced. This is because you can remove code that takes into account the lifetime of the eeprom.

Thanks for great idea

Ian KD8CEC

2018-02-08 11:49 GMT+09:00 Nick VK4PLN <nickpullen@...>:

Another trick I have seen to save EEPROM life:
It is used in an Arduino Antenna Rotator, is to monitor the 12V via a voltage divider and Analog port.
When the voltage drops maybe 1V below "normal", as seen at startup, write settings to eeprom only then.

When you power off the radio the 5volt regulator + input capacitor should hold up the Arduino for just long enough to catch the voltage dropping and write the last used frequency to memory....

73, Nik, VK4PLN



--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
www.hamskey.com (my blog)

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Jack, W8TEE
 

I had a situation where I wanted to insure that, when the user restarted their transceiver, it would show the last-used frequency. The problem is you don't know when they are going to turn the rig off. Sure, there are ways to do things after power is removed, but this was a QRP rig where cost was a primary concern. What I did was use one of the Nano's timers to try to determine what the user was doing. If the frequency is changing in short intervals, say once every second, chances are they are tuning around on the band. If they have not changed frequency in the past XX seconds, I updated the EEPROM with that frequency, provided that the EEPROM frequency is different from the current operating frequency. That way, if the user is monitoring a net frequency for an hour or is away doing something but the rig is still on, no EEPROM updates are done. EEPROM reads have no life cycle, so if they are just tuning around or if they are "parked" on a frequency, this approach can extend the lifetime of the EEPROM.

Jack, W8TEE



From: Ian Lee <kd8cec@...>
To: BITX20@groups.io
Sent: Wednesday, February 7, 2018 9:08 PM
Subject: Re: [BITX20] CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Thanks for very important information.

The lifetime of the eeprom guaranteed by the vendor is 100,000 write cycle. read cycle is unlimited.
One thing to note is 100,000 times per memory address.
It is not important how many eeprom addresses are used, but how much is written to one eeprom address is important.
There is no problem with using a typical eeprom. 100,000 times more than thought is very large.
Some people say that they have used more than 100,000 through the experiment, but it is better to use the range that the vendor guarantees.

Experience has shown that the eeprom lifetime error is one case.
It is a periodic write to one memory address.
The most vulnerable is to use eeprom in loops like for and while, or to use the eeprom periodically in the timer.

In case of uBITX, cyclic frequency(with mode) storage to eeprom will be a problem to automatically display the frequency that was used previously when the radio is turned on and off.

If you save every 5 seconds, 720 writes occur in 1 hour. The life of the eeprom guaranteed by the vendor is only 138 hours. If use it for 2 hours every day, the life time of 70 days is over.
Of course, the actual life of the eeprom is much longer than the number of times it is guaranteed by the business. Because we are not always lucky, i will not discuss it here.

So, I am actively agreeing with ron's important information.

I have put some of safeguards in my firmware to take into account the life of the eeprom.
The first is virtual eeprom. I created the same variable as eeprom that I had to write periodically and put it in memory.
Compared to the contents of memory before writing to eeprom, I made it write if it changed.
This avoids unnecessarily wasting the write cycle on a periodic basis and preventing the CPU usable
Another was to identify the intent of the user. In other words, if the frequency is changing rapidly, the user is turning the knob.
That is, if the frequency is changing, it will skip even if the periodic storage time is reached.

Always be careful when using eeprom in loop statements or timers.

Ian KD8CEC

2018-02-08 8:49 GMT+09:00 Ronald Pfeiffer via Groups.Io <w2ctx@...>:
I would be careful since EEPROM has a finite write life!
These nano's are soldered in.

rOn



From: Mike Woods <mhwoods@...>
To: BITX20@groups.io
Sent: Wednesday, February 7, 2018 6:27 PM
Subject: Re: [BITX20] CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

There are 20 memory channels in the latest versions (0.35 and 1.0) and they are stored in EEPROM.

Mike

On Thu, 8 Feb 2018 at 11:14 AM, John P <j.m.price@...> wrote:
Not familiar with your code, but maybe keep the memories in EEPROM. 
--
John - WA2FZW




--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
www.hamskey.com (my blog)


Re: ubitx AGC?

Tim Gorman
 

Where did you get the "production" schematic for the ubitx? The hfsignal.com web site schematic is different. It shows no C78. 

Both the old schematic and the one of the web site shows R253 as being a 1K resistor. 

The 1K resistor and .1uf capacitor would for a low-pass filter with a 3db frequency of about 1500hz. I'm not sure why that is there but I can only assume it is needed to tame the audio circuit.

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Nick VK4PP
 

Another trick I have seen to save EEPROM life:
It is used in an Arduino Antenna Rotator, is to monitor the 12V via a voltage divider and Analog port.
When the voltage drops maybe 1V below "normal", as seen at startup, write settings to eeprom only then.

When you power off the radio the 5volt regulator + input capacitor should hold up the Arduino for just long enough to catch the voltage dropping and write the last used frequency to memory....

73, Nik, VK4PLN

Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

Ian Lee
 

Ron

You wrote while I was writing a long story.
Thank you for your excellent advice. I have been studying a lot.
I will do calculate and simulation write cycle time one more time.

Ian KD8CEC




2018-02-08 10:58 GMT+09:00 Ronald Pfeiffer via Groups.Io <w2ctx@...>:

You can eat up 100,000 writes.  Each time you change any menu item
it gets stored in EEPROM.  Ian also automatically stores the current
frequency each time you change it.

Also I meant after several years when users get intermittent errors
for no apparent reason!

rOn



From: Jerry Gaffke via Groups.Io <jgaffke=yahoo.com@groups.io>
To: BITX20@groups.io
Sent: Wednesday, February 7, 2018 8:44 PM
Subject: Re: [BITX20] CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx

In section 8.4 of the ATmega328P datasheet (used on the Nano, which is used on the Raduino) 
    (EEPROM) is organized as a separate data space, in which single bytes can be read and written.
    The EEPROM has an endurance of at least 100,000 write/erase cycles.
So can update each individual byte 100,000 times.
Hard to imagine burning out an EEPROM byte if it involved twiddling knobs and pressing some buttons for each update.

Where you get into trouble is when the code writes to EEPROM with no operator intervention.
Takes about 3.4ms to erase and write an eeprom byte, so a code loop could burn out a byte of eeprom in about an hour.


On Wed, Feb 7, 2018 at 03:49 pm, Ronald Pfeiffer wrote:
would be careful since EEPROM has a finite write life!
These nano's are soldered in.
 
rOn
 
From: Mike Woods <mhwoods@...>   Sent: Wednesday, February 7, 2018 6:27 PM
There are 20 memory channels in the latest versions (0.35 and 1.0) and they are stored in EEPROM




--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
www.hamskey.com (my blog)

Re: W0EB/W2CTX Latest uBITX software release #ubitx

Jim Sheldon
 

Arigato - hi hi