Best way to mass program 08 chips

I have a little project that requires that I make a reasonable quantities of a gadet. I don't want to buy all the picaxe chips that are required at once as this is a bit expensive. So I would like to do them in batches, Then fit into my gadget.

My questions are - Is it possible to copy a Picaxe 08 chip in a copier or will it have to be loaded via the picaxe editor. I don't quite know how the code protection works or what limits it has. I know you can't read the contents of the chip back - but I only want to program them so that is not an issue. Can I turn off protection to make my code visible to be copied with the code protect then put on.

Would it be better to convert it to Assembler then squirt it down a 'proper' programmer unit. This means it could be done on a bench and no PC.

I don't want to spend a pile of money buying equipment to find It can't be done.

Sorry if this is a bit of a silly question. There does not seem to be much on the forum that I can see in this area (unless I am using the wrong search words), so any advice would be welcome.
 

MartinM57

Moderator
How many is "reasonable quantity" and how many in a "batch"?

Unless you're talking '000s, I'd pay a teenager the minimum wage to sit in front of:
- a ZIF socket
- a pile of 08 PICAXES
- the F5 key in the Programming Editor....

200 08's programmed per hour (OK, less if they have to send 20 tweets and post on 20 facebook walls every hour, like most teenagers do )?
 

Pure

New Member
Twitter, Facebook? What are these things? xD
As a serious reponse, because of the way download circuits work, you can connect multiple chips to the same downloader. Not sure if it'd work, but should in theory.

Wait...isn't that illegal? (The teenager part) :p

jR
 
MartinM57

Thanks for getting back.

100 at a time. My thought. I had someone in mind but bluntly they can't get their head around how to it. I must have shown them at least 30 times. They are brilliant at what they do - but not this. Even my 86yr old mother has done a few for me - she said it would be a laugh. She used to work in munitions during the war so loves that sort of thing. A new venture and direction for the business.

So the simple way. I don't want to employ anyone else - not enough to keep them busy. Also if only I could - someone with half a brain who want's to work. Na. You get idiots who expect such high wages they would take home more than me. Industry in this country is being killed by these mindless people who except the earth as payment. Or they just get hand outs and still complain.

Rant over - sorry - I don't know what came over me.

The idea is that I have a master chip in a unit. they put in the blank picaxe chip and press the copy button. Lights flash - stop flashing - remove the now programmed chip. It can't be that hard can it.
 

Dippy

Moderator
"Is it possible to copy a Picaxe 08 chip in a copier"
- No.

"will it have to be loaded via the picaxe editor"
- Yes.

"I don't quite know how the code protection works"
- Neither do I. If I did then I (and thousands of others) could make our own PICAXEs.


Do as Martin suggests; get yourself a destitute nerd and give it a cup of coffee after removing any browsers/games from your PC.
Then surgically remove it's phone and any device beginning with "i-".
And tell it that the only Wii it can have is once an hour after coffee.;)


"because of the way download circuits work, you can connect multiple chips to the same downloader. Not sure if it'd work, but should in theory."
- you sure about that??? :(
 

Pure

New Member
Anyone know the protocol used for downloading?
It would be quite possible to do this, though the 'master chip' would have to be something other than a PICAXE.

jR
 

Dippy

Moderator
Dig out your scope Pure. You may see one or two problems with your theory..


Lordy, I see this thread has got a lot of attention.
 

tarzan

Senior Member
Last edited:
Dippy.

Thanks.

I was wondering if my part of the code could be kept visible, but I think you are right, the protect would be across the whole chip and makes sense.

Multiple chips - I don't think that would work. Not without a lot of control over signals and voltages. Does the programed chip send signals back on completion of the download. I don't know I have never tried just one side TX.

Points to note however:

"Do as Martin suggests; get yourself a destitute nerd and give it a cup of coffee after removing any browsers/games from your PC.
Then surgically remove it's phone and any device beginning with "i-".
And tell it that the only Wii it can have is once an hour after coffee. "

Must learn how to do that " ^%*^%" correctly.

Would this not be a violation of human rights? Knowing how the law works here and in the EU - I think it would lead me down those steps into a darkened little room. Not to mention the compensation payout.
 

Pure

New Member
Isn't it just serial data? Can't you split it to more than one chip?
Gah, why can't it be simple for one?
 
Tazan,

Thats is exactly what I need.

I want one now please.

I knew it could be done.

OK - I can't have one . What do I do now?

How long do I have to wait for one????? Please Sir, Sir.
 

hippy

Technical Support
Staff member
The most appropriate way for moderate runs is to simply download from the Programming Editor. You can build a sturdy download unit with a ZIF socket on it to make things easier.

Build a few interfaces and download leads, grab a handful of laptops and you can do multiple programmings, cycling round each download station. Even with two, one can be downloading while you're changing the chip on the other.

Trying to program multiple PICAXE in parallel from a single source is strongly advised against. If you do that you run the risk of some not being fully programmed so would have to test each individually. As there's no way to read a program from a PICAXE there's no way to check it's got all the code in it. Exhaustive testing is not likely to be feasible and would take just as much time ( and probably longer ) as individual programming.
 
I can't keep up with this thread.

Hippy,

Grab a few laptops. - Ha, I have an old Sony that must be about 16yrs now. It controls a CNC mill. We are not that high tech here.

As I said - this is a new venture so setup cost must be low - its an experiment.

I agree a single chip approach is the easiest way to go and ziff sockets make it quicker. Just the PC/laptop that part that spoils it.
 

hippy

Technical Support
Staff member
Anyone know the protocol used for downloading?
It would be quite possible to do this, though the 'master chip' would have to be something other than a PICAXE.
Much like a PC running Programming Editor, AXEpad or the command line compilers :)

Even with a chip copier, there's still the issue of only being able to program one at a time, and if people cannot handle 'insert chip, power-on, click on Program, wait, click on OK, power-off, remove chip, repeat', they may have just as much trouble with anything else; the mechanism doesn't change that much.
 
Hippy

Correct.

Pay peanuts get ...

Pay good money still get ...

I think it's that old saying that is going to win the day.

" If a job is worth doing do it yourself"

I will just have to add it to the list . Look at the monkies in the unit over the top of the monitor and sigh, drink my coffee thinking happy thoughts. That is until Rev-Ed get the new toy ready.
 

hippy

Technical Support
Staff member
this is a new venture so setup cost must be low.

I agree a single chip approach is the easiest way to go and ziff sockets make it quicker. Just the PC/laptop that part that spoils it.
Though it's quite likely you can pick up a suitable laptop for the price of a ZIF socket or borrow an old one for a weekend from a friend.

It's always hard when starting out in business; you either suffer the inconvenience of time and effort in having to do things one at a time, by yourself and not how you'd like to do things or invest in equipment and staff to allow the process to be automated and done quicker. Without the money options are more limited.

Friends and family are a great resource when first starting. They'll often help out for the reward of a meal, trip to the cinema or simply to help you succeed.
 
Hippy,

you are correct as normal.

I will look at the options and I do have a couple of older machines that can be used just for this type of thing.

As to family - Hummmmmmmmmmmm... Say no more. My other half though is very good with the old soldering iron. I tell her what to do and off she goes until the jobs done.

As to business - it's been an eye opener that's for sure, I never thought it would be so hard to bring a couple of ideas into the market place or so expensive.

Would it be possible to load two running versions of editor and point them to different ports and ziff units for a better name. So I could drive two sets from one machine.
 

hippy

Technical Support
Staff member
You cannot have two copies of Programming Editor running, but you can load two or more copies of the same source code and add appropriate "#COM" commands to the top of each so they download to different download boards. You'd still have to wait for each download to complete so not sure you'd gain that much.

You could build a multi-download board with a rotary switch to select each PICAXE in turn for programming which means less powering on and off, download, select next, download again.
 

graynomad

Senior Member
This "multiple programming" question gets asked a lot about AVRs, and the answer is always that in theory it will work but probably not in practice.

Obviously you can transmit the data to as many chips as you like, but there's some handshaking going on (and probably a lot more to verify data etc) so you have to handle the returning data.

If the chips are all the same, all have the same speed clock, and don't return some sort of unique ID then you should be able to diode OR the transmit lines of the chips being programmed. After all they are all sending the same stuff right?

I gather the Picaxe uses async comms for the programming, if this is the case you might even get away with it. You will have to test as mentioned, but you'd do that anyway wouldn't you?

Why not give it a try with 2-3 chips, it will only take about 10 minutes to find out.
 

MartinM57

Moderator
If you're relying on the diodes to just OR identical signals (which may or may not be the case), then you might as well just conect all the serins to the PE in parallel (question for the readers:which side of the programming resistors?) and only one serout back to it - just leave the other serouts floating.

So only about 8 minutes to find out...;)
 

Dippy

Moderator
Yeah, go on.
It'll take you 2 months to make and save you 2 days doing it yourself by hand with a ZIF.

Personally, if practical, put a few pads on the PCB for programming and make a matching PCB with those sprung loaded pins.
Stick the 08M in the production board , press and programme.
Far easier than ZIFs or those funny connectors that some people use (I've forgotten the name).

If you were cunning you could make it do a quick diagnostic to check the code+PICAXE+board was good.
PS. I've done it with PICs; works a treat!
PPS. Then you could automate that. Far better than boring ZIFs.:)
 

Tooms

Member
why are you guys talking about running the Porgrammer editor and F5, why not use the commandline tool ??


some thing like a batch file there is calling it self in loop


filename: CodeMyChip.bat
Code:
Echo Please remove the programmed PICAXE and inset the next 
Pause
picaxeXXX –cCOM3 filename.bas
CodeMyChip.bat

there same script with multi number of com port in use

filename: CodeMyChip.bat
Code:
Echo Please remove the programmed PICAXE and inset the next 
Pause
picaxeXXX –cCOM3 filename.bas
picaxeXXX –cCOM4 filename.bas
picaxeXXX –cCOM5 filename.bas
CodeMyChip.bat


http://www.rev-ed.co.uk/software/picaxe.zip

there is a readme inside the zip file there tell how the commandline is
 
Last edited:

hippy

Technical Support
Staff member
If the chips are all the same, all have the same speed clock, and don't return some sort of unique ID then you should be able to diode OR the transmit lines of the chips being programmed. After all they are all sending the same stuff right?
This is a problem for all serial-style programmers doing bulk programming when they are not designed for that. Even if they are sending the same responses back what happens when it goes wrong which is what you really need to detect ? If an OK from one chip masks a FAIL from another you'll never know one has failed.

Some sort of XOR mechanism may work but will introduce a lot of glitches given natural variations in timing. Normal serial timing may get round that but if devices have inconsistent clock speed or algorithm timing on Flash or Eeprom programming you can get quite big discrepancies which mess things up.


Why not give it a try with 2-3 chips, it will only take about 10 minutes to find out.
And perhaps a lifetime of worry that a single bit was mis-programmed, got through, and is waiting to bite.

Sod's law dictates failure will be at the most inconvenient time with the most damaging repercussions possible, and not only will the issue appear well after being programmed but there will be a sudden rush of unexplained failures which will be almost impossible to be sure as to why.

It's a question of balancing risk against gain and deciding acceptable failure rates of delivered product and only the business itself can decide that.
 

Janne

Senior Member
Dippy; Did you mean one of these?


I think it should be quite much faster than using ZIF sockets. Plus it might be possible to use it to program the picaxes in board, assuming the final boards will lack the download connector.
 

Rickharris

Senior Member
I have programmed lots of Picaxes on a standard PC/programming board structur quite quickly. The secret? DONT push the chip into the socket. Just rest it on top, correctly oriented of course, pop a finger on th keep secure and press F5, wait for the dl TO COMPLETE REMOVE AND REPEAT. qUITE FAST REALLY AND LESS DAMAGE TO THE CHIP LEGS.
 

jaka

Member
Janne

I think Dippy means, tiny spring loaded pins that look like extended through pins.

You would need to make a PCB the same size as the product. Mount it so that the pins are sticking up. Slide the both into some sort of frame and program one. Remove the product then slide another on. Would take no more than 30 secs each.

I seem to recollect seeing a video of a robotic machine doing this.

If you were clever enough you could build a robot to do this for you. Then you could have a robot making PCB's for robots, making PCB's for robots, making PCB's for robots.

Think it's time for me to crack open a can and stop dreaming about robots.

Jim
 

Technical

Technical Support
Staff member
These are not that cheap, but work extremely well and could be adapted easily for PICAXE work - 2 pins for power and another two for the serial signals. The main advantage is their zero added cost on each PCB. They are used on some of our PICAXE products such as the BOT120 microbot.

http://www.tag-connect.com/
 

graynomad

Senior Member
tiny spring loaded pins that look like extended through pins.
Called "Pogo pins", available from Sparkfun and probably the most common way of programming in-circuit chips in a production setup.
 

John West

Senior Member
Called "Pogo pins", available from Sparkfun and probably the most common way of programming in-circuit chips in a production setup.
We used a "bed of nails" tester to do production testing on finished assemblies. They used spring-loaded pins to make contact with important test points and were mounted on a vacuum plate to hold them in place. But such bd carriers were custom designed for each type of assembly. The test fixture design overhead cost precluded their use with small quantity products.

I like the idea of including a "self-test" routine in the code of each chip that would give a good indication of its likelihood of successful programming in a gang-programming environment.

But if I had to do the job described I'd just set up a half dozen old PC's and ZIF socketed programming bds (or just one bd with one pwr supply and multiple ZIF sockets with a serial pgming input for each) and rotate through the programming sequence from one PC to another. No wasted time - and full verification of each data load. You could pop out hundreds per hour that way, making the job so quick you could do it yourself without it becoming a bother.

Use just enough PC's so that there is no wasted time. Start with two or three and see how efficient you can get at it. Add more as sequence "dead time" permits. Perhaps add in documentation time or bagging time or whatever extra work to the mix. It could turn into quite an incredibly efficient "one-man-band" production arrangement if properly thought through.

Successful entrepreneurs get that way by working smarter - not harder. (Well, both actually.)
 
Last edited:

Dippy

Moderator
Yes, obv your programming board has to line things up.
One bit of hassle followed by press and click.

Just like John's bed of nails.

Examples in amongst this lot.. (it'll take a few seconds to appear).

http://uk.farnell.com/jsp/search/browse.jsp?N=500006+1011021&Ntk=gensearch_001&Ntt=spring+probes&Ntx=mode+matchallpartial&No=0&getResults=true&appliedparametrics=true&locale=en_UK&catalogId=&prevNValues=500006+1011021&filtersHidden=false&appliedHidden=false&originalQueryURL=/jsp/search/browse.jsp?N=500006+1011021&Ntk=gensearch_001&Ntt=spring+probes&Ntx=mode+matchallpartial&No=0&getResults=true&appliedparametrics=true&locale=en_UK&catalogId=&prevNValues=500006+1011021

You'd get pointy ones for poking into a blank PCB padhole or shaped ones for soldered pads - and various others for various other things.

Big advantage is that, if time permits, your programming board can also do diagnostics like I said.
So each programme download can be followed by a quick verify.

But it's up to you how much initial effort (and imagination) you wish to put in.
 

Rickharris

Senior Member
Don't need ZIF sockets or fancy set-ups for such a simple task - As I said before - Put the chip on the top of the programming socket - DON'T push it in just hold firmly with a finger to locate - press F5 with the other hand and wait a few sec, repeat as required - No special equipment, a little dexterity and some intelligence to figure out where F5 is and you can programme loads in a few mins, If you line everything up before hand almost as fast as the prog ed will allow you to do it.
 

westaust55

Moderator
Isn't it just serial data? Can't you split it to more than one chip?
Gah, why can't it be simple for one?
Not an option as the PICAXE does send some data back to the PC during download activity and if there where mutliple PICAXE sending data back what would the single PE/PC make of that ? :confused:
 

MartinM57

Moderator
...hence the idea expressed earlier in the thread that maybe you could get away with only one PICAXE sending back to the PE/PC (and representing all the other PICAXEs since they are all being sent the same download at the same time) and not connecting the serouts of the other PICAXEs to anything at all.

We're still waiting for the results of the 8 minute test to see if it works - worth a try, it won't damage anything (YMMV :D)
 

Dippy

Moderator
As I mentioned on page1 of this thread PICAXE sends back to the PC.
I don't know the protocol so I don't know if it is just echoing data.
If it is echoing data then that is the 'check'.
If that is the case and you just echo from one chip amongst many then you are missing the check.
Then there will be uncertainty as to whether the PICAXE was programmed correctly. Then you'll spend time checking. Is it worth it?

In the time this thread has run you could have programmed a thousand PICAXEs by hand.

Martin, with your scope can it store enough to see what is being sent back to PC?
If so that would be handy to know. Then we can make our RF code downloaders.
Maybe Rev-Ed will tell us?
If not then Martin can suss it out in 5 minutes as it can't be a difficult protocol to determine.
 

hippy

Technical Support
Staff member
It will 'work' but whether or not it's a satisfactory mechanism is the real question.

Just one PICAXE responding is perhaps worse than combining outputs as pass or fail rests on just one chip and you don't know the resulting state of the others.

It's like dictating to a class and only looking over one person's shoulder to check they are writing down what you say. The rest may not be writing anything or writing gibberish. You'd never know.
 
Last edited:

MartinM57

Moderator
Ah - but the extensive built-in-test suite and factory functional testing of every item just before it goes to the end customer will find any PICAXE-programming problems. Won't it?

(yes, I wouldn't do it either. I'd have done 500 with a ZIF socket by now as well)
 
Top