element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Code Exchange
  • Technologies
  • More
Code Exchange
Forum How are flocks connecting there RPI with external world(Other embedded circuits)? any standards.. if not which 1 you will pick?
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Code Exchange to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 28 replies
  • Subscribers 53 subscribers
  • Views 2280 views
  • Users 0 members are here
  • 32bit
  • raspbpi
  • raspcontrol
  • Code Exchange
  • programming
  • embedded
  • raspberry_pi_rev_2
  • arm
  • arduino
  • atmel
Related

How are flocks connecting there RPI with external world(Other embedded circuits)? any standards.. if not which 1 you will pick?

shahbhaumik
shahbhaumik over 12 years ago

There are various option when it comes to connect RPI with external embedded boards. Currently many geeks are trying to interface various peripherals with RPI with the I/O header given. I feel there are following option one can go with.

 

1) Use I/O header.

Which i feel is good for prototyping but as we move do something that looks good this option is not what I feel is best, I hate all the wires that comes out of RPI and then loose connection and what not to take care of...

 

2) Use of USB port.

RPI is computer and you it can communicate to co-processor using its USB ports.I think this is very neat way to do things. For example if you are making a robot which has a microcontroller that has UART it can easily communicate with RPI above that you can reflash you microcontroller as per your application using RPI. I know there are no instruction or related work out there like this but soon i will be posting instruction to do this on my blog as well on code exchange.

 

 

Would like to now community views on same.

  • Sign in to reply
  • Cancel

Top Replies

  • fustini
    fustini over 12 years ago +1
    Thus far I've been using the Adafruit Pi Cobbler Adafruit Pi Cobbler to interface the header with a breadboard and programming in Python using libraries like RPi.GPIO . I've really enjoyed Adafruit's tutorials…
  • morgaine
    morgaine over 12 years ago in reply to fustini +1
    Since you've already dealt with 1) Use I/O header , and 2) Use of USB port , I think I'll add the missing alternative, 3) Use of Ethernet . Some people consider USB a fixture and a sacred cow, but I've…
  • morgaine
    morgaine over 12 years ago in reply to gdstew +1
    On the issue of Ethernet complexity, I can't help you further since you refuse to use the engineering concept of dividing a communications stack into layers so that properties of single layers can be discused…
Parents
  • shahbhaumik
    0 shahbhaumik over 12 years ago

    Thank you all for your views. I knew this post would be little bit controversial, and eventually it went little bit ofcouse but the fun part is its still knowledgeable.

    Being and embedded person and my exploration on RPI has made me to conclude that all the lower levels interface like more led's, switches other sensors should not be connected to RPI directly. To better understand this I would like to bring an example.

    Suppose I want to make a robot using RPI, I can make a motor driver breakout and connect it directly to RPI and ofcourse code on RPI is no big deal, But RPI is much more computational power to just drive a motor and thus i want to put all this motor control and small sensor stuff to a companion board attached to my RPI. Thus RPI can focus on algorithmic claculation part (Putting ROS or Open CV).

     

    Now with 8 bit microcontroller i would not have much option with USB and Ethernet, I now there are alternative avaiable but i feel its overkill for 8 bit. RS232 comes handy in this case. I can convert  RS232 to USB CDC using FT232RL or CP2102 or some other option.

     

    I would futher like to create an open interface for RPI to communicate with expansion board.

     

    Hence a good interface

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gdstew
    0 gdstew over 12 years ago in reply to shahbhaumik

    I actually don't have a problem with using either interface. As I said at various times in this thread I have used both with no problems other than the

    normal new interface learning curve.

     

    The use of the FT232RL is a good solution for an easy interface to just about any microcontroller if it meets your bandwidth needs. And it is supported

    by the Linux kernel.  The project I used it that I spoke of earlier was connected to the serial port of an 89C51RD2 which could supply eight 10 bit

    temperature readings (sent as 2 bytes with 10 bytes of sensor number/sensor status/protocol info), and eight 16 bit RPM measurements (again sent

    with 10 bytes of RPM  sense input number/input status/protocol info) using two commands with both sent once a second over a 9.6K USB "serial"

    interface with no dropouts. I later increased it to 19.2K because I had planned to increase the number of temperature sensors to 16, and the number

    of RPM sense inputs to 10 and it reduced the overhead used by the Linux serial interface. That was the normal operating mode for the design. Other

    commands could be sent between the temperature/RPM update commands for getting/setting configurations and reading status when needed. I had

    planned to release the command/communications protocol as a completely open specification if it sounds like something you might be able to use.

     

    There are quite a few 8 bit microcontrollers with USB interfaces now available from Microchip and others if you want to go that route. They are usually

    limited to the USB 1.1 12 Mb/s or less but given what you said above I don't see that as a problem.

     

    The ability to supply the expansion board with 5 volts from the USB interface is also very useful. There are a couple of things to take into consideration

    when doing this with the Rapsberry Pi. The USB spec. allows the host interface (Raspberry Pi or PC) to supply up to 500 mA on the 5 V line. Most

    desk PCs can supply that  but laptops and other portables may not. The Rapsberry Pi has a 1A polyfuse on its 5V power line. I have measured the

    current being used on a R Pi under a medium to heavy loads at between 630 and 700 mA which is consistent with what the RPF says it should be.

    This of course only allows 150 mA per USB port (300 mA if only one port is used) so I have removed and replaced the 5V fuse with a jumper, or just

    bypassed the fuse with a jumper on all three of the R Pi's I have. Of course the best course of action would be to replace it  with a 2A polyfuse. A

    5V 2A wall supply should allow for a full 500 mA per port. Another thing to be aware of is that power/ground pins on the USB connector used to

    connect the R Pi to the power supply are only rated for 1.8A. Of course (500mA x 2) + 700mA is 1.7A so it should work just fine with a little surge

    current for short periods of time available when needed.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • gdstew
    0 gdstew over 12 years ago in reply to shahbhaumik

    I actually don't have a problem with using either interface. As I said at various times in this thread I have used both with no problems other than the

    normal new interface learning curve.

     

    The use of the FT232RL is a good solution for an easy interface to just about any microcontroller if it meets your bandwidth needs. And it is supported

    by the Linux kernel.  The project I used it that I spoke of earlier was connected to the serial port of an 89C51RD2 which could supply eight 10 bit

    temperature readings (sent as 2 bytes with 10 bytes of sensor number/sensor status/protocol info), and eight 16 bit RPM measurements (again sent

    with 10 bytes of RPM  sense input number/input status/protocol info) using two commands with both sent once a second over a 9.6K USB "serial"

    interface with no dropouts. I later increased it to 19.2K because I had planned to increase the number of temperature sensors to 16, and the number

    of RPM sense inputs to 10 and it reduced the overhead used by the Linux serial interface. That was the normal operating mode for the design. Other

    commands could be sent between the temperature/RPM update commands for getting/setting configurations and reading status when needed. I had

    planned to release the command/communications protocol as a completely open specification if it sounds like something you might be able to use.

     

    There are quite a few 8 bit microcontrollers with USB interfaces now available from Microchip and others if you want to go that route. They are usually

    limited to the USB 1.1 12 Mb/s or less but given what you said above I don't see that as a problem.

     

    The ability to supply the expansion board with 5 volts from the USB interface is also very useful. There are a couple of things to take into consideration

    when doing this with the Rapsberry Pi. The USB spec. allows the host interface (Raspberry Pi or PC) to supply up to 500 mA on the 5 V line. Most

    desk PCs can supply that  but laptops and other portables may not. The Rapsberry Pi has a 1A polyfuse on its 5V power line. I have measured the

    current being used on a R Pi under a medium to heavy loads at between 630 and 700 mA which is consistent with what the RPF says it should be.

    This of course only allows 150 mA per USB port (300 mA if only one port is used) so I have removed and replaced the 5V fuse with a jumper, or just

    bypassed the fuse with a jumper on all three of the R Pi's I have. Of course the best course of action would be to replace it  with a 2A polyfuse. A

    5V 2A wall supply should allow for a full 500 mA per port. Another thing to be aware of is that power/ground pins on the USB connector used to

    connect the R Pi to the power supply are only rated for 1.8A. Of course (500mA x 2) + 700mA is 1.7A so it should work just fine with a little surge

    current for short periods of time available when needed.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • johnbeetem
    0 johnbeetem over 12 years ago in reply to gdstew

    Gary Stewart wrote:

     

    ... The Rapsberry Pi has a 1A polyfuse on its 5V power line. I have measured the current being used on a R Pi under a medium to heavy loads at between 630 and 700 mA which is consistent with what the RPF says it should be.   This of course only allows 150 mA per USB port (300 mA if only one port is used) so I have removed and replaced the 5V fuse with a jumper, or just  bypassed the fuse with a jumper on all three of the R Pi's I have. Of course the best course of action would be to replace it  with a 2A polyfuse. A  5V 2A wall supply should allow for a full 500 mA per port. Another thing to be aware of is that power/ground pins on the USB connector used to  connect the R Pi to the power supply are only rated for 1.8A. Of course (500mA x 2) + 700mA is 1.7A so it should work just fine with a little surge  current for short periods of time available when needed.

    Personally, I'd be leery of supplying more than 1A through the RasPi Micro USB power jack.  Not only is the USB connector limited as you pointed out, but we don't know the current capacity of the 5V traces on the RasPi PCB.  When RPF releases PCB artwork we'll have a better idea.  Also, most Micro USB cables can just barely supply RasPi's 700 mA.  Above that the voltage drop across the Micro USB cable could easily be too much.

     

    If I had an add-on board that needed more than 300 mA at 5V I'd consider putting a 5.5mm barrel connector on the add-on board and letting the add-on board power RasPi through the GPIO connector.  The FTDI RasPi expansion module does this: http://www.ftdichip.com/Products/Modules/RPi.htm

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube