1 Reply Latest reply on Jul 25, 2015 9:07 AM by ttc7152

    Temperature sensor with Edison mini-breakout board


      I've tried to read temperature using 2 different sensor from the Edison mini-breakout board and keep hitting road blocks.  Do I have to use additional hardware?


      • The Dallas 1-wire DS18B20 digital temperature sensor isn't supported by the kernel.  (Although it works on Raspberry Pi)
      • A basic thermistor produces analog input and the mini-breakout board doesn't have an ADC.


      So the options to read temperature are?


      1. Use a thermistor with an external ADC?
      2. Use a DS18B20 with an external 1-wire to I2C converter or some other 1-wire interface hardware?
      3. Fix the w1-gpio and w1_therm kernel modules to work on an Edison?
      4. Use an MCP9808 or HTU21D I2C temperature sensor (but not ideal since they're PCB mounted and not waterproof)

      Is there any other option?  This is frustrating when the DS18B20 worked so easily on the Raspberry Pi.




        • 1. Re: Temperature sensor with Edison mini-breakout board

          Hey Paul,


          One way I accomplished this is using this block from sparkfun: https://www.sparkfun.com/products/13034?gclid=CLGS76bG9sYCFYQ8aQodypgIMA


          I hacked something together by flipping the battery pins (and thermistor pins) on the breakout board to the other side, then removing the power button.  So you can mount the sparkfun block to the breakout board and then the edison to the sparkfun block.  Alternatively you can just use a level shifter for i2c.  There are various posts on this forum about it, but basically the edison uses 1.8V for i2c instead of 3.3v like the rpi.  I think the MCP ADC chip you mentioned uses a range, but ~3v being on the minimum required voltage. 


          Once you get the level shifting working for i2c, then using an external ADC has worked well for us!