It is possible your engine is not running warm enough. Check the heater hoses under the hood to see if they are very hot, or if they are only luke warm. If they are just warm, it could need a thermostat.
if you're running low on coolant the temp gauge will read low even when hot as the temp gauges the coolant temp NOT the engine temp... if the heater core or hoses to it are clogged (rare) it won't allow the HOT coolant to get to the heater core... and of course we're all assuming the heater fan is operational ? and that you have the proper thermostat installed?