3 Replies Latest reply on Jun 4, 2015 10:07 AM by Tranquility

    expansion shield for Galileo



      Recently, I got a Galileo and started to try it. After using it for a period of time by following the tutorial, I started to find that it should have a shield to make it more practical, so my colleague and I designed a dedicated expansion board for Galileo to solve the inconvenience encountered during use:


      1. Galileo only runs with 5V input, while I only have 9V power ... why not make a wide range of input options? Therefore, we added a DCDC power on the board, so we can use 7-23V to power up Galileo. If you only have a 5V power supply, there is no problem, just connect the power supply to the power port of Galileo. This way, 12V, 9V or 5V can be used.



      2. Cylindrical audio jack is used to make UART output, but with a TTL level, it is inconvenient to connect the serial port on Galileo to a computer to view debugging information, especially the electric level... to solve this problem, we also placed a similar socket on our expansion board, so that you can use an ordinary double-male audio cable to connect the two boards. On expansion board, we made a RS232 level converter to turn it into 5V output, and then connect a USB-to-UART chip, thus we only need a Micro USB cable to read the information output by the debug port of Galileo on your computer.



      3. Galileo board offers pin headers for RTC battery power, which is obviously inconvenient for me to connect button batteries, thus we expand it to place a battery socket, just like a computer motherboard.



      4. I / O level of Galileo is set by the following jumper to be 3.3V or 5V, which is quite considerate. However, frequently plugging the jumper is annoying, and it sucks when knocking off the jumper... It took me a long time to find it on the floor! Therefore, we feel that this feature can be performed by a slide switch, and it can be placed in the edge of the board. This way, operation is much simpler



      5. When we want to use the USB port on Galileo, we encountered more trouble. It is a Micro female port, thus our USB hub cannot be used ... To fix the problem, we made a USB Hub on the expansion board and it can expand one USB Host port to 4 ports. Moreover, we also made a special design for the input port that connects female end, you can expand the USB HOST on Galileo to the expansion board with an ordinary Micro USB cable.



      6. We also felt that Galileo is lack of display, and we cannot watch the running status of the board directly. Therefore, we added an OLED screen, which be connected to the Galileo by IIC interface, then you can watch the information on the screen with resolution of 128x64 to indicate the state of your program that is running.



      7. Taking into account that there is space on the board, we added two electronic brick sockets, through which various sensor modules and control module can be directly connected. As the provided UART and IIC interfaces can both be used as digital IO, compatibility is quite strong . And there are many sensor electronic brick can be used with these two sockets - Like the list HERE or the grove modules of seeed.



      8. As we intend to smart appliances with Galileo, an infrared remote control receiver is indispensable. No infrared remote control will limit its use, of course, we just expand it. With regard to the driver on the system, we have not even started yet, and we cannot guarantee that it will work – just leave it as it is.



      9. We have expanded pins on Galileo to the expansion board, you can plug various shields onto it just as you do on Galileo. We also expand an XBee interface, with which you can plug XBee modules to provide zigbee communications or other modules(like BTBee or wifibee) to extend all kinds of wireless functions.



      We have build a SDK (Github HERE) that support the Raspberry Pi and some board with A10/A20 chip like Iteaduino Plus, and the SDK offers the operation interface that compatible with Arduino, and many Arduino library can be used without any change, now we are trying to move the SDK Galileo, but now we meet a problem that the header is not connect to Quark chip directly, so we need to rewrite the IO driver , after that most ITEAD Shield can be use with Galileo.

        • 1. Re: expansion shield for Galileo

          That shield is really cool! How can I get one? Are you considering selling it or making the plans available?


          The USB hub makes a lot of sense. While a lot of people ran into problems with the audio-jack for RS-232, surprisingly it worked quite well for me. I had a PIC dev board that had the same kind of interface so I already had a compatible cable cable along with a USB / serial converter. However, it is a common problem and your solution looks very good. I like the soldered-on button-cell holder. I found it really strange for Galileo to have a RTC but require having something hanging off those pins.


          XBee seems a little unnecessarily as Galileo already has a great option for wireless in the PCIe slot and a laptop card for Wifi and Bluetooth.


          Every shield needs to make trade-offs on what is included, but I recommend adding a CPLD. They are available pretty cheap and can help with interfacing with devices that Galileo cannot normally do with the slow IO. The trick is, most need 3v logic so it is good that Galileo has that as an option. A CPLD would give the option to expand the IO headers, maybe to ArduinoMega size.

          • 2. Re: expansion shield for Galileo

            Great shield FreeZinG!  I'm working on one as well with an FPGA, beginning my Eagle work today :-)


            Galileo Shield Update


            Would love to check your shield out as well!


            • 3. Re: expansion shield for Galileo

              Amazing shield, is there any way to do this for the intel Edison?? I want a way to allow an Edison (the Brain) to control 4 Arduino mega's, each controling one critical system of rocket (pumps,thrusters etc.) with the edison basically doiong th calculations and teling the arduino megas to either start stop or shutdown sequence if there is a problem.

              Any idea's?