I'm interested in using a Peltier device in conjunction with arduino as a precise temperature controller. I've followed the example below and have switched out batteries with a 12v power supply. After switching to the power supply the temperature gradient improved but the Mosfet became scorching hot. Although you might be inclined to say throw a heatsink on and all will be well, the end use would be a compact solution that would not favor the use of a heatsink. Are there any design changes that could be made so that I can avoid this heat issue?
You don't show the circuit, but it seems you are trying to linearly regulate the Peltier current. That is going to cause significant dissipation in the pass element.
A more efficient way is to use PWM, although the pulses need to be filtered so that the Peltier sees the average. I go into a lot more detail about this here.
You're probably using a MOSFET that does not switch on completely with the Arduino output voltage level. You need a MOSFET that is guaranteed to turn on 'completely' (guaranteed and low Rds(on)) at 3.3V or 5V or whatever your MCU is outputting.
If your MCU uses a 5V supply, you can use something like a IRLB8748PBF which has a guaranteed Rds(on) of 6.8m\$\Omega\$ at 25°C, so probably less than 10m\$\Omega\$ even hot. That means power dissipation (when 'on') will be less than 1.0W at 10A, so a small heat sink should suffice -- or if the Peltier only draws 6A, it should run cool enough to not require a heat sink at all (provided you don't switch it frequently).
If your MCU is 3.3V, you'll probably need to pick an appropriate SMT part to get guaranteed performance at Vgs =3.3V, few modern low voltage parts are made in the old through-hole packages.