No wonder we sometimes get confused with prepositions. They are crazy to learn and frustrating to teach, iiiif they can be taught !
So, the question of whether you say at the weekend or on the weekend is not a question of being grammatically correct but of speaking American English or British English, being at the weekend (BrE) and on the weekend (AmE).
So, both are correct. My only tip is that you stick to either American or British. Nobody says Alo (as in Santo Domingo) when answering the phone in Spain, although we understand it.