Don't stay blind. Divide and conquer.
- Write a separate sketch for each major junction. Fake input values if necessary.
- Put lots of intermediate results out to Serial Monitor.
- Get each subsystem to work first.
-Then review all the Constants, Variables, Libraries, subroutines for each subassembly and merge the stuff above SETUP on the simplest subassembly and make sure you can compile.
- Add the other code piece by piece, checking that you can compile OK
- Finally make the "real" data come from the "real" code and see if it works. Keep a lot of the Serial Monitor stuff working unless it messes up timing.
Slow down and make sure you understand each piece.
And Good Luck!
(Been There. Done That. Screwed It Up...)