Picaxe-20M EEPROM Command Doesn't Work

vk3jme

New Member
Hi all,

I'm currently in the process of building sort of a hand-held serial terminal to drive an RS232 receipt printer.
It uses a 4x4 keypad matrix, piezoelectric beeper, HD44780 16x2 LCD, drives a relay and also will end up talking to an 08M all on the same board.

Initially I decided on purchasing a 20M to do this job. It has lots of inputs and outputs so it looked like a good candidate.
After I managed to write successful routines for the keypad and buzzer, I started working on writing to the LCD.
And that was a week ago.
I've probably spent about 20 hours on it so far and I couldn't work it out.
I tried the circuits described all over the internet how to do this, but to no avail.
So I tried adding in a shift register and trying some of those circuits.
Still no luck.

I have finally worked it out.
The EEPROM command does not work on my 20M picaxe chips!!!
(I bought two, one for just in case, or for a later project that might need it)

When I quiz the firmware on the 20M they both report

Firmware Version 3.A
(Picaxe-28 Firmware version A)


So to test my theory about the EEPROM command I wrote the following code:
Code:
eeprom 0,($30)
eeprom 1,($31)
eeprom 2,($32)
eeprom 3,($33)
eeprom 4,($34)
eeprom 5,($35)
eeprom 6,($36)
eeprom 7,($37)
eeprom 8,($38)
eeprom 9,($39)
eeprom 10,($3A)
eeprom 11,($3B)
eeprom 12,($3C)
eeprom 13,($3D)


read 0,b0
read 1,b1
read 2,b2
read 3,b3
read 4,b4
read 5,b5
read 6,b6
read 7,b7
read 8,b8
read 9,b9
read 10,b10
read 11,b11
read 12,b12
read 13,b13


debug
This tests as expected in the simulator ok. But if you program the Picaxe-20M, b0 - b13 are loaded with 01, the same as the memory locations!

So to make sure I was using the command ok, I did the same with an 08M

Firmware Version 9.2
(Picaxe-08M Firmware version 2)

That works fine.
The right numbers are in the registers and in the correct memory locations.

I've been beating my head against a wall for the last week thinking that I'm a total plonker that can't wire up a circuit right and interfacing LCDs with Picaxe isn't as easy as it looks.

The reason I narrowed it down to this is because all the code for LCDs uses the Picaxe's Memory.

It's the bloody chips fault!
What the hell is going on here?

Jamie
 
Last edited:

vk3jme

New Member
*BUMP*
Can some from Rev-Ed please confirm this fault and give me an idea of what is going on with it.
I'm ready to start designing a PCB and I need to know if I'm still going to be using this chip or not.

I've continued on developing my prototype using a spare Picaxe-40X that I had.
The 40X is physically too big and it would be a waste if it did fit.
Do I need to look at ordering a 18X for this project?

Thanks

Jamie
 
Last edited:

moxhamj

New Member
Apologies on behalf of the forum for not answering this one. It may be because not many of us have 20M chips in stock. I don't have one so I can't test it myself, but maybe some kind soul will be able to confirm. But it does look like you have done some pretty thorough testing so maybe it is one for Technical?
 

eclectic

Moderator
Not that it will help Jamie, but
I ran the programme in post #1, using

08M, 14M, 20M and 28X

The other three produced the correct values.

The 20M produced 1's

e
 

vk3jme

New Member
Eclectic,

Thanks for confirming my discovery.
It some what comforting knowing I'm not the only one.

Jamie
 

Technical

Technical Support
Staff member
This has been a identified as a firmware issue in v3.A of the 20M chip, the read command does not function as expected. There is no workaround at present. We sincerely apologise for any inconvenience and will correct for v3.B
 

Attachments

Mycroft2152

Senior Member
Technical,

Now you have done it! Expect the flood of when will it be available posts..

From the Firmware.txt file:

*** PICAXE-28X2 (40X2) ***
The PICAXE-28X2 (40X2) firmware is implemented on a PIC18F2420 (PIC18F4420)
BASE FIRMWARE CODE:B
V0 FIRST PUBLIC RELEASE. ROHS COMPLIANT
 

vk3jme

New Member
So this means what?

Do I send the chips back to the supplier?
Do I send them to Rev-Ed?

Or do I sit on my hands and wait for a Firmware update file, (if there is such thing?)

I never learn....I'm always buying the latest and greatest and getting caught out with a buggy lemon :(

Jamie
 

Technical

Technical Support
Staff member
If you look at your PM you will see that we have already offered to send you some free replacements if you provide us with your postal address.
 

marcos.placona

Senior Member
Technical,

Now you have done it! Expect the flood of when will it be available posts..

From the Firmware.txt file:

*** PICAXE-28X2 (40X2) ***
The PICAXE-28X2 (40X2) firmware is implemented on a PIC18F2420 (PIC18F4420)
BASE FIRMWARE CODE:B
V0 FIRST PUBLIC RELEASE. ROHS COMPLIANT
Right, everybody is happy now, but.... Technical, can you talk a bit more about the part in bold?
 

hippy

Ex-Staff (retired)
Nohing new there; the 28X2/40X2 and which PICmicro's they'll be based on has been known about for quite a while now, and that entry in firmware.txt has been there from as far back as March 2007 and maybe earlier.
 

thetinkerer

New Member
I have found the same problem with my Verrsion 3.a 20M chips

I am just wondering what I can do about replacing my 20M chips - I only bought them a few days ago. what are my options - does any one know?
 
Top