Here is a nice Arduino time line I found on reddit/arduino
That is a good display of what had been worrying me.
I still use an embedded 328 chip for most of my projects, at $4 .
So all the new Arduino boards with smd components are making me feel left behind.
Crossroads makes a ATMega1284P Duemilanova-style board that I think I will try for projects that need some more memory.
The chip is twice the price of the 328 chip, but has twice the memory and pins.
Looking at that chart reminds me of the cellphone market, and I am not one for change for changes sake, I still have a dumb phone and have not seen an app that I feel I need.
Touch wood, I have not needed more memory as yet for my projects, but I have an idea the current one might tax it.
twice the memory and pins
Not quite, but the '1284P can do a lot more:
'328P '1284P
28 pins 40 pins (DIP)
32 pins 44 pins (TQFP)
20 io 32 io (as used in Arduino designs)
1K eeprom 4k eeprom
2k sram 16k sram
32k flash 128k flash
1 serial port 2 serial ports
Right, its the memory ( and the extra serial port ) that interest me.
But one of my current projects I want to have a selection of 8 char teamnames stored in eeprom, with the option of adding more.
I already make a unit with a joystick type input with the x to step through the cursor position on a 2 x 16 LCD display, and the y to step through the alphabet. (pic attached if anyone interested )
When they are happy with the team names they press an "update" button and it is sent to the scoreboard.
The same team names are often used in league tournaments, so I want to have a library to step through the stored names.
It will be up to the user to press an add button if he wants the teamname he has just displayed to be stored or just used for a one off game and forgotten.
With 4k of eeprom it should give me 500 teamnames which will be more than enough.
I suppose I could use an external eeprom with the 328, which is probably the same pcb space as the 40 pin chip anyway.
Space with extra memory chip - depends if using DIP or TQFP. Don't forget decoupling cap also, and pullup resistors if using I2C.
If what you are storing is just the number of the letter to be called up in a team name, and the font of the letter is stored in progmem, then 512 8 letter names can fit in 4K of EEPROM as you indicated. I was thinking each nibble of a byte could hold 2 letters, but that only works if your alphabet is limited to 16 letters.
If you used 5 bits per letter (32 letter choices; A-Z and , / - + ; : space and 3 more), and thus 40 bits per team name, i.e. 5 bytes, you could hold 819 names in 4096 bytes of EEPROM, or 204 in 1K of EEPROM.
I must check how I did the names before, I stored the bitmaps in the 328 eeprom, but dont know how much space it took.
This particular project is for an inline hockey team in Namibia, and they don't have a lot of teams ( or towns ! ) so I could perhaps just get it to store new names over the least used older ones - which might need storing a separate register of eeprom addresses to keep track of them, hmm.
You recommended some modern eeprom chips a while back Crossroads, I will see if I can find that post.
I will only be starting this project after the current ones go out, ( this week I hope !) so I am just thinking about it at the moment.
Using any external device will give you tons of room.
Like an FRAM.
That's the one, I must brush up on it, I did get the intro pamphlet at the time.
Glad to hear of technical challenge of fitting shapes into memory...
Back to the OriginalSubject
Pedro147:
Here is a nice Arduino time line I found on reddit/arduinohttp://blog.arduino.cc/wp-content/uploads/2013/11/ArduinoEvolution_make.jpg
What a fantastic summary! The Arduino team should ask for permission to use it, ir at least link to it I've bookmarked it.