I hope someone can help me on the syntax to move the 2 arrays into FLASH memory. I've gone through the PROGMEM Reference but was not able to achieve a useable result.Thanks for your cooperation, suggestions and feedback.

There are 2 arrays to be put into Flash-mem. For now I have only been working on the one for 'char* expstr[]'.The effect is that since the array is in Flash-mem the code no longer crashes. (so the initial problem solved).

Great, thanks a lot BRIAN.(your coding doesn't seem to be so 'badly' - in contrary).

The adjusted code is updated (at the url provided in previous post).

There is one last issue I'd like to get solved:The array 'exptime[]' is now in FLASH-mem. So the command on line 569 must be changed as well as 't' referred to the current exposure time when this array was in the default memory space.

void fire(unsigned long t){ // * this is the sequence to release the shutter

pinMode(FOCUS, OUTPUT); // outpin 6 gives outputpinMode(SHUTTERPIN, OUTPUT); // outpin 4 gives outputdigitalWrite(FOCUS, HIGH); // initiate focus and camera ready ('r6' for the Nikon D300)delay(INITfocus); // give time till camera 'beeps' the ready signaldigitalWrite(SHUTTERPIN, HIGH); // initiate exposure, activate mirror-up / on Nikon D300 set d9=on, results in a 600ms delay till the actual exposure startsdelay(INITfire); // there must be a short delay so the circuit has just enough time to trigger the shutter releasedigitalWrite(SHUTTERPIN, LOW); // mirror is up and shutter has been released, the Shutterpin has no more effect can be set to LOWdelay(pgm_read_dword( &exptime[t])); // * this is the actual exposure. Should be something like the following line// delay(t); // * 't' should be known form the first linedigitalWrite(FOCUS, LOW); // end the exposure delayed by 't'