Me and my colleagues from work are working on a project that helps us to store some configuration files on an SD card and load those configs to an Arduino mega.

The idea started a year ago when we created with help from this forum a small cable tester i think it was a cable with 2 connectors and each connector had 20 pins in total 40 testing points, from that I created few sketches that I upload and re upload as I needed. That program tested the continuity, wire/pin short and if the wire where crossed.

My question is can anyone tell me or help me to create a program that can access an sd card with multiple config files and then run it instead of reprogramming the mega all over again if i need to change the program ?

It's certainly plausible. You can make the cable testing data driven and populate the data structures that control it from the SD card. You'll need to devise a file format that supports it and write code to parse it from the card.

Then you need to have a way to select which cable you're testing, perhaps have some way to display that information. How does your current project indicate whether the cable it's testing is good? Serial port to PC?

It would probably help if you post the program as it stands today.

Another thing to consider is whether to use the SD card at all. You would be able to store the data for multiple cables in the Mega and all you would need is a means to select the cable type to test. How often does a new cable get introduced?

@wildbill We use a 16x2 LCD to display if the cable is bad or good but we want to upgrade it to 20x4 LCD, also we want to use an ethernet shield with microSD card. we don`t use an serial connection to the PC.

For the upgrade list we want to implement the following:-Ethernet shield + microSD card -> also we want to communicate with our tester over ethernet. -20x4 LCD-Rotary Encoder for menu surfing-Hopefully we manage how to work with an centipede shield-> this will help us to get another 64 testing pins

I attached the INO file and for the moment this is the program that we use in order to test the cable.

Every time that we are testing a new or different cable we need to change this variable here.

I would start by changing what you have to support multiple cables by adding an extra dimension to each array that needs it. Add a selection mechanism and you have a significant part of your requirements done.

Once that's working you can add ethernet and (if you still need it then) an SD card.