Jump to content
IGNORED

Create ICSP Programmer for Embedded Micro Controller Chips


mytek

Recommended Posts

How about this joystick plug: http://www.digikey.nl/product-detail/en/5207826-4/A34005-ND/1123781

 

It is all plastic, and should only require cutting off the tabs on either side (only on some models).

 

No Krazy glue or epoxy required.

 

Yes that would probably work, but it will be a bit tricky to solder up because unlike the solder-cup connections which the board fits snugly between, this one has much skinnier pins that will likely need to be bent inward.

 

Still a good find :thumbsup:

 

- Michael

Edited by mytekcontrols
Link to comment
Share on other sites

Here's a revised Schematic with the new BOM...

 

vtLE5lB.png

 

And here is a Jameco order I placed today based on that BOM...

 

BB9z3dP.png

Shipping to California

 

 

All of the items except for the last two are at minimum order quantities. And the last two I ordered more than one to get the total order at or above $10 to avoid their minimum order charge. However there is a certain logic to this, since I can build two complete units (and still have some parts left over). Of course if your goal is to build a bunch of these, then some adjustments of the other amounts would likely be in order.

 

The new capacitors should fit much better into the board as designed, being a bit skinnier and a tad bit taller. Both the 0.1uf and the 47nf capacitors will look more or less like what is pictured below.

 

544921.jpg

 

 

When I get the new parts I'll update this topic with a new post showing what the completed board looks like. I also have a another idea on how to modify the D-Sub-9F connector, which I'll share later today after I test it.

 

- Michael

  • Like 1
Link to comment
Share on other sites

So here's my no-glue solution to modifying the D-Sub-9F connector...

 

xo9VwD7.jpg

 

I just used a pair of pliers to start the initial bend on the ears, and then followed up by placing it in a vice for the final squeeze. Was easy and quick.

 

- Michael

  • Like 4
Link to comment
Share on other sites

Purple and gold PCBs are the most beautiful colour combo ever!

 

I just wish the purple was a bit more transparent so you could really see the traces even under moderate light. And I think blue would be even cooler. Check out this photo of a TransKey-II where the color got skewed towards blue...

 

3892017_orig.jpg

Very pretty :grin:

 

- Michael

 

EDIT: Isn't Purple and Gold 49'er colors?

Edited by mytekcontrols
  • Like 2
Link to comment
Share on other sites

The FTe Sweet-16's are blue and gold. I can't remember now if that was just the limited first run, or if the blue/gold made it into production. At the time it was more expensive to produce blue / gold.

Any pics of the Sweet-16?

Link to comment
Share on other sites

Hello guys

 

Could somebody please explain in layman's words what this device is suppose to do? I think I understand, but am far from sure. So please explain.

 

Sincerely

 

Mathy

 

Hi Mathy,

 

I presume you are talking about the JOY2PIC Programmer, since Kyle and I got a little off topic. Basically this hardware (which plugs into Joystick #1), and with Daniel's (dsmc) PicProg application, you can currently program 4 Microchip PIC microcontroller chips (12F675, 16F690, 16F1847, 16F1936). The process works by taking an existing hex file generated by whatever PIC code development application you use, turning this code into a custom version of the Atari burner executable, and then running this executable to burn PIC chips with your code. A better explanation as given by Daniel below...

 

  1. Boot the disk in the atari, copy your .hex to the disk and run the supplied program with your hex file as argument, all in the atari.
  2. To simplify the copy, I mount the ATR disk in atari800 emulator, running on Linux: atari800 picprog.ATR -H1 path/to/hex/folder/
  3. Then, inside the emulator, in the BWDOS prompt, you can copy the hex file: COPY H:myfile.hex D:FILE.HEX (note that the H: device is case sensitive in atari800 emu).
  4. And in the same prompt you can generate the programming code (also inside the emulator) READHEX FILE.HEX PROG.COM
  5. Now you have a new "PROG.COM" executable in the disk image, run it in the same prompt: PROG
  6. The ATR image can be mounted in a real Atari and booted any time.

 

So for instance, I use the 16F1847 PIC chip in my TK-II boards, and used Daniel's program to create an executable that will burn the latest TK-II version code into the PIC using the JOY2PIC board and a 18/20 pin ICSP adapter board (could have also done it for cheap by plugging the chip into a proto-board and connecting the 5 ICSP wires to the correct pins on the chip. And it is also possible to burn a chip on the target board without removing it if the target board has a similar ICSP connector. Finally Daniel outlined earlier how more chip types can be added to the application program, thus making it expandable.

 

Bottom line is that the Atari 8 becomes a very capable PIC programmer, without any internal modifications what-so-ever.

 

The Future: Based on Daniel's source code, other chip types could presumably be programmed as well with the proper code modifications. Also it might require a different hardware solution to match the differences.

 

- Michael

 

P.S. Kyle thanks for the link and the explanation on the Sweet-16.

  • Like 1
Link to comment
Share on other sites

Hello Michael

 

Let me check if I understood what you are trying to say:

 

Most modern Atari peripherals and internal upgrades have programmable chips inside.

If these peripherals also have an ICSP connector (or one can be soldered in), I can connect this ICSP connector to the JOY2PIC, which also has such an ICSP connector. Using the Atari, I can now (re)program the programmable chip.

 

Is that correct?

 

Sincerely

 

Mathy

  • Like 1
Link to comment
Share on other sites

Hello Kyle, guys

 

Is the software or the hardware responsible for not being able to program other types of PIC chips?

 

Sincerely

 

Mathy

 

Mainly the software is the reason for it only reprogramming PIC chips. But also the hardware if the ICSP parameters such as voltage levels and number of outputs differs, which it will with some of the other chip families. Basically Daniel and I started with the PIC family on this first project, me because I had an immediate need, and Daniel because he was kind enough to put his energy and ability into the process. But now it will likely be up to someone else to expand into other microcontroller families or add additional PIC types, since I for one don't presently use anything other than the listed PIC chips in my work, and I can't really speak for Daniel's time or inclination. However with that said, I hope that whoever takes up the reins will still use this topic for their posts and updates, since I very intentionally chose a generic title, which leaves it open for any microcontroller imaginable.

 

As for other PIC's, if they utilize Flash then only the software will likely need to be modified to accommodate other chip numbers. And as I mentioned earlier, Daniel gave a good explanation of what it would take to do that in an early posting.

 

- Michael

Edited by mytekcontrols
Link to comment
Share on other sites

Hello Michael

 

Let me check if I understood what you are trying to say:

 

Most modern Atari peripherals and internal upgrades have programmable chips inside.

If these peripherals also have an ICSP connector (or one can be soldered in), I can connect this ICSP connector to the JOY2PIC, which also has such an ICSP connector. Using the Atari, I can now (re)program the programmable chip.

 

Is that correct?

 

Sincerely

 

Mathy

 

A good example of just such an Atari upgrade that utilizes both a PIC and an ICSP connector would be Candle's Stereo Board for the on board AKI chip. Conceivably that chip could be reprogrammed with the JOY2PIC adapter assuming that the PIC's memory allocation specs were added to Daniel's PicProg program to match that chip (whatever that is???).

 

- Michael

 

Edit: Keep in mind that the JOY2PIC adapter will be responsible for supplying the Stereo Board's 5V supply during programming, so this would be best done with the Stereo Board temporarily removed from the Atari. The JOY2PIC can safely supply 600ma for VDD (+5V) assuming that the Atari power supply on the programming computer is capable.

Edited by mytekcontrols
  • Like 1
Link to comment
Share on other sites

Hi myteccontrls, beat me to it :) Oh well, to add to your reply,

Yes to both, 'Hand and glove'. Each Chip producer uses a programming interface that may be different between other producers' chips and other chips in their own line. For instance, the Xilinx CPLD used on the U1M uses a JTAG standard and the AVR based uCs as used in Arduinos uses an SPI based serial. With the PICs there are a few variations to the ICSP specs as Microchip still supports older models as well as the cutting edge new chips.

The beauty of this project is it lowers the bar for the new DIY builder of the TK][ as well as general fun with these newer PICs for future projects, without the cost of the PicKit3 programmer :) Reminds me of the early days of the PIC16F84. It was the first (?) Flash based uC and programmable with simple serial and parallel port boards, allowed DIYers to jump in. Much fun.

Yogi

 

 

 

  • Like 1
Link to comment
Share on other sites

2nd unit assembled from BOM on schematic...

4Rp6XIY.jpg

As can be seen, everything fits much better with the correct parts ;)

Here's a perspective view...

oNgtVvw.jpg

And a re-post of the schematic including BOM...

vtLE5lB.png

OSH Park PCB Order Link: JOY-2-PIC

 

PCB Design Files: JOY-2-PIC_pcb.zip

 

 

- Michael

 

EDIT: Please note that the ExpressPCB Schematic and PCB Layout have been updated in the attached file. However the Gerber files were not modified and the silk-screen still has the reverse orientation problem as seen in the boards produced by OSH Park. Since there is a cost attached to having new Gerber files made from the ExpressPCB files, and the error is relatively harmless if you adjust for it while doing the assembly, I have opted not to update the Gerbers. And just to be clear, this is not OSH Park's fault, but an error on my part.

Edited by mytekcontrols
  • Like 2
Link to comment
Share on other sites

  • 1 month later...

Hi!

 

I finally soldered my joy2pic board, here it is assembled:

 

post-18634-0-95984300-1458012403_thumb.jpg

 

And... worked on first try! ;)

 

Here I'm programming a PIC16F690:

 

post-18634-0-27745700-1458012412_thumb.jpg

 

So, this means that the programmer works in multiple Atari models, i'd call it a success.

 

Now, we need somebody to device new uses for a PIC attached to an Atari 8-bit, as it will be easy for anybody to build the hardware and program the PIC.

  • Like 3
Link to comment
Share on other sites

Hi Daniel,

 

Glad it all went well. And yes I agree that more uses need to be found for PIC chips in our Atari's now that we have an easy way to program them. Smokeless Joe also had success with building one of these and using it to flash the PIC he used in his TK-II. Nice to see a plan come together.

 

- Michael

  • Like 1
Link to comment
Share on other sites

Question:

 

Could the use of the program/board cause any damage to any other boards in the A8? The reason I ask is I was trying to use it tonight and I got the same error I discuss below, but also now my entire machine will not boot. I was getting weird graphical when I booted into the Ultimate menu, I reset, was fine. Then some weird graphical issues on the entire screen, then it reverted and now it will not boot at all. Powers on, black screen then, later, power on and bright green screen and a look similar to loss of vertical hold.

 

I had a VBXE, Lothareks Dual Pokey, U1MB, SIO2USB (internal).

 

Also, on the interface board the are a number of jumpers, which one should be jumpered? I put together three of them and I keep getting the same error as if nothing is attached to the joyport. The error is Incorrect Device ID Got $3FFF, Expected $1480, Writing Address $0006.

 

Then it stops.

 

I am *this* close to taking all of this stuff and packing it in a nice little attic. Between the BBS, the Incognito and now my daily driver going off of a cliff, I am obviously cursed.

Link to comment
Share on other sites

with that much all running in one machine I would worry about power supply! Make sure power supply is still good and check that brown out condition didn't damage your Atari...

 

post picture of what you did and how you jumpered. some one might have clue what went wrong and how to fix.

Link to comment
Share on other sites

with that much all running in one machine I would worry about power supply! Make sure power supply is still good and check that brown out condition didn't damage your Atari...

 

post picture of what you did and how you jumpered. some one might have clue what went wrong and how to fix.

 

 

 

Well, it was fine. I had a brand new good power supply attached to it.

 

No jumpers were installed. I only found out about jumpers after I went looking.

 

The only thing was the LED was reversed on the board (anode/cathode) I read here the silkscreen was incorrect. But that should not have caused damage, right?

 

I cannot even get this adapter to work with the MicroChip PickIt 3. I have it (Now) jumped for D group and the software cannot find the chip.

 

EDIT:

 

Good News: The $$ MicroChip PickIt 3 that I bought originally to program these chips? Doesn't work so far as I can tell. The adaptor, doesn't work so far as I can tell. What does work? The JOY2PIC programmer. I finally got tired of playing guess the problem with the PI3 and adaptor, pulled out a breadboard and jumpered that to the JOY2PIC. Worked right off the bat. (Yes, I tried the breadboard with the PI3, no joy).

 

Good News: I was able to program all of my PIC chips.

 

Good News: The wireless keyboard I have works like a charm via the TK-XEGS at least (I have not tried it with the TK-II because, I was *going* to install that in the BBS before it, you know, did its thing

 

Bad news: Daily driver still saying it hates me. But, hey, I can install these upgrades with my eyes closed. (Don't ask why.) So, I will find another 800XL and install them one by one to find the bad one. (I TOLD YOU DON'T ASK WHY!) Then, I can install the EPROM 1050 sent me in the BlackBox that is dumping partitions. AFter that, I can flash the SST in the Incognito that I am PRETTY sure still will need to be fixed. After that, I will set up the BBS for the fifth time.

 

Bad news: My work room looks like a tornado hit it.

  • Like 3
Link to comment
Share on other sites

Wow sorry for all the trouble you went through :_( .

 

So here's what the JISYS ICSP20A adapter jumpers should look like and the proper position of the PIC chip in the socket...

 

PEyzftC.jpg

 

CONNECTION to JOY2PIC PROGRAMMER

 

YNwieFL.jpg

 

 

As far as power requirements to program a PIC, I don't have an exact figure, but its got to be minuscule compared to everything else. So I don't see that as a problem, unless the PIC chip were accidentally inserted backwards, then you would create a large current draw and destroy the PIC chip as well.

 

Hope this information helps (well at least for the future, since you apparently got your PIC programmed via other means).

 

- Michael

 

 

EDIT:

 

The $$ MicroChip PickIt 3 that I bought originally to program these chips? Doesn't work so far as I can tell. The adaptor, doesn't work so far as I can tell. What does work? The JOY2PIC programmer.

 

There is a certain irony in this when the Atari wins the day :P

Edited by mytekcontrols
Link to comment
Share on other sites

Wow sorry for all the trouble you went through :_( .

 

So here's what the JISYS ICSP20A adapter jumpers should look like and the proper position of the PIC chip in the socket...

 

PEyzftC.jpg

 

 

As far as power requirements to program a PIC, I don't have an exact figure, but its got to be minuscule compared to everything else. So I don't see that as a problem, unless the PIC chip were accidentally inserted backwards, then you would create a large current draw and destroy the PIC chip as well.

Hope this information helps (well at least for the future, since you apparently got your PIC programmed via other means).

 

- Michael

 

 

EDIT:

 

There is a certain irony in this when the Atari wins the day :P

 

Update: Yeah, I had the jumpers installed on those points when I went to the backup machine. Still didn't work, was/is weird. However, The JOY2PIC worked fine with the breadboard.

 

Question: Is there any reason this would not work on an 800? I tried tonight (since I was fixing the 800, I figured I would try . . 800 now is peachy, but couldn't get it to flash the chips).

 

Thanks. I now have three verified working JOY2PICS, 3 working TK-XEGS-S, 3 Working TK-XEGS and 3.5 working TK-IIs (waiting on parts for the interface setup. RT Angle shrouded connectors are hard t find apparently.).

 

What am I going to do with them? Dunno. OSH Park makes things in threes so, I made three of each ;-)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...