QPSK/QAM, digital quadrature modulation: square wave as local oscillator possible?
Yes, you can use a square wave LO. It makes the multiplication by the data trivial.  With digital data, it can all be done with logic, and with analogue IQ data you can do it with 4053-type analogue muxes.
It sounds like you're not expecting the Arduino to produce the LO. Use a 4x LO digital clock, clocking a /4 Johnson counter. That's most easily made with a single dual flip flop HC74 package, Q to D for one, Qbar to D for the other. This will produce all four phases, 0, 90, 180, 270 of your quadrature LO.