6 Replies Latest reply on Sep 20, 2016 2:21 PM by Intel Corporation

    Using Edison internal pull up/down resistors



      I just need to clarify a few points about using these resistors.


      I am using Sparkfun blocks, and taking the picture below from  relevant Sparkfun tutorial.


      SparkFun Inventor's Kit for Edison Experiment Guide - learn.sparkfun.com


      Here is what i understand to be a standard pull up circuit (graphic lifted from the above tutorial):


      Am I right in assuming that an external  R1 is not necessary, because i can use the Edison's internal resistor?

      And further, that this internal resistor will be active if the following are true (say for gpio49):


      in directory /sys/kernel/debug/gpio_debug/gpio49


      file current_pullstrength contains one of the values 2k, 20k, 50k or 910ohms

      file current_pullmode contains the value pullup


      The sparkfun tutorial suggest a value of 1k for the external resistor, so the most appropriate equivalent would be the 910ohm setting?


      I intend to connect a number of buttons to a number of gpio (possibly as many as 10), will this 920ohm value remain appropriate in those circumstances?


      Also, if I am using an external resistor, as per the above diagram then the value of current_pullmode should be set to nopull?


      Also, I note that these values are set in a gpio_debug directory. Do they need to be set anywhere else in, say, a production environment?


      Finall, If I write values to these files can they be overridden from elsewhere?


      I note from another thread that there is a current_debounce file, but that no functionality currently exists for this. Is this likely to change?


      Thank you