Increase memory for the 08M

hippy

Ex-Staff (retired)
The previous replies should answer most of your questions, and it depends on what you mean by "more memory" -

* Program memory - No, you are limited to the 256 byte maximum. You could write an interpreter program and obey instructions to do things from external non-volatile storage but speed will be slow.

* Non-volatile data memory - Yes, external I2C or SPI Eeprom though you will have to write the code which allows an 08M to access that.

* Volatile data memory - Yes, internal SFR can be used, external I2C or SPI RAM can also be used in a similar way as I2C Eeprom.

It's worth reflecting on why you "like the 08M better than the other chips"; familiarity, smaller, cheaper and bi-directional I/O are probably the headline points. What really makes one PICAXE type better than another depends on what you need it to do. The X2's are not as small nor as cheap but have the same flexibility of bi-directional I/O ( more so as every I/O pin is bi-directional ), have much more memory and a lot of other useful capabilities. The X1's are a good mid-ground if you only need limited bi-directional I/O but need more memory. When Microchip put the chips which will be used for the 20X2 into production that will be another option.
 

westaust55

Moderator
And those llinks are all to threads started by rigidigital (mike) on the same subject

To find out what SRF RAM locations existing in the 08M look at the PICAXE Manual (currently rev 6.8) page 13

and also have a look at my memory map at:
http://www.picaxeforum.co.uk/showthread.php?t=11514

More information about how much memory you need, why and type might be helpful.
 

vttom

Senior Member
The previous replies should answer most of your questions, and it depends on what you mean by "more memory" -

* Program memory - No, you are limited to the 256 byte maximum. You could write an interpreter program and obey instructions to do things from external non-volatile storage but speed will be slow.
IMHO, the biggest bang for the buck is to optimize, optimize, optimize your code. For instance, I had a function which I tried and tried and tried to squeeze into a 14M. I just could not make it fit. So, I wound up implementing my function with a 14M an an 08M off to the side. But then, a year later, I revisited the project, and after a day's work I had re-optimized the code so that it fit entirely in just the 14M.
 

hippy

Ex-Staff (retired)
Optimisation does work, and ability to do that can improve with experience, but it also has its downsides in the time and effort it takes and it's sometimes a choice between larger unoptimised code which is clear and readable or smaller optimised code which is less readable or isn't so aesthetically pleasing.

Perhaps the worse case is when you are right on the limit of memory use. Recovering a few extra bytes can mean a whole lot of work, possibly a major re-design, and it will distract from the actual project itself. Then you use up those bytes and have to go through it all again.

My rule of thumb is that most code can be optimised to regain 10% but after that it gets much harder, though it depends very much on the code to start with and how tightly coded.

It's always a good idea to write optimised when one can but it's handy to have more program memory than you need so you aren't forced into optimising mid-project. Getting something working, coming back to it ( even a year later ! ) and improving what you have is a good model IMO. The advantage of optimising a finished project is you never run the risk of optimising yourself into a corner while parts of the project remain unfinished.
 

rigidigital

Senior Member
Yes sorry about the repeated posts

Clearly a memory thing:p
I first started with picaxe in 2007, after I finished my days work on a farm in QLD, Id retire to my cottage and play with electronics. After a few months I moved on to Canberra and worked in Building construction, then I quite that and worked for Canberra Horticulture, around paliment house. At night I did CIT classes in programming. Java, VB, C#. NO eletronics, left it all with my folks. Now Im in Brisbane looking for work, will have a box full of electonics sent down to me in the next week. Thats my excuse anyway. But from now on I will search for answers rarther than just ask them!

But yoy are are great bunch of guys who have helped a great deal when i actually had the picaxes in 2007 :)
 

Texy

Senior Member
I,ve said it before, and perhaps I,ll say it again. I think there is real nead for a low pin-count chip which still has the power, either as more memory space and/or the interpreter functions (commands) that the high spec chips have.
Also having the faster clock speeds of the X2 chips would be good. Looking forward to the 20X2 chip, but a 8X2 chip would surely be a real money spinner - even taking into account the target market of the lower spec chips (if ever there was one!).

Texy
 

Dippy

Moderator
Sounds a good idea Texy.
Do Microchip make an appropriate 8 pin DIP PIC?
That is what Rev-Ed would have to use.
 

hippy

Ex-Staff (retired)
It's mainly a case of whatever Microchip produce and at what price, plus the business case made for it. If Microchip do not produce silicon which meets the needs there's not a lot anyone can do about that.

Whether a future 08X2 would be a money spinner is open to debate, it may have the speed and the memory capacity but not enough I/O to justify it except in a niche market where a 20X2 could do the job. It still comes down to the business case so impossible to predict if there ever will or won't be an 08X2.
 

moxhamj

New Member
Everyone wants more memory! Re post #2 on this thread, that second link links to some posts I made, eg post #9 on that thread about CP/M. I now have those boards working and if you want 512k of battery backed ram disk space that will never wear out, we can do that in Basic that is very similar to picaxe basic. But it will cost you $50 which is a bit more than an 08M. Or you could pair an 08M with a uDrive and get 2 gig of memory (the uDrive is made by 4dSystems in Sydney)

Or you could go for the wireless mesh solution and not store the data locally but send it out into the mesh and store it somewhere else, eg on just one board with a uDrive or a sd ram drive or a bigger picaxe or a link to a PC or a link to the internet. The picaxe-CP/M mesh went live with 6 nodes a few days ago and no crashes as yet.

There are all sorts of possibilities and they are all working systems, but it depends what you want to do. Store data, expand the code space etc? There is a picaxe for almost every sized program now.
 
Top