Choice of Poppy's external I/O ports

We want to let to the user the ability to easily plug external devices without having to open the head. So we want to extend the main I/O board with external I/O ports on Poppy 1, located either behind the head or the trunk.

Based on the current choice for the embbeded computer (i.e. Odroid U3), we will already have the ethernet port behind the head.

The question is What are the other external I/O ports needed?

As a first thought, the minimum would be an USB and an UART port. But maybe some other port could be useful such as Analog and Digital pins to control basic sensors, leds or even servo-motors.

Odroid:

  • 1 x Ethernet
  • 1 x USB port (to plug Wifi or Bluetooth dongle for example)

Arduino:

  • 1 x USB port for programming the board, not the same type as the Odroid one, I suggest type-B USB-B

Concerning adding more pins like I/O or UART, it mainly concern advance users, we should consider:

  • It is not flexible as you select a subset of ports that are suppose to be the useful ones.
  • It is convenient for quick hack but you will have ugly wires going out of the head.
  • Advance users can open the head and do their own business.

As it seems, we can have some room left in the head, we could keep using Arduino ideas by organizing the pins such that shields can be designed.

Micro-AB type is the best for me. Better integration , better disponibilities ( everybody have USB A to microUSB cable)

1 Like

I agree it is way nicer on the board and would look better from the outside. My concern was about the ease of access and ease of integration in the head (back of the head is not flat). The design and meca guys should take that decision but thinking twice Micro-AB seems feasible.

@Fdepraetre: Can you create a small document with relevant USB connectors (maybe there is more than one packaging of micro-AB connector) including pictures and dimensions.
Here is one example: http://www.tme.eu/en/Document/4e78b9a2ed279d3cbd52e22a72ea9364/MUSB-K152-30.pdf

To help understanding design constraints, I took two pictures of the main components integrated in the poppy’s head i.e:

  • screen
  • webcam
  • MX-28
  • Odroid U3
  • the internal IO board, here a 10x5cm PCB

The simplest way could be to add the external I/O ports directly on the internal IO board.
I put an USB A and a mini-usb port as example. As @jgrizou explained, a mini/micro usb is more difficult to integrate at the back of the head. For such small connectors, it would be needed to have an I/O board with a custom shape (curved) to fit the head.

So from my point of view it’s either we choose “big I/O connectors” (less elegant) or we design an I/O board with a “complex” shape (more expensive).