¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Software Upgrades


 

It is apparent I will someday down the road want the software upgrades to my four QCX transceivers.? I realize I can always buy new programmed chips from Hans to do this.? I feel much at ease knowing this, and have no problem ever doing this.? However, I must confess I am a super dummy knowing how to do this myself using the suggested programmer to upgrade my software myself.? What I am confessing here is I know absolutely nothing about this.? NOTHING! Yet, I am a pretty good tech at trouble shooting traditional none software defined QRP radios.? I am also in no rush to upgrade my QCX radios.

That said and time is not an issue, is it possible someone on here could write a dissertation for DUMMIES (not dummies but DUMMIES) on how to do this leaving no stone unturned?? I'm talking about minute step bye step instructions on what to buy, how to hook it up, how to download the program, and then how to install and upload it to the QCX.? What I am saying is, leave any step out assuming the user already knows this step would leave me in the dark.? Maybe if a paper like this would be written down the road I may be able to get out of the Dark Ages.? This would not have to be done overnight, but it sure would be a goldmine of information for me.? Maybe there are others like me out there too and the paper would be helpful to many.? I see some of you guys talking about these locally done upgrades and I get lost reading what you are doing bye reaching your second sentence.? I don't have much more then a clue.

I am a member of a few other QRP groups, so please don't tell anyone on those reflectors how ignorant I am to all this programming stuff!? (It took days to get my courage up? to confess this lack of knowledge to my fellow QRPers!)?? A paper like I described might be the best reason for owning a QCX transceiver in my estimation. (Tell me I'm alright, everything is OK, and I'm not alone!) Seriously, I would welcome such input if ever made available.? Every time I started to try and understand this,? the info I was reading would always assume I knew something and this has always got me stopped in pursuit of further knowledge of the subject.

Lee, w0vt


Alan Jones
 

Well said Lee! I am in the same boat as you.

73,
Al, N8WQ

dit dit

On Mon, 23 Oct 2017 14:00:53 -0400, Leland L. Bahr <l@...> wrote:

It is apparent I will someday down the road want the software upgrades to my four QCX transceivers. I realize I can always buy new programmed chips from Hans to do this. I feel much at ease knowing this, and have no problem ever doing this. However, I must confess I am a super dummy knowing how to do this myself using the suggested programmer to upgrade my software myself. What I am confessing here is I know absolutely nothing about this. NOTHING! Yet, I am a pretty good tech at trouble shooting traditional none software defined QRP radios. I am also in no rush to upgrade my QCX radios.

That said and time is not an issue, is it possible someone on here could write a dissertation for DUMMIES (not dummies but DUMMIES) on how to do this leaving no stone unturned? I'm talking about minute step bye step instructions on what to buy, how to hook it up, how to download the program, and then how to install and upload it to the QCX. What I am saying is, leave any step out assuming the user already knows this step would leave me in the dark. Maybe if a paper like this would be written down the road I may be able to get out of the Dark Ages. This would not have to be done overnight, but it sure would be a goldmine of information for me. Maybe there are others like me out there too and the paper would be helpful to many. I see some of you guys talking about these locally done upgrades and I get lost reading what you are doing bye reaching your second sentence. I don't have much more then a clue.

I am a member of a few other QRP groups, so please don't tell anyone on those reflectors how ignorant I am to all this programming stuff! (It took days to get my courage up to confess this lack of knowledge to my fellow QRPers!) A paper like I described might be the best reason for owning a QCX transceiver in my estimation. (Tell me I'm alright, everything is OK, and I'm not alone!) Seriously, I would welcome such input if ever made available. Every time I started to try and understand this, the info I was reading would always assume I knew something and this has always got me stopped in pursuit of further knowledge of the subject.

Lee, w0vt


Charles Darley
 

Hi

100% with you on this point.

I think I would first buy the latest chip and use it and save the old chip to reprogram rather than reprogramming my one and only chip.

I have tried looking for the hex code but have not found the updated version yet.

Kind regards to you all

De Charles G4VSZ

On 23 Oct 2017, at 19:06, Leland L. Bahr <l@...> wrote:

written


 

Good idea, Charles!? Buy your first upgrade and then as a DUMMY try to learn how to program the original first chip.? If it goes POOF!, you still will have a rig that works!? Charles, you are a genius!? Your smarter then you look!? :-)? Believe me when I say the first attempt by me in programming will definitely make the chip go POOF!

Lee, w0vt

On 10/23/2017 1:15 PM, Charles Darley wrote:
Hi

100% with you on this point.

I think I would first buy the latest chip and use it and save the old chip to reprogram rather than reprogramming my one and only chip.

I have tried looking for the hex code but have not found the updated version yet.

Kind regards to you all

De Charles G4VSZ


 

I've been trying to read all this software upgrade stuff on the BITX20 reflector from members there, and I must tell you, trying to understand what they are saying is a nightmare for me.? All I see there is members having grief and interface problems trying to upgrade software.? Seems like almost everyone there has a different set of problems.? Some are hardware issues with the particular programmers being used.? Then I saw something on Hans web site about pin converters.? Going from more pins to less pins using an adapter.? After a few minutes of trying to understand what is going on gets me to want to go to my local pub!
Lee, w0vt


 

Hi Lee

It is nothing like the BITX20. With the BITX20 you have to install the Arduino environment. The project is open source and there are tons of different versions of it, so you have to figure out which version you want to install. And which hardware changes you need to make to the BITX40, to be able to run it with that firmware version. Then you have to deal with the fact that it needs some libraries too. And the libraries may not be versions which work with the version of the Arduino sketch, that you want to use... or that don't work with that version of Arduino, that you installed... the Arduino upload will compile the files and maybe you have to fix errors... etc etc. There are many opportunities for headaches, if you are newcomer to all that stuff.?

The QCX has just a single compiled .hex file. It's much more simple.?

I hope someone will write the step by step guide. Include a definition of what item to buy off eBay etc. That would be useful. We already have a guide to using the Arduino as the programmer, which is very nice. But it would be nice to have one too, for one of the $3 AVR programmers from eBay.?

73 Hans G0UPL

On Mon, Oct 23, 2017 at 9:36 PM, Leland L. Bahr <l@...> wrote:

I've been trying to read all this software upgrade stuff on the BITX20 reflector from members there, and I must tell you, trying to understand what they are saying is a nightmare for me.? All I see there is members having grief and interface problems trying to upgrade software.? Seems like almost everyone there has a different set of problems.? Some are hardware issues with the particular programmers being used.? Then I saw something on Hans web site about pin converters.? Going from more pins to less pins using an adapter.? After a few minutes of trying to understand what is going on gets me to want to go to my local pub!
Lee, w0vt






Ken KM4NFQ
 

On Mon, Oct 23, 2017 at 2:36 PM, Leland L. Bahr <l@...> wrote:

I've been trying to read all this software upgrade stuff on the BITX20
reflector from members there, and I must tell you, trying to understand what
they are saying is a nightmare for me. All I see there is members having
grief and interface problems trying to upgrade software. Seems like almost
everyone there has a different set of problems. Some are hardware issues
with the particular programmers being used. Then I saw something on Hans
web site about pin converters. Going from more pins to less pins using an
adapter. After a few minutes of trying to understand what is going on gets
me to want to go to my local pub!
Lee, w0vt
Hello Lee, W0VT,

I got into hobby electronics by way of the Arduino UNO R3.

The Arduino was primarily developed for Artists, Designers, and Hobbyists.
The Atmel AVR ATmega328P chip is the brains of an Arduino.

The very first electronics kit I ever built was an AVR Programmer.

Go figure.
At the time, I was interested in loading the Arduino bootloader onto
blank chips.
I could buy a blank ATmega328P for $3.00 compared to buying one that
already had a bootloader on it for $5.00. I wanted to make Standalone Arduinos.
I figured that if built at least ten or eleven Standalone Arduinos, then that
would pay for the USBtinyISP AVR Programmer Kit. Well, it worked. The kit
paid for itself over the years, and I ended up with a USBtinyISP Programmer.

So why did I tell that story to you? Well, it seems that there are a plethora of
AVR Programmers out there, ranging in price from build-it-yourself with
components you have in the junkbox, up to more than $100.00+.

AFAIK, the software program that is used for programming an ATmega328P
is called AVRDUDE. It is a command-line program. It supports a large
variety of AVR Programmers. To get an idea of how many there are, take
a peek at the list on this page:

( In your browser, Ctrl-F for: -c programmer-id )

Do you have an Arduino UNO R3 development board, or a clone of the same?
I recommend following a tutorial about using an AVR Programmer along
with AVRDUDE, to upload a simple HEX file to your Arduino to get started.
Examples:



OR



Google for more examples.

The idea is to start simple, then work up to updating the firmware on the QCX.
I know this isn't the detailed step-by-step documentation you asked for. Sorry.
It's just that there are SO many options available:

Operating Systems,
Atmel microcontrollers,
AVR Programmers,
AVRDUDE options.....

Regards,
Ken, KM4NFQ


 

Hans, would you pls provide a link to the guide you mentioned for using Arduino to program?

Cheers es 73,

Jim N3SZ


On Mon, Oct 23, 2017 at 3:21 PM Hans Summers <hans.summers@...> wrote:
Hi Lee

It is nothing like the BITX20. With the BITX20 you have to install the Arduino environment. The project is open source and there are tons of different versions of it, so you have to figure out which version you want to install. And which hardware changes you need to make to the BITX40, to be able to run it with that firmware version. Then you have to deal with the fact that it needs some libraries too. And the libraries may not be versions which work with the version of the Arduino sketch, that you want to use... or that don't work with that version of Arduino, that you installed... the Arduino upload will compile the files and maybe you have to fix errors... etc etc. There are many opportunities for headaches, if you are newcomer to all that stuff.?

The QCX has just a single compiled .hex file. It's much more simple.?

I hope someone will write the step by step guide. Include a definition of what item to buy off eBay etc. That would be useful. We already have a guide to using the Arduino as the programmer, which is very nice. But it would be nice to have one too, for one of the $3 AVR programmers from eBay.?

73 Hans G0UPL

On Mon, Oct 23, 2017 at 9:36 PM, Leland L. Bahr <l@...> wrote:

I've been trying to read all this software upgrade stuff on the BITX20 reflector from members there, and I must tell you, trying to understand what they are saying is a nightmare for me.? All I see there is members having grief and interface problems trying to upgrade software.? Seems like almost everyone there has a different set of problems.? Some are hardware issues with the particular programmers being used.? Then I saw something on Hans web site about pin converters.? Going from more pins to less pins using an adapter.? After a few minutes of trying to understand what is going on gets me to want to go to my local pub!
Lee, w0vt





--
Jim Sturges, N3SZ
Amateur Radio operators do it with frequency.


 

Hi Jim

It's on the firmware page? , the tutorial was written by Simon VK3ELH

73 Hans G0UPL

On Mon, Oct 23, 2017 at 10:32 PM, Jim Sr Sturges <jwsturges@...> wrote:
Hans, would you pls provide a link to the guide you mentioned for using Arduino to program?

Cheers es 73,

Jim N3SZ

On Mon, Oct 23, 2017 at 3:21 PM Hans Summers <hans.summers@...> wrote:
Hi Lee

It is nothing like the BITX20. With the BITX20 you have to install the Arduino environment. The project is open source and there are tons of different versions of it, so you have to figure out which version you want to install. And which hardware changes you need to make to the BITX40, to be able to run it with that firmware version. Then you have to deal with the fact that it needs some libraries too. And the libraries may not be versions which work with the version of the Arduino sketch, that you want to use... or that don't work with that version of Arduino, that you installed... the Arduino upload will compile the files and maybe you have to fix errors... etc etc. There are many opportunities for headaches, if you are newcomer to all that stuff.?

The QCX has just a single compiled .hex file. It's much more simple.?

I hope someone will write the step by step guide. Include a definition of what item to buy off eBay etc. That would be useful. We already have a guide to using the Arduino as the programmer, which is very nice. But it would be nice to have one too, for one of the $3 AVR programmers from eBay.?

73 Hans G0UPL

On Mon, Oct 23, 2017 at 9:36 PM, Leland L. Bahr <l@...> wrote:

I've been trying to read all this software upgrade stuff on the BITX20 reflector from members there, and I must tell you, trying to understand what they are saying is a nightmare for me.? All I see there is members having grief and interface problems trying to upgrade software.? Seems like almost everyone there has a different set of problems.? Some are hardware issues with the particular programmers being used.? Then I saw something on Hans web site about pin converters.? Going from more pins to less pins using an adapter.? After a few minutes of trying to understand what is going on gets me to want to go to my local pub!
Lee, w0vt





--
Jim Sturges, N3SZ
Amateur Radio operators do it with frequency.



Arv Evans
 

¿ªÔÆÌåÓý

Jim, and others...

I'll start this to answer your question and maybe others can build on top of it to make an ARDUINO AND AVR ROGRAMMING FOR? HAM RADIO DUMMIES document.??

1)? A raw Atmel AVR Microcontroller is programmed using a .hex file (actually binary code stored as hexadecimal words).? This code is entered to the AVR using 4 pins:

RST=Reset pin, but held low in? programming mode to allow data writing to internal memory.

CLK=clock pin to move individual bits into internal memory.? Each clock cycle moves one data bit into the AVR.

MISO=data bits to be written into the AVR memory.

MOSI=data bits being read out of the AVR internal memory.? This is used to verify data that has been written into the AVR.

There are a several different programming dongles available from various vendors that are used to interface the 4 programming pins on an AVR Microcontroller chip.??

When writing code to an AVR there are "FUSE Bits" that control whether others can or cannot read-out the stored code.? In the devices by QRPLabs these bits are set to protect the code and thus prevent others from stealing the code and duplicating the systems by writing Hans' proprietary code to virgin AVR chips.

============

Code for an AVR can be written in Assembler, or any of several compiler languages.? C++ is a popular language for programming AVR chips.? If using a compiler you need to store the .hex output from a compile.? This is what you will write to your AVR memory.

A relatively common program called "AVRDude" is popular for writing .hex data into an AVR memory.

========

In an ARDUINO module the process outlined above has already been used to write something called a "BOOTLOADER" into protected memory on the AVR (or other) processor chip.? Purpose of the boot loader is to simplify the procedure used to install programs into your ARDUINO module.??

The boot loader senses when the RST lead is held low to indicate programming data entry is imminent.? At that time the boot loader reads program data (.hex format) input via the built-in serial port connection.? Program verification can be accomplished by reading data out of the processor memory via the same serial port.

It is possible to use a level-converter (5V ttl-to-RS232 voltages) and send code to/from an ARDUINO serial port using the serial port on your computer, but in today's world not all computors have serial ports.? For this reason it has become common to use a USB-to-Serial dongle to install programs into your ARDUINO.

The popular AVRDude program can be configured to write your new programs to the serial port.? This code is stored as hexadecimal files containing the binary representation of your program.??

=========

You can use assembler language, or a compiled language to write code for your ARDUINO.? Most beginners start with the "ARDUINO IDE" as their first entry into ARDUINO programming.? This system uses C++ language and compiles to the .hex format needed to program your ADUINO.


=============
When you operate the Reset pin on an AVR or ARDUINO the processor starts executing code at address zero.? Astute readers may have already realized that program entry by both RST-SCK-MISO-MOSI or via a Boot loader both install .hex file data in the same place in memory.? This makes it possible to use the C++ compiler IDE to make .hex files that can be installed into a bare AVR processor as well as into an ARDUINO module.??

OKAY..this has been a long edit using my cell phone's tiny keyboard.? There may be typos, errors, etc. that will need correction.? But this a start.....please feel free to add to this DUMMIES INTRODUCTION TO AVR AND ARDUINO PROGRAMMING for QRPLabs and BITX systems.

Arv? K7HKL
_-_




Sent from my Verizon, Samsung Galaxy smartphone

-------- Original message --------
From: Jim Sr Sturges <jwsturges@...>
Date: 10/23/17 1:32 PM (GMT-07:00)
Subject: Re: [QRPLabs] Software Upgrades

Hans, would you pls provide a link to the guide you mentioned for using Arduino to program?

Cheers es 73,

Jim N3SZ

On Mon, Oct 23, 2017 at 3:21 PM Hans Summers <hans.summers@...> wrote:
Hi Lee

It is nothing like the BITX20. With the BITX20 you have to install the Arduino environment. The project is open source and there are tons of different versions of it, so you have to figure out which version you want to install. And which hardware changes you need to make to the BITX40, to be able to run it with that firmware version. Then you have to deal with the fact that it needs some libraries too. And the libraries may not be versions which work with the version of the Arduino sketch, that you want to use... or that don't work with that version of Arduino, that you installed... the Arduino upload will compile the files and maybe you have to fix errors... etc etc. There are many opportunities for headaches, if you are newcomer to all that stuff.?

The QCX has just a single compiled .hex file. It's much more simple.?

I hope someone will write the step by step guide. Include a definition of what item to buy off eBay etc. That would be useful. We already have a guide to using the Arduino as the programmer, which is very nice. But it would be nice to have one too, for one of the $3 AVR programmers from eBay.?

73 Hans G0UPL

On Mon, Oct 23, 2017 at 9:36 PM, Leland L. Bahr <l@...> wrote:

I've been trying to read all this software upgrade stuff on the BITX20 reflector from members there, and I must tell you, trying to understand what they are saying is a nightmare for me.? All I see there is members having grief and interface problems trying to upgrade software.? Seems like almost everyone there has a different set of problems.? Some are hardware issues with the particular programmers being used.? Then I saw something on Hans web site about pin converters.? Going from more pins to less pins using an adapter.? After a few minutes of trying to understand what is going on gets me to want to go to my local pub!
Lee, w0vt





--
Jim Sturges, N3SZ
Amateur Radio operators do it with frequency.


 

¿ªÔÆÌåÓý

You are making me nervous talking about "FUSES" for QCX programming!? QCX is too close to the letters UXB used in the British Bomb Disposable TV series UXB.? (Do I need to wear eye protection when programming QCX or bullet proof vest?)? Hope the FUSES are STABLE.

Lee, w0vt

Programming Dummy in Early Transistion


On 10/23/2017 4:12 PM, Arv Evans wrote:
Jim, and others...

I'll start this to answer your question and maybe others can build on top of it to make an ARDUINO AND AVR ROGRAMMING FOR? HAM RADIO DUMMIES document.??

1)? A raw Atmel AVR Microcontroller is programmed using a .hex file (actually binary code stored as hexadecimal words).? This code is entered to the AVR using 4 pins:

RST=Reset pin, but held low in? programming mode to allow data writing to internal memory.

CLK=clock pin to move individual bits into internal memory.? Each clock cycle moves one data bit into the AVR.

MISO=data bits to be written into the AVR memory.

MOSI=data bits being read out of the AVR internal memory.? This is used to verify data that has been written into the AVR.

There are a several different programming dongles available from various vendors that are used to interface the 4 programming pins on an AVR Microcontroller chip.??

When writing code to an AVR there are "FUSE Bits" that control whether others can or cannot read-out the stored code.? In the devices by QRPLabs these bits are set to protect the code and thus prevent others from stealing the code and duplicating the systems by writing Hans' proprietary code to virgin AVR chips.

============

Code for an AVR can be written in Assembler, or any of several compiler languages.? C++ is a popular language for programming AVR chips.? If using a compiler you need to store the .hex output from a compile.? This is what you will write to your AVR memory.

A relatively common program called "AVRDude" is popular for writing .hex data into an AVR memory.

========

In an ARDUINO module the process outlined above has already been used to write something called a "BOOTLOADER" into protected memory on the AVR (or other) processor chip.? Purpose of the boot loader is to simplify the procedure used to install programs into your ARDUINO module.??

The boot loader senses when the RST lead is held low to indicate programming data entry is imminent.? At that time the boot loader reads program data (.hex format) input via the built-in serial port connection.? Program verification can be accomplished by reading data out of the processor memory via the same serial port.

It is possible to use a level-converter (5V ttl-to-RS232 voltages) and send code to/from an ARDUINO serial port using the serial port on your computer, but in today's world not all computors have serial ports.? For this reason it has become common to use a USB-to-Serial dongle to install programs into your ARDUINO.

The popular AVRDude program can be configured to write your new programs to the serial port.? This code is stored as hexadecimal files containing the binary representation of your program.??

=========

You can use assembler language, or a compiled language to write code for your ARDUINO.? Most beginners start with the "ARDUINO IDE" as their first entry into ARDUINO programming.? This system uses C++ language and compiles to the .hex format needed to program your ADUINO.


=============
When you operate the Reset pin on an AVR or ARDUINO the processor starts executing code at address zero.? Astute readers may have already realized that program entry by both RST-SCK-MISO-MOSI or via a Boot loader both install .hex file data in the same place in memory.? This makes it possible to use the C++ compiler IDE to make .hex files that can be installed into a bare AVR processor as well as into an ARDUINO module.??

OKAY..this has been a long edit using my cell phone's tiny keyboard.? There may be typos, errors, etc. that will need correction.? But this a start.....please feel free to add to this DUMMIES INTRODUCTION TO AVR AND ARDUINO PROGRAMMING for QRPLabs and BITX systems.

Arv? K7HKL
_-_




Sent from my Verizon, Samsung Galaxy smartphone

-------- Original message --------
From: Jim Sr Sturges <jwsturges@...>
Date: 10/23/17 1:32 PM (GMT-07:00)
Subject: Re: [QRPLabs] Software Upgrades

Hans, would you pls provide a link to the guide you mentioned for using Arduino to program?

Cheers es 73,

Jim N3SZ

On Mon, Oct 23, 2017 at 3:21 PM Hans Summers <hans.summers@...> wrote:
Hi Lee

It is nothing like the BITX20. With the BITX20 you have to install the Arduino environment. The project is open source and there are tons of different versions of it, so you have to figure out which version you want to install. And which hardware changes you need to make to the BITX40, to be able to run it with that firmware version. Then you have to deal with the fact that it needs some libraries too. And the libraries may not be versions which work with the version of the Arduino sketch, that you want to use... or that don't work with that version of Arduino, that you installed... the Arduino upload will compile the files and maybe you have to fix errors... etc etc. There are many opportunities for headaches, if you are newcomer to all that stuff.?

The QCX has just a single compiled .hex file. It's much more simple.?

I hope someone will write the step by step guide. Include a definition of what item to buy off eBay etc. That would be useful. We already have a guide to using the Arduino as the programmer, which is very nice. But it would be nice to have one too, for one of the $3 AVR programmers from eBay.?

73 Hans G0UPL

On Mon, Oct 23, 2017 at 9:36 PM, Leland L. Bahr <l@...> wrote:

I've been trying to read all this software upgrade stuff on the BITX20 reflector from members there, and I must tell you, trying to understand what they are saying is a nightmare for me.? All I see there is members having grief and interface problems trying to upgrade software.? Seems like almost everyone there has a different set of problems.? Some are hardware issues with the particular programmers being used.? Then I saw something on Hans web site about pin converters.? Going from more pins to less pins using an adapter.? After a few minutes of trying to understand what is going on gets me to want to go to my local pub!
Lee, w0vt





--
Jim Sturges, N3SZ
Amateur Radio operators do it with frequency.


Virus-free.


 

Leland wrote:
I've been trying to read all this software upgrade stuff on the BITX20
reflector from members there, and I must tell you, trying to understand what
they are saying is a nightmare for me.
The main problem is that so many people have their own way of doing this reasonably simple job.

I do not think that the absolute beginner should use Arduino, that is something that is not required to be learnt for (most) QRPLabs kits.
My page here shows all you need

No doubt this page will be confusing, I've not done it too well, it is basically for the Progrock and I do not have a current model U3S to show. But all that is required is a USBasp with a 6 pin adaptor and Kahzama to load the firmware.
No command-line, just follow simple instructions.
Maybe I could clean this up or someone with a current U3S is welcome to use it as a basis.

73 Alan G4ZFQ


Arv Evans
 


_._

On Mon, Oct 23, 2017 at 3:43 PM, Leland L. Bahr <l@...> wrote:

You are making me nervous talking about "FUSES" for QCX programming!? QCX is too close to the letters UXB used in the British Bomb Disposable TV series UXB.? (Do I need to wear eye protection when programming QCX or bullet proof vest?)? Hope the FUSES are STABLE.

Lee, w0vt

Programming Dummy in Early Transistion


On 10/23/2017 4:12 PM, Arv Evans wrote:
Jim, and others...

I'll start this to answer your question and maybe others can build on top of it to make an ARDUINO AND AVR ROGRAMMING FOR? HAM RADIO DUMMIES document.??

1)? A raw Atmel AVR Microcontroller is programmed using a .hex file (actually binary code stored as hexadecimal words).? This code is entered to the AVR using 4 pins:

RST=Reset pin, but held low in? programming mode to allow data writing to internal memory.

CLK=clock pin to move individual bits into internal memory.? Each clock cycle moves one data bit into the AVR.

MISO=data bits to be written into the AVR memory.

MOSI=data bits being read out of the AVR internal memory.? This is used to verify data that has been written into the AVR.

There are a several different programming dongles available from various vendors that are used to interface the 4 programming pins on an AVR Microcontroller chip.??

When writing code to an AVR there are "FUSE Bits" that control whether others can or cannot read-out the stored code.? In the devices by QRPLabs these bits are set to protect the code and thus prevent others from stealing the code and duplicating the systems by writing Hans' proprietary code to virgin AVR chips.

============

Code for an AVR can be written in Assembler, or any of several compiler languages.? C++ is a popular language for programming AVR chips.? If using a compiler you need to store the .hex output from a compile.? This is what you will write to your AVR memory.

A relatively common program called "AVRDude" is popular for writing .hex data into an AVR memory.

========

In an ARDUINO module the process outlined above has already been used to write something called a "BOOTLOADER" into protected memory on the AVR (or other) processor chip.? Purpose of the boot loader is to simplify the procedure used to install programs into your ARDUINO module.??

The boot loader senses when the RST lead is held low to indicate programming data entry is imminent.? At that time the boot loader reads program data (.hex format) input via the built-in serial port connection.? Program verification can be accomplished by reading data out of the processor memory via the same serial port.

It is possible to use a level-converter (5V ttl-to-RS232 voltages) and send code to/from an ARDUINO serial port using the serial port on your computer, but in today's world not all computors have serial ports.? For this reason it has become common to use a USB-to-Serial dongle to install programs into your ARDUINO.

The popular AVRDude program can be configured to write your new programs to the serial port.? This code is stored as hexadecimal files containing the binary representation of your program.??

=========

You can use assembler language, or a compiled language to write code for your ARDUINO.? Most beginners start with the "ARDUINO IDE" as their first entry into ARDUINO programming.? This system uses C++ language and compiles to the .hex format needed to program your ADUINO.


=============
When you operate the Reset pin on an AVR or ARDUINO the processor starts executing code at address zero.? Astute readers may have already realized that program entry by both RST-SCK-MISO-MOSI or via a Boot loader both install .hex file data in the same place in memory.? This makes it possible to use the C++ compiler IDE to make .hex files that can be installed into a bare AVR processor as well as into an ARDUINO module.??

OKAY..this has been a long edit using my cell phone's tiny keyboard.? There may be typos, errors, etc. that will need correction.? But this a start.....please feel free to add to this DUMMIES INTRODUCTION TO AVR AND ARDUINO PROGRAMMING for QRPLabs and BITX systems.

Arv? K7HKL
_-_




Sent from my Verizon, Samsung Galaxy smartphone

-------- Original message --------
From: Jim Sr Sturges <jwsturges@...>
Date: 10/23/17 1:32 PM (GMT-07:00)
Subject: Re: [QRPLabs] Software Upgrades

Hans, would you pls provide a link to the guide you mentioned for using Arduino to program?

Cheers es 73,

Jim N3SZ

On Mon, Oct 23, 2017 at 3:21 PM Hans Summers <hans.summers@...> wrote:
Hi Lee

It is nothing like the BITX20. With the BITX20 you have to install the Arduino environment. The project is open source and there are tons of different versions of it, so you have to figure out which version you want to install. And which hardware changes you need to make to the BITX40, to be able to run it with that firmware version. Then you have to deal with the fact that it needs some libraries too. And the libraries may not be versions which work with the version of the Arduino sketch, that you want to use... or that don't work with that version of Arduino, that you installed... the Arduino upload will compile the files and maybe you have to fix errors... etc etc. There are many opportunities for headaches, if you are newcomer to all that stuff.?

The QCX has just a single compiled .hex file. It's much more simple.?

I hope someone will write the step by step guide. Include a definition of what item to buy off eBay etc. That would be useful. We already have a guide to using the Arduino as the programmer, which is very nice. But it would be nice to have one too, for one of the $3 AVR programmers from eBay.?

73 Hans G0UPL

On Mon, Oct 23, 2017 at 9:36 PM, Leland L. Bahr <l@...> wrote:

I've been trying to read all this software upgrade stuff on the BITX20 reflector from members there, and I must tell you, trying to understand what they are saying is a nightmare for me.? All I see there is members having grief and interface problems trying to upgrade software.? Seems like almost everyone there has a different set of problems.? Some are hardware issues with the particular programmers being used.? Then I saw something on Hans web site about pin converters.? Going from more pins to less pins using an adapter.? After a few minutes of trying to understand what is going on gets me to want to go to my local pub!
Lee, w0vt





--
Jim Sturges, N3SZ
Amateur Radio operators do it with frequency.


Virus-free.



 

The fuses discussion might lead you to think that it is required or safe to mess with the fuses on the QCX chips.
They should under no circumstances be touched as this will lead to a broken copy protection and unusable chip for the QCX.

In the avrdudess gui you only use the write function under the flash section.


On Tue, Oct 24, 2017 at 8:09 PM, Arv Evans <arvid.evans@...> wrote:



Victor Nagoryanskii
 

Hi,

I found it very easy to program a chip using Raspberry Pi (or basically any Linux machine). I used?usbasp programmer (search on ebay), but technically you can hook up GPIO on Raspberry Pi directly to chip. Then (using usbasp):

$ sudo apt-get install?avrdude # install required software
$ sudo avrdude? -c usbasp -p m328p -U flash:r:flash.bin:r? ? ?# backup existing chip's firmware (will be saved to flash.bin file)
$ sudo avrdude? -c usbasp -p m328p -U flash:w:T1.00c.hex # write a new firmware to the chip

That's all.

73, Victor PD7WA


 

On Wed, Oct 25, 2017 at 7:27 PM, Victor Nagoryanskii <nagoryanskii@...> wrote:
Hi,

I found it very easy to program a chip using Raspberry Pi (or basically any Linux machine). I used?usbasp programmer (search on ebay), but technically you can hook up GPIO on Raspberry Pi directly to chip. Then (using usbasp):

$ sudo apt-get install?avrdude # install required software
$ sudo avrdude? -c usbasp -p m328p -U flash:r:flash.bin:r? ? ?# backup existing chip's firmware (will be saved to flash.bin file)
$ sudo avrdude? -c usbasp -p m328p -U flash:w:T1.00c.hex # write a new firmware to the chip

The "backup existing firmware" is pointless on the QCX, it will not be read out (or just 0xFF's) due to lockbits. The same goes for verify. The only one you need is the flash:w:xxx.hex.
Also not a good idea to hook it up straight to the RPi GPIO as it's 3.3V and the QCX is 5V, toasting the gpio pins in a jiffy. Powering it from the RPi at 3.3V might trip the BOD on the m328p, but might work because you're using the reset line when writing the flash.
Using a proper/cheapo programmer is the way to go if you want the results you're expecting.


 

On Wed, Oct 25, 2017 at 7:27 PM, Victor Nagoryanskii <nagoryanskii@...> wrote:
Hi,

I found it very easy to program a chip using Raspberry Pi (or basically any Linux machine). I used?usbasp programmer (search on ebay), but technically you can hook up GPIO on Raspberry Pi directly to chip. Then (using usbasp):

$ sudo apt-get install?avrdude # install required software
$ sudo avrdude? -c usbasp -p m328p -U flash:r:flash.bin:r? ? ?# backup existing chip's firmware (will be saved to flash.bin file)
$ sudo avrdude? -c usbasp -p m328p -U flash:w:T1.00c.hex # write a new firmware to the chip

The "backup existing firmware" is pointless on the QCX, it will not be read out (or just 0xFF's) due to lockbits. The same goes for verify. The only one you need is the flash:w:xxx.hex.
Also not a good idea to hook it up straight to the RPi GPIO as it's 3.3V and the QCX is 5V, toasting the gpio pins in a jiffy. Powering it from the RPi at 3.3V might trip the BOD on the m328p, but might work because you're using the reset line when writing the flash.
Using a proper/cheapo programmer is the way to go if you want the results you're expecting.


 

At last a useful post on this group. Thanks Victor.

Makes a change from reading about QCX users marital problems, obsessions with serial numbers,
moaners about shipping times and other twatty posts.

73 de Andy


 

¿ªÔÆÌåÓý

Like this one

October 25, 2017 at 1:34 PM
and other twatty posts.

73 de Andy