Vou te dar uma dica, seguinte, o Arduíno utilzia geralmente um uC de 8bits e nunca vi nenhum ter instruções para trabalhar com ponto flutuante, de forma que ao se adicionar no firmware o tratamento de ponto flutuante ele infla muito o resultado final do firmware. Isto impossibilita por exemplo utilziar sua biblioteca em um uC Attiny45 ou ocupa mais de 50% do espaço em um Atmega8, te todo modo sua biblioteca ficou bacana e bem intuitiva. Quanto ao problema do ponto flutuante veja que 31,5º = 315mV então ao invés de representar a temperatura como um ponto flutuante não representa isto com inteiro e este sim o uC sabe trabalhar com a mão nas costa.
Percebi isto quando estava fazendo um monitorador e carregador de bateria, precisava usar um Attiny45 o e uma das coisas que o monitor tinha que fazer era verificar a temperatura das baterias, percebi que quando adicionava a funcionalidade de registrar a temperatura da bateria o firmware saia de 2kB para 8kB extrapolando o tamanho da área do programa e ai fui dar uma estudada no uC e percebi que ele não tinha instruções para trabalhar com ponto flutuante e que ele fazia isto através de software e ai fiz esta conversão.