how to shield arduino uno from external mag fields?

I would also think there may be other possible problems, but anyway...

The easiest and cheapest way to block magnetic fields is to just use sheets of plain carbon steel, such as furnace ductwork or chimney flue. Even perforated sheet will work, as long as it is made of carbon steel (that contains iron).

But let's say you want to spend money for the best possible material.......

The industrial-grade metal used for magnetic shielding is called mu-metal.

Industrially...... mu-metal is used for blocking RF fields, where there is not enough physical space to use a thicker & cheaper piece of carbon steel.

It will attenuate static magnetic fields and lower frequencies (say, <10kHz) but for that it really doesn't work any better than regular carbon steel would. And mu-metal costs a LOT more than regular sheet steel does.