Building PC Software to interface with device

Writing to flash may be difficult, but that's what I'd like to do. If it makes it any easier, the board I've designed uses an SD card - so data can be stored into certain locations on that card.

So.... Are your lookup array structures declared nul and your intent is to read SD flash at startup to initialize those structures? You seem to be hinting that the lookup data is not static, or at least will need updating and that you wish to do this updates customization outside reprogramming the Arduino.

If my assumption above is true, then the compiler will be unable to keep these lookup structures in flash inside the uC, rather the elements will exist in RAM. IF the array length is fixed to a known maximum, you can likely getaway with the scheme, but if the array length is subject to change then test your code carefully since dynamic memory allocation may cause you future headaches.

Ray