I don't think so. The constructor in that library requires 2 parameters. The third parameter has a default, but the second does not. So I think because @steveinaustria 's code compiles with a single parameter for the constructor, he must be using a different library to that one or another one I found, or at least a different version. Maybe the constructor in that library/version does more than simply create the object and store the parameter values. Maybe it initialises the hardware also, which would explain what @steveinaustria is saying about setting up the i2c multiplexer before creating the mfrc522 object. If so, that's a poor way to make a library work, and switching to a different library/version would solve the problem.