Let's Make Robots!

Picaxe 28X1 firmware A.4 has a bug, get a replacement.

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

 

 

 

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Well.. you can also put this before your code too, and then the servo's should work:

Start:
servo 0,150
servo 1,150
servo 2,150
servo 3,150
servo 4,150
servo 5,150
servo 6,150
servo 7,150
low 0
low 1
low 2
low 3
low 4
low 5
low 6
low 7
goto main

So far I seem to have A3's which seems to be the best since even they don't know whats wrong with A5 yet. The down side is that Junior won't be able to acess his i2c devices while any of his motors are running as they are all controlled by PWM.

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 

 


whether version A5 also solves Chris' problems with serout.
Well it does solve chris' issue, though I'm at a loss as to how. Also from the notes that rev-ed posted on the fix, it doesn't have any link to the serial issue unless CTC was doing some pwm/servo commands while trying to write to the display.  I'm thinking it was a different problem with that 28x altogether, just happened to be the .4 version.

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 

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?!

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

This is the dialog window I get after uploading a (empty) program:

picaxe28x1_version.png

And here is the options dialog from the main menu item "view":

picaxe28x1_options.png

When I click "Firmware?", this appears:

picaxe28x1_options_firmware.png

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

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?