8 Replies Latest reply on Sep 24, 2014 1:23 PM by onehorse

    Custom Expansion Board

    DiegoV_Intel

      Hi, is there someone trying to design a Custom Expansion Board for Edison? I will use KiCAD for that and I'd like to know if someone has created the Edison component in this software.

       

      Thanks

        • 1. Re: Custom Expansion Board
          faceplant

          Sparkfun created a template in Eagle that you might be able to convert to KiCAD.  It's available on github.

          1 of 1 people found this helpful
          • 2. Re: Custom Expansion Board
            onehorse

            I made a custom Edison add-on board in Eagle, see here.

            1 of 1 people found this helpful
            • 3. Re: Custom Expansion Board
              faceplant

              Nice.  I'm working on something similar, but using an STM32 in addition to add additional PWM.  I'm also (currently) putting the sensors on the STM32.

               

              I assume you're running the sensors at 1.8V, so you don't need level converters?  What about the UARTs and LEDs?

               

              Since you're using through hole headers, I think you're also going to have to use the (as of yet non-existent) 3mm Hirose connector for the Edison, otherwise I think they'll short out on the shield.

               

              Are you going to release the schematic?

              1 of 1 people found this helpful
              • 4. Re: Custom Expansion Board
                onehorse

                The schematic is available at OSH Park, I believe, and is downloadable in their share projects space via the link above. I have the 2 mm spaced Hirose headers and I was planning to put an insulating barrier (electrical tape) between the add-on board and the Edison to prevent shorting.

                 

                I am using 3V3 to power the sensors VDD and 1.8 V for all digital lines. No logic converter necessary.

                 

                Instead of an STM32 why not a GPIO port expander? It's cheaper and easier.

                 

                The UART is TBD, I hope I don't need a logic level converter for it.

                 

                The LEDs are powered by 3V3 but the GPIO pins from the Edison simply output GND to turn them on and 1V8 to turn them off; I am hoping this will work.

                1 of 1 people found this helpful
                • 5. Re: Custom Expansion Board
                  faceplant

                  I haven't worked with 1.8V logic before, but I think you're going to have problems directly tying the 1.8V logic to the sensors at 3.3V.  I don't think the Edison I/O is 3.3V tolerant.  I'm also not sure the 3.3V logic will accept 1.8V as a logic high.  I pretty much convinced myself that it wouldn't work with the STM32.  You should be able to run the sensors at 1.8V.

                   

                  I think the LED should work. Assuming they are 2V (or higher) LEDs, that would raise the low side high enough to turn them off.  I haven't checked the current supported by the 1.8V I/O on the Edison to see if it can sink enough current, but I would think a few mV shouldn't be a problem.

                   

                  My use will be in flight control, and I had planned on moving the critical / real-time portions to the microcontroller, and use the CPU for navigation, etc.  I could use a PWM extender, but I also would like more UARTs and other, more complex GPIO (PPM decoder, etc).  It's really not much more expensive in cost or size to use a microcontroller over other custom hardware.  You can get a low-end STM32 in a 20-pin package for ~$1.  This gives you 2 UARTs, SPI, I2C, Analog, etc (not all at once!).

                   

                  The 2mm connector should work, but you will likely have to clip off the end of the through-hole pins.  The 2mm connector only gives you 0.5mm of space, and I think that through hole connectors typically protrude more than that.

                  1 of 1 people found this helpful
                  • 6. Re: Custom Expansion Board
                    onehorse

                    I am using 3V3 to power the sensor analog only. Separate analog and digital supply for the sensors is standard practice; it keeps the noise down. On small breakout boards I often run both at 3V3 but here, separating them is necessary, since the IMU analog voltage minimum is 2.4 V and GPIO max is 1V8. The Edison wont see 3V3 on the GPIO pins in my application. 1V8 logic HIGH works fine for the MPU9250 and MS5611 sensors I am using here.

                     

                    I hadn't thought about the USB and UART voltages, it looks like at least for the UART the voltage limit is also 1.8 V so a logic level converter will be required. I need to get confirmation of this from Intel but since the UART runs off GPIO pins it must be the case.

                     

                    The through hole ports are just convenient solder point for small wires, no machine pin headers are intended for them. I could have used the smaller solder through holes but these were left over from another board. Lazy, I guess.

                    1 of 1 people found this helpful
                    • 7. Re: Custom Expansion Board
                      faceplant

                      Now I see the separate supplies on the MPU-9250.  I suppose you're running the MS5611 at 1.8V as well, since I only see one supply voltage.

                       

                      I as looking over your other projects, and an intrigued by the BNO005.  I wonder how it compares to the mpu-9250.  Having an on-board Cortex-M0 seems nice, but it doesn't look like you can program it, so I'm not sure how useful it would be.  The on-board sensor fusion would be nice for some applications, but it limits you to their algorithm.  Of course, the most important aspect is how the sensor performs in real-world environments.

                      1 of 1 people found this helpful
                      • 8. Re: Custom Expansion Board
                        onehorse

                        Yes, the MS5611 doesn't have a separate analog and digital supply as far as I can tell, so I am running it at 1V8. This is the lower limit according to the data sheet and I am curious to see if there is any degradation in performance at this low voltage.

                         

                        The BNO-055 is just being released so I haven't had a chance to actually test it yet. It promises to be a nice compact hardware sensor fusion solution. I have tested the MAX21100 which similarly has a hardware sensor fusion engine but requires an external magnetometer. This works fine but the data sheet is somewhat vague in several places and I have had to ask a lot of questions of Maxim Integrated to learn how to use some of the more subtle features of the device. The only complaint is that the absolute orientation yaw/heading produced by the hardware sensor fusion is rotated 90 degrees from the heading I calculate using open source software sensor fusion and Maxim wont tell me why. Also, the response of the hardware sensor fusion solution to orientation changes is quite slow, sometimes taking several seconds to update. Not really useful until I can figure out how to speed it up.

                         

                        The other attractive solution is the EM7180/SENtral hardware sensor fusion module that takes 9-axis sensor data as an input and performs sensor fusion in hardware. Also not yet released but I have requested samples for testing. I suspect this engine is what is driving the hardware sensor fusion in the BNO-055 but that's just a speculation.

                         

                        I am expecting delivery of the first batch of BNO-055 sensors next week so I will be able to start testing next month. For motion sensor nuts like me these new technological developments are very exciting!

                        1 of 1 people found this helpful