Author Options:

Is there a way to save data onto an ATTINY85 chip, separate from your C program? Answered

Hey everyone, this is my first post and I am not quite sure how to word this, so please bear with me. :)

Here is the  ATTINY85 datesheet

Basically, the long and short of it is, I made a simple USB HID Programmable Key-stroker Device. I used Macetech's capslocker for inspiration on the circuit design and then wrote my own program in C.

Capslocker Design (Basically this design exactly except I have also added two zener diodes for voltage regulation on both USB data lines and a programming header) : http://macetech.com/blog/?q=node/46

However, instead of just sending Capslock on and off (like the Capslocker), this one allows you to send strings of text, combinations of keys, can switch to a mouse and I am currently adding a wireless receiver and RF remote trigger the device with the press of a button to mess with my boss.

Currently, if I want to change the keystrokes or mouse movements I have to recompile and then burn the new software onto the ATtiny85 device. Instead, I am looking for an easier way to go about modifying the keystrokes that are saved on the device. Is there anyway to save data to a specific part of the ATTINY that would not require recompiling each time I wanted to update the recorded keystrokes? Or maybe a way to save a text file onto an ATTINY85 device that the C program could load? If not could this be done with an EEPROM? I have programming experience but I am reallllly green when it comes to AVR stuff, so I am not even sure what I should be looking for to accomplish this. Any nudge in the right direction would be appreciated.

Thanks for reading and I love this community I have been lurking for quite some time and your posts have helped me quite a bit!



2 years ago

C language wont let you, but ML code you can easily skip a spot of addresses and e-save data in program memory... We used to write programs that would alter their own instructions...

The parallax Stamps actually have a Var = PEEK,(addr) and POKE,byte,(addr) that lets you do this to unused program e-memory and also has a Read and Write 16bit words...


2 years ago

No - You would need to write the data to a none volatile Eprom.