Programming interface for multiple picaxes on a board?

Pongo

Senior Member
Does anyone have a good scheme for the download connection for programming multiple picaxes on a board? I'm going to have 4x 08M2's on the board, I don't mind duplicating the download circuits but I'm wondering if there's a way to simplify the switching of the PC connection. For instance maybe I can OR the serial outs and use a dip switch to select the serial in.

(I'm not using the serial in/out in the application.)
 

techElder

Well-known member
Seems like it would be just as easy to move a 3-pin header from one to the other if you have access to the board to move a dip switch.
 

techElder

Well-known member
Well, you did say "dip switch", but I wasn't thinking of outside the box! :)

How many of these do you have to do and how often? That could make a difference in the solution.
 

Pongo

Senior Member
Quantity isn't an issue, it's a personal project and nothing I'm selling. I can imagine that it initially it will need a lot of fine tuning, and I want something that can be re-programmed without opening the box. 4 DB9's would be a non preferred solution, as much as I love good old serial I hate making those cutouts so that's why I'm asking of anyone has an electronic solution.
 

Goeytex

Senior Member
I like the rotary switch solution. I have used a 7 position double pole switch before and it works like a charm. However this is a relatively large switch and is about 1.25" deep. But my box is large enough for it.
 

Technical

Technical Support
Staff member
1 rotary switch + DB9 is probably actually larger than the 4 of the recommended 3.5mm audio sockets - and they are easier to machines (4 x single drill hole).
 

techElder

Well-known member
1 rotary switch + DB9 is probably actually larger than the 4 of the recommended 3.5mm audio sockets - and they are easier to machines (4 x single drill hole).
After much coffee and no sleep, :) Technical comes up with the most economical and practical solution that takes up the least amount of those highly desirable cubic inches.

Plug in the 1/8" cable into #1, - click program, #2 - click program, #3 - click program and lastly #4 - click program.
 

Pongo

Senior Member
I don't expect the rev-ed seal of approval, but the concept works. I breadboarded 4 x 08M's, 22K + 10K on each serin, serouts OR'd together with 4 x 1N4148's, common cathode. Identifies and programs each picaxe with only switching the serin connection. Programs run fine. So one small hole to access the rotary dip switch and I'll be in business :)

Thanks for all the suggestions. If I had a dollar for every strange cable in my box of "odd cables I think I should keep, but I'm no longer sure what they belong to" I could eat well at McDonalds all week, so I really wanted to avoid yet another custom cable or connector and was hoping someone had tried a similar combination scheme. I also don't see converting to using (cheesy IMHO) audio jacks for serial when I have a lifetime supply of DB9 cables and connectors although I could be tempted by the hole issue.
 

hippy

Technical Support
Staff member
Note that with diode-mixed Serial Outs you will have problems should any output serial or debug data or if any sets the Serial Out pin high.
 

Pongo

Senior Member
Note that with diode-mixed Serial Outs you will have problems should any output serial or debug data or if any sets the Serial Out pin high.
Absolutely, thanks for the reminder. Although that's guaranteed by design not to be a problem in my application since I'm not otherwise using the serout pin, serout or debug, it won't work for everyone.
 

Janne

Senior Member
One solution would be to ditch the rotary switch as well, and issue disconnect commands to the picaxes. With a software "handshake" you could then reconnect the correct chip for programming. Example: During power up, each picaxe checks the serial input for 10s, and if it hears its ID-number it waits for new download instead of disconnect. Or check for incoming downloads with serrxd occasionally.
 

erco

Senior Member
A 4x3 header for manually attaching a 3-pin programming cable in 4 places would be a compact solution, accessible through a small rectangular hole in the case. If you used common center ground pins and flipped the cable, you could use a 5x2 header.
 

Attachments

Last edited:

tmfkam

Senior Member
A 4x3 header for manually attaching a 3-pin programming cable in 4 places would be a compact solution, accessible through a small rectangular hole in the case. If you used common center ground pins and flipped the cable, you could use a 5x2 header.
Now that's a solution. Simple. Brilliant. Love it.
 

Pongo

Senior Member
One solution would be to ditch the rotary switch as well, and issue disconnect commands to the picaxes. With a software "handshake" you could then reconnect the correct chip for programming. Example: During power up, each picaxe checks the serial input for 10s, and if it hears its ID-number it waits for new download instead of disconnect. Or check for incoming downloads with serrxd occasionally.
Can this really be done?
 

erco

Senior Member
Unimaginative, but it works the same. I've come to dislike the stereo jack & plug. On my own boards, soldering a 3-pin header right beside the chip is quicker & more compact. I put a mechanical polarizer on the cable's 3-pin connector and it's pretty foolproof to connect.
 

techElder

Well-known member
For what the OP asked for in #1 ...

I too use a header.

Unimaginative, but it works the same. I've come to dislike the stereo jack & plug. On my own boards, soldering a 3-pin header right beside the chip is quicker & more compact. I put a mechanical polarizer on the cable's 3-pin connector and it's pretty foolproof to connect.
 

Pongo

Senior Member
For what the OP asked for in #1 ...

I too use a header.
Not really, I asked for:

"Programming interface for multiple picaxes on a board?" "a way to simplify the switching of the PC connection. For instance maybe I can OR the serial outs and use a dip switch to select the serial in."

To me just swapping pin headers would the obvious non-simplified way to switch the PC connection.
 

Buzby

Senior Member
All this faffing just to program four 08's on one board :) .

Why not just use one, single, bigger, PICAXE ?.

( As an aside, I have developed a multiple PICAXE programming system, but it only works with X2 chips. )
 

slimplynth

Senior Member
(Wonders if a 4066 quad bilateral switch, with a 5th 08M chip to control the programming of the other 4 would work?) - if it did then an 18M2 with touch switches to select...
 

CDRIVE

Senior Member
One solution would be to ditch the rotary switch as well, and issue disconnect commands to the picaxes. With a software "handshake" you could then reconnect the correct chip for programming. Example: During power up, each picaxe checks the serial input for 10s, and if it hears its ID-number it waits for new download instead of disconnect. Or check for incoming downloads with serrxd occasionally.
It's unfortunate that your post received so little interest or responses. Since uC's excel at replacing hardware with software/firmware, IE "Decision Making", it would have been an interesting discussion.

Cheers,
Chris
 
Top