The thing is - it has already been done and the "ardutester" code project that @LarryD cites is mostly public domain and readily available.
So you have two choices - work with the current code and develop that in whatever way you need, or "re-invent the wheel" by yourself. In either case you may have to demonstrate to what extent it is your own work given the very well-known prior art. ![]()