sda and scl were swapped twice. The code worked, but would be confusing trying to interface with pins externally.