Firmware issue with 14M chip...


Senior Member

Programmer version 5.2.6
14M firmware version 9.B

Programmer lets me write the code, syntax check is sucessful.
When I try to program, I get the following message:

Firmware issue means that serout of variables can only be used on output0(Firmware v9.B)
Error: Command not supported in this mode!

This is odd - why does the syntax checker not tell me this before I try to program?

The REALLY odd thing is that I am not trying to output variables, I am trying to send pre-defined text codes on output3, such as serout 3,T2400,("***ABC",13)

What is the problem, and why does the programmer not tell me of this until I try to program the chip? IE: If this is such a no-no, why does the syntax checker not tell me of this during development of the code?

And if I run the code in the simulator, it works just fine, with the ***ABC showing up just right in the serial output buffer window, so the simulator does not have a problem with it...:confused:

ADDITIONAL: There is something very wrong here, as I just dug up an old design using the 14M where I am outputing serial on output2 and I was able to program dozens of those while I was selling them, and they all programmed fine, but when I loaded that code into the programmer just now, I get the same error.

If I write a very basic program to just output serial data, it does program provided I select output0, but this can't be the case, or I would not have been able to program all those other 14M's for serial out on output2(in that case). would have been an earlier version of the programmer. I might load a copy of the older programmer software on another laptop and see what happens, but I am thinking that if I use the older programmer software, it will probably work...
Last edited:


Senior Member
Found a solution after looking at and comparing the old code with the new stuff am trying to write now.
I have to use the \r code at the end of the text, then it works on any pin.
serout 3,T2400,("***ABC",CR) does not work
serout 3,T2400,("***ABC",13) does not work
serout 3,T2400,(13) does not work.
serout 3,T2400,("***ABC") does work
serout 3,T2400,("***ABC\r") does work.

Have answered my own question.

Mods - you should probably delete this thread then...


Technical Support
Staff member
This is odd - why does the syntax checker not tell me this before I try to program?
The syntax checker doesn't know the PICAXE firmware version you have conected until you come to download.

Mods - you should probably delete this thread then...
Definitely not. The information will be very useful to anyone else who runs into the same problem themselves.


PICAXE 14M with Firmware 9B codes for CR and LF

Agree with hippy. Leave the thread here for others to find when in trouble.

There is nothing in the PICAXE manuals about the "\r " or "\n" as return (CR) and new line/linefeed (LF) for earlier firmware.

A quick search found that Grogster had the same problem back in May 2008:

"\n" and "\r" are still valid constants in the Programming editor for any PICAXE it would seem not just the 14M.
Just tried for 18X and 28X1/40X1 in PE V5.2.6.

Even the constants CR and LF are only mentioned in manual 1 Page 66 tutorial 8
and in manual 2 in Appendix 1 as Additional Reserved words

Examples under for example SERTXD (page 175) directly insert the values 13 and 10 instead of the predefined constants.
Last edited: