====== DS18B20 ====== DS18B20 are small true temperature sensors. You can find them easily on ebay for a couple of $. ===== Default settings: ===== By default the bugOne use PD5 for this sensors. You can tweak this in __devices/onewire.h__ #define OW_PIN PD5 #define OW_IN PIND #define OW_OUT PORTD #define OW_DDR DDRD The default setting for power supply is parasite. Just power the device through a 4.7k pull-up on pin DQ. You can change this in __devices/ds18x20.c__ int8_t ds18x20_read(struct packet_t *packet) { uint16_t temperature; uart_putstr_P(PSTR("ds18x20 read\r\n")); DS18X20_start_meas(DS18X20_POWER_PARASITE,NULL); _delay_ms(DS18B20_TCONV_12BIT); DS18X20_read_decicelsius_single(DS18B20_FAMILY_CODE, &temperature); return set_data_int16(packet, temperature); } ==== Debug ==== * If you receive dumb values from a sensor, usually mean the bugOne can find this sensor. This can be a wiring error, or a wrong power mode (check parasite mode). * If you receive 850 (85.0°), usually mean the bugOne found the sensor but was unable to read the value. This usually occurs with bad connexion, for example on a breadboard. I spent some time on this error, but it's always a hardware failure not a software bug.