开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

DIY Xcats


 

I've uploaded the Xcat schematic and bootloader hex file to the file area.
?
This will allow the brave/crazy to build a DIY Xcat.??
?
NB: We missed the need for pullup resistors on A0 to A7 in the original design.??
On a "real" Xcat this was fixed by adding a 2.2K SIP resistor pack on the back?
of the connector (pins 9 to 16).
?
The needed resistors are **NOT** shown on the schematic.
?
73's Skip WB6YMH


 

开云体育

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.

?

Would you mind answering a couple questions for me?

1.?????? How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?

2.?????? Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.

?

FYI, my programmer is a Phyton ChipProg-40.

?

I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.

?

73,

Brad KB9BPF

?

?

From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 06, 2022 7:42 PM
To: [email protected]
Subject: [xcat] DIY Xcats

?

I've uploaded the Xcat schematic and bootloader hex file to the file area.

?

This will allow the brave/crazy to build a DIY Xcat.??

?

NB: We missed the need for pullup resistors on A0 to A7 in the original design.??

On a "real" Xcat this was fixed by adding a 2.2K SIP resistor pack on the back?

of the connector (pins 9 to 16).

?

The needed resistors are **NOT** shown on the schematic.

?

73's Skip WB6YMH


 

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH


 

Hi Skip, and thanks for the tips.

Yes, I did include the extra SIP resistor network. I also changed the two smaller SIPs to a single SOIC resistor network, included a couple extra bypass caps, and scooted things around slightly for space. And I changed the resonator to an SMT.

I'm attempting to attach a PDF of the schematic and the artwork for perusal. Only when I have confirmed that the circuit boards work will I post the ExpressPCB files. I don’t remember of this group allows attachments or not, but I'll try it.

Regarding programming, when you say "The two steps aren't necessary; you can flash everything in one go if you combine the hex files. I did it that way to test the serial port." Do you mean an overlay of the two? I haven't looked at PIC programming for a long time, and only did a couple easy things when I did do it. Back then I used a serial programmer from MBasic, if I remember correctly, and it used standard DIP sockets. I thought I'd use the Phyton because it I have a PLCC adapter for it, but it's made for the ZIF DIP socket on the Phyton, not regular DIP sockets. I'll have to get out the PIC docs again and study up on programming requirements before I waste a lot of people's time and patience asking questions I should figure out on my own.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH


 

Hi Bradley,

It should be possible to combine the two hex files by just deleting
the end of file line in one and then appending the contents of the
other. On the other hand, just flashing both of them sequentially is
probably way easier than screwing around combining the files. Just
make sure you aren't doing a whole chip erase twice (grin).

The bootrom's hex file should contain the values for the PICs
configuration bits as well as the code. The configuration bits are
one time programmable if I remember correctly and they are not in the
application image. If the configuration bits aren't correct the
oscillator won't even startup.

73's Skip


On Sat, Aug 20, 2022 at 7:24 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip, and thanks for the tips.

Yes, I did include the extra SIP resistor network. I also changed the two smaller SIPs to a single SOIC resistor network, included a couple extra bypass caps, and scooted things around slightly for space. And I changed the resonator to an SMT.

I'm attempting to attach a PDF of the schematic and the artwork for perusal. Only when I have confirmed that the circuit boards work will I post the ExpressPCB files. I don’t remember of this group allows attachments or not, but I'll try it.

Regarding programming, when you say "The two steps aren't necessary; you can flash everything in one go if you combine the hex files. I did it that way to test the serial port." Do you mean an overlay of the two? I haven't looked at PIC programming for a long time, and only did a couple easy things when I did do it. Back then I used a serial programmer from MBasic, if I remember correctly, and it used standard DIP sockets. I thought I'd use the Phyton because it I have a PLCC adapter for it, but it's made for the ZIF DIP socket on the Phyton, not regular DIP sockets. I'll have to get out the PIC docs again and study up on programming requirements before I waste a lot of people's time and patience asking questions I should figure out on my own.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH









 

I just quickly compared the picldr and v033 hex files.

In the picldr, the first two bytes (0000-0001) are 0000 2832, then bytes 0002-000F are 3FFF, then it looks like the picldr code begins in earnest at 0010 and runs until 013F, then at 0140 it turns back into 3FFF.

In v033, the bytes 0000-0001 are both 3FFF, then there is some 'stuff' from 0002-000C, and then it's 3FFF again in address 0010 to 013F and the code looks to begin at address 0140.

So do I simply paste the picldr code into bytes 0000-013F of the v033? Or do I need to keep the 'stuff' from 0002-000C in the v033 code?

I should probably try to figure it out by RTFM but I thought it wouldn't hurt (much) to ask...

Thanks,
Brad KB9BPF

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Bradley Andrews via groups.io
Sent: Saturday, August 20, 2022 9:24 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

Hi Skip, and thanks for the tips.

Yes, I did include the extra SIP resistor network. I also changed the two smaller SIPs to a single SOIC resistor network, included a couple extra bypass caps, and scooted things around slightly for space. And I changed the resonator to an SMT.

I'm attempting to attach a PDF of the schematic and the artwork for perusal Only when I have confirmed that the circuit boards work will I post the ExpressPCB files. I don’t remember of this group allows attachments or not, but I'll try it.

Regarding programming, when you say "The two steps aren't necessary; you can flash everything in one go if you combine the hex files. I did it that way to test the serial port." Do you mean an overlay of the two? I haven't looked at PIC programming for a long time, and only did a couple easy things when I did do it. Back then I used a serial programmer from MBasic, if I remember correctly, and it used standard DIP sockets. I thought I'd use the Phyton because it I have a PLCC adapter for it, but it's made for the ZIF DIP socket on the Phyton, not regular DIP sockets. I'll have to get out the PIC docs again and study up on programming requirements before I waste a lot of people's time and patience asking questions I should figure out on my own.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io <kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the accessory cable and the connector normally connected to the Syntor. I connected the necessary pins to a PIC programmer and programmed the bootloader. Once the bootloader has been programmed I flashed the application firmware via the serial port. The two steps aren't necessary; you can flash everything in one go if you combine the hex files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product and the company that made it when out of business long ago. If your programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH


 

I was writing the other while you were writing this. Sounds like I may have to build a programming adapter access the appropriate pins on the Xcat, like you did.

I need to have a think on it and do some reading so that I don't bother you or the group with my ignorance. When I have more intelligent questions I'll come back. Thanks for your willingness to help!

73
Brad KB9BPF
On Saturday, August 20, 2022, 10:06:42 PM CDT, Skip Hansen <skip@...> wrote:


Hi Bradley,

It should be possible to combine the two hex files by just deleting
the end of file line in one and then appending the contents of the
other.? On the other hand, just flashing both of them sequentially is
probably way easier than screwing around combining the files.? Just
make sure you aren't doing a whole chip erase twice (grin).

The bootrom's hex file should contain the values for the PICs
configuration bits as well as the code.? The configuration bits are
one time programmable if I remember correctly and they are not in the
application image.? If the configuration bits aren't correct the
oscillator won't even startup.

73's Skip


On Sat, Aug 20, 2022 at 7:24 PM Bradley Andrews via groups.io
<kb9bpf=[email protected]> wrote:
>
> Hi Skip, and thanks for the tips.
>
> Yes, I did include the extra SIP resistor network. I also changed the two smaller SIPs to a single SOIC resistor network, included a couple extra bypass caps, and scooted things around slightly for space. And I changed the resonator to an SMT.
>
> I'm attempting to attach a PDF of the schematic and the artwork for perusal. Only when I have confirmed that the circuit boards work will I post the ExpressPCB files. I don’t remember of this group allows attachments or not, but I'll try it.
>
> Regarding programming, when you say "The two steps aren't necessary; you can flash everything in one go if you combine the hex files.? I did it that way to test the serial port." Do you mean an overlay of the two? I haven't looked at PIC programming for a long time, and only did a couple easy things when I did do it. Back then I used a serial programmer from MBasic, if I remember correctly, and it used standard DIP sockets. I thought I'd use the Phyton because it I have a PLCC adapter for it, but it's made for the ZIF DIP socket on the Phyton, not regular DIP sockets. I'll have to get out the PIC docs again and study up on programming requirements before I waste a lot of people's time and patience asking questions I should figure out on my own.
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
> Sent: Saturday, August 20, 2022 7:45 PM
> To: [email protected]
> Subject: Re: [xcat] DIY Xcats
>
> On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
> <kb9bpf=[email protected]> wrote:
> >
> > Hi Skip,
> >
> > Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.
> >
> >
> >
> > Would you mind answering a couple questions for me?
> >
> > 1.? ? ? How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
>
> Neither.? The programming pins are available via a combination of the
> accessory cable and the connector normally connected to the Syntor.? I
> connected the necessary pins to a PIC programmer and programmed the
> bootloader.? Once the bootloader has been programmed I flashed the
> application firmware via the serial port.? The two steps aren't
> necessary; you can flash everything in one go if you combine the hex
> files.? I did it that way to test the serial port.
>
> >
> > 2.? ? ? Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
>
> You need to program the bootloader first.? In addition to the
> bootloader itself there are configuration bits which are needed.
>
> >
> > FYI, my programmer is a Phyton ChipProg-40.
>
> I don't recall what my programmer was.? It wasn't a Microchip product
> and the company that made it when out of business long ago.? If your
> programmer supports the chip it should be fine.
>
> >
> >
> >
> > I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
>
> That would be EXCELLENT !
>
> Hopefully you've added the pullup resistors that we forgot !
>
> 73's Skip WB6YMH
>
>
>
>
>
>
>
>
>






 

make sure you aren't doing a whole chip erase twice (grin).
... and don't ask you why that comes to mind, huh? :)

De


 

Update 21AUG22:
I put it together this morning but didn't have a chance to test it. Next weekend!

I programmed the picldr with the Phyton before soldering to the Xcat PCB. I need to make a jig to provide 5v to the Xcat then I'll use the on-board RS232 to program v033 into the PIC.

I need to dig out my SyntorX stuff to do the functional test.

Will let y'all know how it turns out.

73,
Brad

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH


 

Wow that was fast! My fingers are crossed!

73's Skip WB6YMH

On Sun, Aug 21, 2022 at 8:06 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Update 21AUG22:
I put it together this morning but didn't have a chance to test it. Next weekend!

I programmed the picldr with the Phyton before soldering to the Xcat PCB. I need to make a jig to provide 5v to the Xcat then I'll use the on-board RS232 to program v033 into the PIC.

I need to dig out my SyntorX stuff to do the functional test.

Will let y'all know how it turns out.

73,
Brad

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH










 

Mine too!

The SMT osc resonator was the hardest thing to solder. I think I'll change it back to a through-hole if I have more PCBs made.

73
Brad KB9BPF
On Monday, August 22, 2022, 08:24:46 AM CDT, Skip Hansen <skip@...> wrote:


Wow that was fast!? My fingers are crossed!

73's Skip WB6YMH


On Sun, Aug 21, 2022 at 8:06 PM Bradley Andrews via groups.io
<kb9bpf=[email protected]> wrote:
>
> Update 21AUG22:
> I put it together this morning but didn't have a chance to test it. Next weekend!
>
> I programmed the picldr with the Phyton before soldering to the Xcat PCB. I need to make a jig to provide 5v to the Xcat then I'll use the on-board RS232 to program v033 into the PIC.
>
> I need to dig out my SyntorX? stuff to do the functional test.
>
> Will let y'all know how it turns out.
>
> 73,
> Brad
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
> Sent: Saturday, August 20, 2022 7:45 PM
> To: [email protected]
> Subject: Re: [xcat] DIY Xcats
>
> On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
> <kb9bpf=[email protected]> wrote:
> >
> > Hi Skip,
> >
> > Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.
> >
> >
> >
> > Would you mind answering a couple questions for me?
> >
> > 1.? ? ? How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
>
> Neither.? The programming pins are available via a combination of the
> accessory cable and the connector normally connected to the Syntor.? I
> connected the necessary pins to a PIC programmer and programmed the
> bootloader.? Once the bootloader has been programmed I flashed the
> application firmware via the serial port.? The two steps aren't
> necessary; you can flash everything in one go if you combine the hex
> files.? I did it that way to test the serial port.
>
> >
> > 2.? ? ? Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
>
> You need to program the bootloader first.? In addition to the
> bootloader itself there are configuration bits which are needed.
>
> >
> > FYI, my programmer is a Phyton ChipProg-40.
>
> I don't recall what my programmer was.? It wasn't a Microchip product
> and the company that made it when out of business long ago.? If your
> programmer supports the chip it should be fine.
>
> >
> >
> >
> > I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
>
> That would be EXCELLENT !
>
> Hopefully you've added the pullup resistors that we forgot !
>
> 73's Skip WB6YMH
>
>
>
>
>
>
>
>
>
>






 

Hi Brad,

What did you use for the connector to the Syntor?? Molex is showing the original part number as no longer available.

Thanks.

? Dave
? WA1JHK


 

I did what Lee did on the last ones I got from him: I used a 10-position and a 12-position.

Molex 22152106 (10 position)
Molex 22152126 (12-position)

On Monday, August 29, 2022, 10:38:18 AM CDT, Dave WA1JHK <wa1jhk@...> wrote:


Hi Brad,

What did you use for the connector to the Syntor?? Molex is showing the original part number as no longer available.

Thanks.

? Dave
? WA1JHK


 

What did you use for the connector to the Syntor? Molex is showing
> the original part number as no longer available.

Are you referring to P1 here? If so, I didn't realize Molex made that.

De


 

Are you referring to P1 here? If so, I didn't realize Molex made
> that.

Oh, just saw the reply. N/m.

De


 

开云体育

Skip,

I have a question about programming, but first some background and a progress report:

-????????? A couple weeks ago, after I’d gotten my boards, I programmed a PIC with picldr.hex using my Phyton ChipProg-40 and the DIP-to PLCC adapter. When I tried to connect the PC to upload the rest of the firmware through the Xcat PC software, it didn’t work, getting stuck waiting for the download request from the Xcat.

-????????? So, I’ve built a programming adapter and had a go at it again. The programmer says the PIC programs OK and verifies OK. Then I try a read and it comes back all 0000. A re-verify comes back all 0000.

-????????? I did some more reading, pulling down books that I haven’t looked in for 13 years. So it’s looking like the protect bit is set in the config register. I didn’t find - until just now as I’m thinking better (after some rest) - the place in the Phyton to set the device config.

-????????? I found that the picldr.hex file puts 1F76 in location 2007, the config register, which sets the memory protection. I turned it off in the config and changed location 2007 in the program buffer and could read back the (now modified) picldr.hex code I programmed, but when I put the PIC in the Xcat in the Syntor X, and attempted to use the Xcat PC software to upload the v033 firmware, it still wouldn’t go past the stage of waiting for the download request from the Xcat even after power-cycling the radio.

?

So now my question to you, Skip, is this: What am I doing incorrectly? To quickly summarize what I’ve been doing: flash the picldr, then attempt to use Xcat PC to upload the v033 firmware.

?

Oh and FYI, the config bits are not OTP: they can be changed if you run a complete erase. So at least I’m not trashing $9 PICs while I learn.

?

Once I figure out how to correctly get the PICs programmed, I’ll be able to verify the proper function of the PCB, and then I’ll be able to share the fruits of my labors. I think I’m just missing some small but essential piece of the programming puzzle.

?

Thank for the help,

Brad KB9BPF

?

From: [email protected] [mailto:[email protected]] On Behalf Of Bradley Andrews via groups.io
Sent: Saturday, August 20, 2022 10:22 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

?

I was writing the other while you were writing this. Sounds like I may have to build a programming adapter access the appropriate pins on the Xcat, like you did.

I need to have a think on it and do some reading so that I don't bother you or the group with my ignorance When I have more intelligent questions I'll come back. Thanks for your willingness to help!

73
Brad KB9BPF

On Saturday, August 20, 2022, 10:06:42 PM CDT, Skip Hansen <skip@...> wrote:

?

?

Hi Bradley,

It should be possible to combine the two hex files by just deleting
the end of file line in one and then appending the contents of the
other.? On the other hand, just flashing both of them sequentially is
probably way easier than screwing around combining the files.? Just
make sure you aren't doing a whole chip erase twice (grin).

The bootrom's hex file should contain the values for the PICs
configuration bits as well as the code.? The configuration bits are
one time programmable if I remember correctly and they are not in the
application image.? If the configuration bits aren't correct the
oscillator won't even startup.

73's Skip


On Sat, Aug 20, 2022 at 7:24 PM Bradley Andrews via groups.io
<kb9bpf=[email protected]> wrote:
>
> Hi Skip, and thanks for the tips.
>
> Yes, I did include the extra SIP resistor network. I also changed the two smaller SIPs to a single SOIC resistor network, included a couple extra bypass caps, and scooted things around slightly for space. And I changed the resonator to an SMT.
>
> I'm attempting to attach a PDF of the schematic and the artwork for perusal. Only when I have confirmed that the circuit boards work will I post the ExpressPCB files. I don’t remember of this group allows attachments or not, but I'll try it.
>
> Regarding programming, when you say "The two steps aren't necessary; you can flash everything in one go if you combine the hex files.? I did it that way to test the serial port." Do you mean an overlay of the two? I haven't looked at PIC programming for a long time, and only did a couple easy things when I did do it. Back then I used a serial programmer from MBasic, if I remember correctly, and it used standard DIP sockets. I thought I'd use the Phyton because it I have a PLCC adapter for it, but it's made for the ZIF DIP socket on the Phyton, not regular DIP sockets. I'll have to get out the PIC docs again and study up on programming requirements before I waste a lot of people's time and patience asking questions I should figure out on my own.
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
> Sent: Saturday, August 20, 2022 7:45 PM
> To: [email protected]
> Subject: Re: [xcat] DIY Xcats
>
> On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
> <kb9bpf=[email protected]> wrote:
> >
> > Hi Skip,
> >
> > Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.
> >
> >
> >
> > Would you mind answering a couple questions for me?
> >
> > 1.? ? ? How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
>
> Neither.? The programming pins are available via a combination of the
> accessory cable and the connector normally connected to the Syntor.? I
> connected the necessary pins to a PIC programmer and programmed the
> bootloader.? Once the bootloader has been programmed I flashed the
> application firmware via the serial port.? The two steps aren't
> necessary; you can flash everything in one go if you combine the hex
> files.? I did it that way to test the serial port.
>
> >
> > 2.? ? ? Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
>
> You need to program the bootloader first.? In addition to the
> bootloader itself there are configuration bits which are needed.
>
> >
> > FYI, my programmer is a Phyton ChipProg-40.
>
> I don't recall what my programmer was.? It wasn't a Microchip product
> and the company that made it when out of business long ago.? If your
> programmer supports the chip it should be fine.
>
> >
> >
> >
> > I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
>
> That would be EXCELLENT !
>
> Hopefully you've added the pullup resistors that we forgot !
>
> 73's Skip WB6YMH
>
>
>
>
>
>
>
>
>





 

Hi Brad,

I think you've figured it out. There are lots of lost bits in my
memory, but reading the comments in the bootloader code it appears
that it expects the application to have put a jump to the start of the
application at address 0x02. That's not how I would have done it
today, but there may be reasons that I've forgotten.

The source for the bootloader is fairly well commented and is
available here:

--- snip ---
;Simple Intel hex loader/programmer.
;
;Programs a line at a time is into flash and then sends a single character
;response (following receipt of a carrage return). Host software must wait
;for the response before sending the next line.
;
;Loader is entered by holding the serial line in a space state while the
;PIC is turned on (or reset). If the serial line is in a mark state
;immediately after reset the normal application code is run.
;
;Modifications to application program to use loader:
; 1. Start startup at address 2 rather than zero.
; 2. Start application code after the end of loader.
; 3. Ensure only addresses below end of loader programmed by hex file
; are 2 (start vector), 3 and 4 (interrupt vector)
;
;Response after receiving a carrage return character:
;'B' - Begin sending (first line, no prior status to report)
;'P' - Programmed data Ok
;'E' - program Error
;'C' - Checksum error
;'S' - Syntax error (non-hex digit received)
;'I' - last record type Ignored
;'F' - Finished ... jumping to application
;'R' - program address out of range (probably the configuration word),
; record ignored.
--- snip ---

Good luck! We're all waiting on the edge of our chairs to hear if it
works or not!

73's Skip WB6YMH

On Mon, Sep 5, 2022 at 1:11 AM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Skip,

I have a question about programming, but first some background and a progress report:

- A couple weeks ago, after I’d gotten my boards, I programmed a PIC with picldr.hex using my Phyton ChipProg-40 and the DIP-to PLCC adapter. When I tried to connect the PC to upload the rest of the firmware through the Xcat PC software, it didn’t work, getting stuck waiting for the download request from the Xcat.

- So, I’ve built a programming adapter and had a go at it again. The programmer says the PIC programs OK and verifies OK. Then I try a read and it comes back all 0000. A re-verify comes back all 0000.

- I did some more reading, pulling down books that I haven’t looked in for 13 years. So it’s looking like the protect bit is set in the config register. I didn’t find - until just now as I’m thinking better (after some rest) - the place in the Phyton to set the device config.

- I found that the picldr.hex file puts 1F76 in location 2007, the config register, which sets the memory protection. I turned it off in the config and changed location 2007 in the program buffer and could read back the (now modified) picldr.hex code I programmed, but when I put the PIC in the Xcat in the Syntor X, and attempted to use the Xcat PC software to upload the v033 firmware, it still wouldn’t go past the stage of waiting for the download request from the Xcat even after power-cycling the radio.



So now my question to you, Skip, is this: What am I doing incorrectly? To quickly summarize what I’ve been doing: flash the picldr, then attempt to use Xcat PC to upload the v033 firmware.



Oh and FYI, the config bits are not OTP: they can be changed if you run a complete erase. So at least I’m not trashing $9 PICs while I learn.



Once I figure out how to correctly get the PICs programmed, I’ll be able to verify the proper function of the PCB, and then I’ll be able to share the fruits of my labors. I think I’m just missing some small but essential piece of the programming puzzle.



Thank for the help,

Brad KB9BPF



From: [email protected] [mailto:[email protected]] On Behalf Of Bradley Andrews via groups.io
Sent: Saturday, August 20, 2022 10:22 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats



I was writing the other while you were writing this. Sounds like I may have to build a programming adapter access the appropriate pins on the Xcat, like you did.

I need to have a think on it and do some reading so that I don't bother you or the group with my ignorance When I have more intelligent questions I'll come back. Thanks for your willingness to help!

73
Brad KB9BPF

On Saturday, August 20, 2022, 10:06:42 PM CDT, Skip Hansen <skip@...> wrote:





Hi Bradley,

It should be possible to combine the two hex files by just deleting
the end of file line in one and then appending the contents of the
other. On the other hand, just flashing both of them sequentially is
probably way easier than screwing around combining the files. Just
make sure you aren't doing a whole chip erase twice (grin).

The bootrom's hex file should contain the values for the PICs
configuration bits as well as the code. The configuration bits are
one time programmable if I remember correctly and they are not in the
application image. If the configuration bits aren't correct the
oscillator won't even startup.

73's Skip


On Sat, Aug 20, 2022 at 7:24 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip, and thanks for the tips.

Yes, I did include the extra SIP resistor network. I also changed the two smaller SIPs to a single SOIC resistor network, included a couple extra bypass caps, and scooted things around slightly for space. And I changed the resonator to an SMT.

I'm attempting to attach a PDF of the schematic and the artwork for perusal. Only when I have confirmed that the circuit boards work will I post the ExpressPCB files. I don’t remember of this group allows attachments or not, but I'll try it.

Regarding programming, when you say "The two steps aren't necessary; you can flash everything in one go if you combine the hex files. I did it that way to test the serial port." Do you mean an overlay of the two? I haven't looked at PIC programming for a long time, and only did a couple easy things when I did do it. Back then I used a serial programmer from MBasic, if I remember correctly, and it used standard DIP sockets. I thought I'd use the Phyton because it I have a PLCC adapter for it, but it's made for the ZIF DIP socket on the Phyton, not regular DIP sockets. I'll have to get out the PIC docs again and study up on programming requirements before I waste a lot of people's time and patience asking questions I should figure out on my own.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH












 

Hi Skip, and thanks for the encouragement.
Let me ask you simply, should the Xcat application software be used to upload the firmware when only the bootloader is programmed on the PIC?


If so, then something here isn't working. (Probably me...) I've been looking through my old files for the old MPLAB software but I'm not finding it. The computer I used back in '09 when I was dabbling in this stuff crashed long ago but I usually am pretty thorough at archiving software and projects.

Thanks,
Brad

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Monday, September 05, 2022 8:36 AM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

Hi Brad,

I think you've figured it out. There are lots of lost bits in my
memory, but reading the comments in the bootloader code it appears
that it expects the application to have put a jump to the start of the
application at address 0x02. That's not how I would have done it
today, but there may be reasons that I've forgotten.

The source for the bootloader is fairly well commented and is
available here:

--- snip ---
;Simple Intel hex loader/programmer.
;
;Programs a line at a time is into flash and then sends a single character
;response (following receipt of a carrage return). Host software must wait
;for the response before sending the next line.
;
;Loader is entered by holding the serial line in a space state while the
;PIC is turned on (or reset). If the serial line is in a mark state
;immediately after reset the normal application code is run.
;
;Modifications to application program to use loader:
; 1. Start startup at address 2 rather than zero.
; 2. Start application code after the end of loader.
; 3. Ensure only addresses below end of loader programmed by hex file
; are 2 (start vector), 3 and 4 (interrupt vector)
;
;Response after receiving a carrage return character:
;'B' - Begin sending (first line, no prior status to report)
;'P' - Programmed data Ok
;'E' - program Error
;'C' - Checksum error
;'S' - Syntax error (non-hex digit received)
;'I' - last record type Ignored
;'F' - Finished ... jumping to application
;'R' - program address out of range (probably the configuration word),
; record ignored.
--- snip ---

Good luck! We're all waiting on the edge of our chairs to hear if it
works or not!

73's Skip WB6YMH

On Mon, Sep 5, 2022 at 1:11 AM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Skip,

I have a question about programming, but first some background and a progress report:

- A couple weeks ago, after I’d gotten my boards, I programmed a PIC with picldr.hex using my Phyton ChipProg-40 and the DIP-to PLCC adapter. When I tried to connect the PC to upload the rest of the firmware through the Xcat PC software, it didn’t work, getting stuck waiting for the download request from the Xcat.

- So, I’ve built a programming adapter and had a go at it again. The programmer says the PIC programs OK and verifies OK. Then I try a read and it comes back all 0000. A re-verify comes back all 0000.

- I did some more reading, pulling down books that I haven’t looked in for 13 years. So it’s looking like the protect bit is set in the config register. I didn’t find - until just now as I’m thinking better (after some rest) - the place in the Phyton to set the device config.

- I found that the picldr.hex file puts 1F76 in location 2007, the config register, which sets the memory protection. I turned it off in the config and changed location 2007 in the program buffer and could read back the (now modified) picldr.hex code I programmed, but when I put the PIC in the Xcat in the Syntor X, and attempted to use the Xcat PC software to upload the v033 firmware, it still wouldn’t go past the stage of waiting for the download request from the Xcat even after power-cycling the radio.



So now my question to you, Skip, is this: What am I doing incorrectly? To quickly summarize what I’ve been doing: flash the picldr, then attempt to use Xcat PC to upload the v033 firmware.



Oh and FYI, the config bits are not OTP: they can be changed if you run a complete erase. So at least I’m not trashing $9 PICs while I learn.



Once I figure out how to correctly get the PICs programmed, I’ll be able to verify the proper function of the PCB, and then I’ll be able to share the fruits of my labors. I think I’m just missing some small but essential piece of the programming puzzle.



Thank for the help,

Brad KB9BPF



From: [email protected] [mailto:[email protected]] On Behalf Of Bradley Andrews via groups.io
Sent: Saturday, August 20, 2022 10:22 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats



I was writing the other while you were writing this. Sounds like I may have to build a programming adapter access the appropriate pins on the Xcat, like you did.

I need to have a think on it and do some reading so that I don't bother you or the group with my ignorance When I have more intelligent questions I'll come back. Thanks for your willingness to help!

73
Brad KB9BPF

On Saturday, August 20, 2022, 10:06:42 PM CDT, Skip Hansen <skip@...> wrote:





Hi Bradley,

It should be possible to combine the two hex files by just deleting
the end of file line in one and then appending the contents of the
other. On the other hand, just flashing both of them sequentially is
probably way easier than screwing around combining the files. Just
make sure you aren't doing a whole chip erase twice (grin).

The bootrom's hex file should contain the values for the PICs
configuration bits as well as the code. The configuration bits are
one time programmable if I remember correctly and they are not in the
application image. If the configuration bits aren't correct the
oscillator won't even startup.

73's Skip


On Sat, Aug 20, 2022 at 7:24 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip, and thanks for the tips.

Yes, I did include the extra SIP resistor network. I also changed the two smaller SIPs to a single SOIC resistor network, included a couple extra bypass caps, and scooted things around slightly for space. And I changed the resonator to an SMT.

I'm attempting to attach a PDF of the schematic and the artwork for perusal. Only when I have confirmed that the circuit boards work will I post the ExpressPCB files. I don’t remember of this group allows attachments or not, but I'll try it.

Regarding programming, when you say "The two steps aren't necessary; you can flash everything in one go if you combine the hex files. I did it that way to test the serial port." Do you mean an overlay of the two? I haven't looked at PIC programming for a long time, and only did a couple easy things when I did do it. Back then I used a serial programmer from MBasic, if I remember correctly, and it used standard DIP sockets. I thought I'd use the Phyton because it I have a PLCC adapter for it, but it's made for the ZIF DIP socket on the Phyton, not regular DIP sockets. I'll have to get out the PIC docs again and study up on programming requirements before I waste a lot of people's time and patience asking questions I should figure out on my own.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH












 

Hi Brad,

No you need to flash it the first time using a programmer.

What I probably did was use the programmer to flash the loader and
some old version of the application then I updated to the current
version of the application to test the serial interface.

I misled you due to a memory parity error (girn).


73's Skip WB6YMH

On Mon, Sep 5, 2022 at 7:26 AM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip, and thanks for the encouragement.
Let me ask you simply, should the Xcat application software be used to upload the firmware when only the bootloader is programmed on the PIC?


If so, then something here isn't working. (Probably me...) I've been looking through my old files for the old MPLAB software but I'm not finding it. The computer I used back in '09 when I was dabbling in this stuff crashed long ago but I usually am pretty thorough at archiving software and projects.

Thanks,
Brad

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Monday, September 05, 2022 8:36 AM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

Hi Brad,

I think you've figured it out. There are lots of lost bits in my
memory, but reading the comments in the bootloader code it appears
that it expects the application to have put a jump to the start of the
application at address 0x02. That's not how I would have done it
today, but there may be reasons that I've forgotten.

The source for the bootloader is fairly well commented and is
available here:

--- snip ---
;Simple Intel hex loader/programmer.
;
;Programs a line at a time is into flash and then sends a single character
;response (following receipt of a carrage return). Host software must wait
;for the response before sending the next line.
;
;Loader is entered by holding the serial line in a space state while the
;PIC is turned on (or reset). If the serial line is in a mark state
;immediately after reset the normal application code is run.
;
;Modifications to application program to use loader:
; 1. Start startup at address 2 rather than zero.
; 2. Start application code after the end of loader.
; 3. Ensure only addresses below end of loader programmed by hex file
; are 2 (start vector), 3 and 4 (interrupt vector)
;
;Response after receiving a carrage return character:
;'B' - Begin sending (first line, no prior status to report)
;'P' - Programmed data Ok
;'E' - program Error
;'C' - Checksum error
;'S' - Syntax error (non-hex digit received)
;'I' - last record type Ignored
;'F' - Finished ... jumping to application
;'R' - program address out of range (probably the configuration word),
; record ignored.
--- snip ---

Good luck! We're all waiting on the edge of our chairs to hear if it
works or not!

73's Skip WB6YMH

On Mon, Sep 5, 2022 at 1:11 AM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Skip,

I have a question about programming, but first some background and a progress report:

- A couple weeks ago, after I’d gotten my boards, I programmed a PIC with picldr.hex using my Phyton ChipProg-40 and the DIP-to PLCC adapter. When I tried to connect the PC to upload the rest of the firmware through the Xcat PC software, it didn’t work, getting stuck waiting for the download request from the Xcat.

- So, I’ve built a programming adapter and had a go at it again. The programmer says the PIC programs OK and verifies OK. Then I try a read and it comes back all 0000. A re-verify comes back all 0000.

- I did some more reading, pulling down books that I haven’t looked in for 13 years. So it’s looking like the protect bit is set in the config register. I didn’t find - until just now as I’m thinking better (after some rest) - the place in the Phyton to set the device config.

- I found that the picldr.hex file puts 1F76 in location 2007, the config register, which sets the memory protection. I turned it off in the config and changed location 2007 in the program buffer and could read back the (now modified) picldr.hex code I programmed, but when I put the PIC in the Xcat in the Syntor X, and attempted to use the Xcat PC software to upload the v033 firmware, it still wouldn’t go past the stage of waiting for the download request from the Xcat even after power-cycling the radio.



So now my question to you, Skip, is this: What am I doing incorrectly? To quickly summarize what I’ve been doing: flash the picldr, then attempt to use Xcat PC to upload the v033 firmware.



Oh and FYI, the config bits are not OTP: they can be changed if you run a complete erase. So at least I’m not trashing $9 PICs while I learn.



Once I figure out how to correctly get the PICs programmed, I’ll be able to verify the proper function of the PCB, and then I’ll be able to share the fruits of my labors. I think I’m just missing some small but essential piece of the programming puzzle.



Thank for the help,

Brad KB9BPF



From: [email protected] [mailto:[email protected]] On Behalf Of Bradley Andrews via groups.io
Sent: Saturday, August 20, 2022 10:22 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats



I was writing the other while you were writing this. Sounds like I may have to build a programming adapter access the appropriate pins on the Xcat, like you did.

I need to have a think on it and do some reading so that I don't bother you or the group with my ignorance When I have more intelligent questions I'll come back. Thanks for your willingness to help!

73
Brad KB9BPF

On Saturday, August 20, 2022, 10:06:42 PM CDT, Skip Hansen <skip@...> wrote:





Hi Bradley,

It should be possible to combine the two hex files by just deleting
the end of file line in one and then appending the contents of the
other. On the other hand, just flashing both of them sequentially is
probably way easier than screwing around combining the files. Just
make sure you aren't doing a whole chip erase twice (grin).

The bootrom's hex file should contain the values for the PICs
configuration bits as well as the code. The configuration bits are
one time programmable if I remember correctly and they are not in the
application image. If the configuration bits aren't correct the
oscillator won't even startup.

73's Skip


On Sat, Aug 20, 2022 at 7:24 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip, and thanks for the tips.

Yes, I did include the extra SIP resistor network. I also changed the two smaller SIPs to a single SOIC resistor network, included a couple extra bypass caps, and scooted things around slightly for space. And I changed the resonator to an SMT.

I'm attempting to attach a PDF of the schematic and the artwork for perusal. Only when I have confirmed that the circuit boards work will I post the ExpressPCB files. I don’t remember of this group allows attachments or not, but I'll try it.

Regarding programming, when you say "The two steps aren't necessary; you can flash everything in one go if you combine the hex files. I did it that way to test the serial port." Do you mean an overlay of the two? I haven't looked at PIC programming for a long time, and only did a couple easy things when I did do it. Back then I used a serial programmer from MBasic, if I remember correctly, and it used standard DIP sockets. I thought I'd use the Phyton because it I have a PLCC adapter for it, but it's made for the ZIF DIP socket on the Phyton, not regular DIP sockets. I'll have to get out the PIC docs again and study up on programming requirements before I waste a lot of people's time and patience asking questions I should figure out on my own.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH




















 

OK, I've debugged and proven my Xcat PCB layout works. I've uploaded the files to the Files section of the group.

Xcat PCB layout by Brad KB9BPF: Notes 26SEP22

- I am NOT interested in building Xcats. These resources are for those who are interested in DIY.
- I used free ExpressPCB Classic software to create these files. It is available at
- I've found ExpressPCB to be extremely easy to learn and use.
- Boards are ordered through the ExpressPCB software using an internet connection.
- If I have spare PCBs I would be willing to sell them. Contact me if interested.
- If I have spare parts I would be willing to sell them. Contact me if interested.
- I can program PICs. Contact me if interested.

Anything I sell will be as close to my cost as possible. I would like to defray some of the modest costs I incurred developing and debugging.

I do not make any guarantees or provide any warranties.
- You must judge for yourself whether or not these resources meet your specifications or standards.
- You must judge for yourself whether or not your skills and tools are adequate to the task of assembling these very small surface mount devices.
- Any parts I provide will be new, or NOS, from a reputable source, usually Digikey or Mouser. All sales will be final - no refunds or returns.

Contact:
Brad Andrews KB9BPF

kb9bpf
- at -
A R R L
- dot -
ORG

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Monday, August 22, 2022 8:24 AM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

Wow that was fast! My fingers are crossed!

73's Skip WB6YMH

On Sun, Aug 21, 2022 at 8:06 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Update 21AUG22:
I put it together this morning but didn't have a chance to test it. Next weekend!

I programmed the picldr with the Phyton before soldering to the Xcat PCB. I need to make a jig to provide 5v to the Xcat then I'll use the on-board RS232 to program v033 into the PIC.

I need to dig out my SyntorX stuff to do the functional test.

Will let y'all know how it turns out.

73,
Brad

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Skip Hansen
Sent: Saturday, August 20, 2022 7:45 PM
To: [email protected]
Subject: Re: [xcat] DIY Xcats

On Sat, Aug 20, 2022 at 4:53 PM Bradley Andrews via groups.io
<kb9bpf@...> wrote:

Hi Skip,

Thank you for giving your blessing to those of us who are brave/crazy in this way. I’ve wanted to do this for some time but didn’t want to step on your (or Lee’s) toes.



Would you mind answering a couple questions for me?

1. How did you guys program your PICs? Did you do it in a stand-alone programmer before soldering to the PCB, or did you do it via the RS232 serial port on the Xcat?
Neither. The programming pins are available via a combination of the
accessory cable and the connector normally connected to the Syntor. I
connected the necessary pins to a PIC programmer and programmed the
bootloader. Once the bootloader has been programmed I flashed the
application firmware via the serial port. The two steps aren't
necessary; you can flash everything in one go if you combine the hex
files. I did it that way to test the serial port.


2. Regarding the Xcat firmware, xcat_v033/xcat.hex, if I wanted to program it in my standalone programmer before soldering, would I use ‘Standard/Extended Intel HEX (*.hex, *.mcs)’ whose checksum comes to 001EA2F4, or force it to read in Binary whose checksum is 000CF1CF? I don’t want to do it incorrectly and not find out until the PIC is soldered in place.
You need to program the bootloader first. In addition to the
bootloader itself there are configuration bits which are needed.


FYI, my programmer is a Phyton ChipProg-40.
I don't recall what my programmer was. It wasn't a Microchip product
and the company that made it when out of business long ago. If your
programmer supports the chip it should be fine.




I like ExpressPCB and that’s what I used to lay out my Xcat ‘clone’ boards. If it works, and I expect it will, I’ll have some spares available if anyone is interested in obtaining them (at my cost) and using them to assemble their own. I’ll also be happy to upload the ExpressPCB .sch and .pcb files to the file section of this group, if you give that your blessing, Skip. I’d be willing to provide programmed PICs for those who are interested, as well as the other parts, but only with your blessing, Skip.
That would be EXCELLENT !

Hopefully you've added the pullup resistors that we forgot !

73's Skip WB6YMH