Picaxe 28X1 firmware A.4 has a bug, get a replacement.
2008-12-03 11:49
As discovered by members of LMR, there is a bug in one version of one kind of Picaxe.
Phil and Limpa described their problems in two different nodes on the site. This thread aims to bring all info together, so we can write a walk through about it.
Phil wrote:
Recognising Buggy Version:
I don't use the Rev-Ed program editor so I can't give specific instructions but when your program is downloaded there is a confirmation dialogue. I'm using the command line compiler on Linux which reported "PASS - programmed PICAXE-28X1 (40X1) vA.4 successfully.", I assume that something similar is seen in the Windows Program Editor.
I suggest that if that confirmation string contains vA.4 then you have buggy firmware. I assume that any future purchase from Rev-Ed will contain a later version of the firmware, and the A.4 firmware seems fine for other things - I have successfully connected up an SRF005, switches and LEDs.
Chips Affected:
The only chip I am aware has a servo/servopos problem is the 28X1 with v A.4 of the firmware. I assume that different chips have different firmware but it is possible that, say, 28X1 and 40X1 share similar code and therefore the 40X1 might have the same problem.
Symtoms:
The servo and servopos commands move the servo clockwise and the server buzzes; however if you use the appropriate pulsout commands the servo works correctly.
Additionally, as both Limpa and I discovered, if you perform a servo command on another output then servo commands on the proper servo port work. To get port 0 to work you need to fidde with port 7, port 1 fiddle with port 0. This is not a solution in most cases and the servo port is in a funny state so if you stop issuing commands it will turn on after about 12 seconds, and stay on for over two minutes.
Getting Replacement:
I emailed Rev-Ed technical support (and posted to the picaxe forum) describing the problem and, after they investigated and fixed the problem, they shipped me replacement chips.
Limpa is still waiting for a replacement chip.
(R)ik will see which version of the 28x1 ik bought back in October.
8ik

Picaxe IC or starter kit?
I don't use starter kits as they cost too much and I have to ability to make my own boards. I do however have 3 picaxe 28X1's and a 28A that are destined for Boozebot.
If this problem is with the IC, how can I tell which version of firmware to be wary of?
check firmwhere
In the options dialog box of the picaxe programming environment, there is a button "firmware?". If you press it with the picaxe connected with a serial cable, it will tell you the firmware.
Also, when you've successfully uploaded a program to the picaxe, you'll receive a message with the firmware in it.
It seems I have a couple of A2 and A3 versions.
"The only chip I am aware
"The only chip I am aware has a servo/servopos problem is the 28X1 with v A.4 of the firmware. I assume that different chips have different firmware but it is possible that, say, 28X1 and 40X1 share similar code and therefore the 40X1 might have the same problem." Isnt that the answer to your question or did i misunderstand ya? Or is this A.4 version for the hole board? What do i know? :-)
guess I am safe
This is the dialog window I get after uploading a (empty) program:
And here is the options dialog from the main menu item "view":
When I click "Firmware?", this appears:
The important number to notice is (in my case) 3. As far as I can tell, that is good number. 4 would be bad. 5 is good again. At least for a 28x1 version of the Picaxe chip.
8ik
OMG
Yeah I've got the problem to... I tried everything with the code, and when I made a mistake and there was somewhere in the code servo 7,150 it worked (well not perfectly unfortunately) and I screamed Eureka through the whole house, but I started changing the code and now I *u**ed up again :( Gotta send it back too i guess..
BTW I got it brandnew (for a week now) and I got a stupid A.4 too.. why do they still send them if they know they have a bug?!
Do they know?
I am not sure if every seller of picaxes out there does know about the bug. I have yet to find find a webpage dedicated to this bug.
Outside LMR of course....
8ik
firmware.txt
When you download the Programming Editor, a firmware.txt file is also included. This supposedly lists all the revisions to the PICAXE chips. The latest version of the firmware.txt file, downloaded today,12/5/08, is dated of 9/10/08. Acccording to this file, the latest revision for the 28X is A.3, there is no mentipon of A.4 or A.5
There is nothing unusual with a manufacturer quietly doing upgrade. After all the cost of recalling and replacing the chips is high and most users will not have aproblem.
That is just good business practivce.
Myc
Heya!
Hey!
As discribed before the A.4 firmware, for the PICAXE-28X1, had a bug which made the servo and servopos command go nuts. I got my replacementchips, two actually, a couple of days ago and i have now tried them out. As you can see by the picture below the new firmware is A.5.
This new firmware works very nice. I have not had any problems with it yet and the servo-issue is gone as far as i can see. I have removed my ´servo 0, 75´ line from fritsl´s "first robot" ´s code and it still works like a charm! Very nice! Thanks ppl!
Finally
Rev_Ed has finally posted the updated Firmware.txt file which ackowledges the updates and fixes for the problems with the 28X1
Here is the version summary:
The PICAXE-28X1 (40X1) firmware is implemented on a PIC16F886 (PIC16F887)
BASE FIRMWARE CODE:A
V0 FIRST PUBLIC RELEASE. ROHS COMPLIANT
V1 CORRECTED ISSUE WITH OUTPINS AND END COMMANDS
V2 ENHANCED OPERATION OF @PTR, @PTRINC, @PTRDEC
V3 CORRECTED ISSUE WITH MISSING CENTRE '0' ON #VARIABLE WITHIN HSEROUT COMMAND
CORRECTED ISSUE WITH DISCONNECT FUNCTION DURING A COUNT COMMAND
CORRECTED ISSUE WHERE BACKGROUND FUNCTIONS COULD OCCASIONALLY CORRUPT SCRATCHPAD BYTES 15 & 79
CORRECTED ISSUE WITH SERRXD (NO TIMEOUT) NOT CORRECTLY OPERATING
RECALIBRATED SERIN COMMAND BAUD RATES FOR INTERNAL RESONATOR TO REDUCE USE OF CALIBFREQ
V4 CORRECTED INTERRUPT CONFLICT WITH USE OF HPWM/PWMOUT COMMAND
V5 CORRECTED ISSUE WITH SERVO/SERVOPOS COMMAND CAUSED BY V4 CHANGES
And here are the details of the V4 and V5 changes:
PDATE -CORRECTED INTERRUPT CONFLICT WITH USE OF HPWM/PWMOUT COMMAND
Due to unexpected behaviour of the internal PICmicro interrupt system, use of hpwm/pwmout
can corrupt the interrupt system cycle, giving a fluctuating pwm signal. Do not use hpwm/pwmout at the same time as timer / servo / background hardware serial / i2c slave mode functions.
Fixed by assembly code workaround in vA.4 onwards
ISSUE - CORRECTED ISSUE WITH SERVo/SERVOPOS COMMAND CAUSED BY V4 CHaNGES
The V4 hpwm/pwmout update caused a further issue with the servo/servopos command operation.
To workaround do not use servo/servopos with version A.4
Fixed in vA.5
Well, now there is an "offical" explanation of the problems with the PICAXE 28X1
TANSTAAFL!
Myc Holmes
all of which still leaves to wonder
Well it does solve chris'
Oh bugger!