5 Replies Latest reply on Oct 29, 2015 6:33 AM by DiegoV_Intel

    ADC Using MCP3008?

    postITnote

      Has anyone gotten an external ADC chip working Edison's mini breakout? I"m checking out the MCP3008, typically used for the Raspberry Pi right now.

      I'm familiar with Sparkfuns, but would like more than 4 outputs and wondering if anyone has built one in the community.

        • 1. Re: ADC Using MCP3008?
          DiegoV_Intel

          Hello postITnote,

           

          I haven't used the MCP3008, but I checked the datasheet and it's an IC that works at 2.7V - 5.5V. The Edison module (and Mini-Breakout board) is 1.8V tolerant so you must use a logic level converter to interface the ADC with the Edison module. Additionally, the logic level converter should be fast enough for the SPI communication. In the following thread there is a discussion about an issue caused by the logic level converter used: Using a Logic Level Converter with the Edison and the APA102c LED Strip, you might find the discussion interesting.

           

          Regards,

          Diego.

          • 2. Re: ADC Using MCP3008?
            postITnote

            Thanks @DiegoV_Intel,

             

            I work with wearables, so the Arduino breakout is not really a good option, especially for accessories. What is the best way to use several flex sensors, fsr or potentiometers with Edison?

            • 3. Re: ADC Using MCP3008?
              DiegoV_Intel

              Hello postITnote,

               

              Flex sensors, FSR or potentiometers are usually used as part of voltage dividers in order to provide a voltage variation according to its resistance change. The only way to process the output voltage generated by the voltage divider is using an ADC. Unfortunately, the Edison module doesn't have an embedded ADC so you need to use an external one. In fact, the Arduino Expansion Board includes an external ADC to add the analog inputs feature.

               

              Regards,

              Diego.

              • 4. Re: ADC Using MCP3008?
                postITnote

                Sorry, I didn't word the question correctly.

                Knowing that the Arduino bb is the one you offer with ADC and that one is needed for the mentioned sensors, what do you suggest instead? I'm curious as to what kind of external ADC you (or any of the other wizards on the Intel side) would recommend using with the Edison. Are there any that have been tried already? I can't be the only one who has wanted to use these sensors with the Edison while also needing a much smaller board. Or maybe my needs are atypical...


                Do you know if Intel plans on rolling ADC out on a smaller board?


                • 5. Re: ADC Using MCP3008?
                  DiegoV_Intel

                  Hello postITnote,

                   

                  If you don't want to use the Arduino Expansion Board, then the only option you have is to design a custom board with an external ADC. Currently, the Intel boards for Edison are the Arduino Expansion Board and the Mini-Breakout Board. The second one is smaller, but it doesn't include an external ADC. Unfortunately, there are no plans to release another expansion board besides those two boards.

                   

                  Other option would be to use the SparkFun ADC block for Edison, but it has only 4 channels. So considering the fact that the expansion boards available don’t suit your needs, you would have to design a custom board according to your needs.

                   

                  If I were you I would use the same ADC the Arduino Expansion Board uses. The MCP3008 that you pointed might work as well, but I would choose the one used by the Arduino Expansion Board because it's the one used in an Intel board so it has been tested before and it should work in a custom board too.

                   

                  The ADC used by the Arduino Expansion Board is the ADS7951. This ADC has 8 channels, and it interfaces with the Edison through SPI. Additionally, you must use a logic level translator because the Edison's IO are 1.8V tolerant.

                   

                  Regards,

                  Diego.