Multiple SPI/Serial + Ethernet MCU Solution

Discussion in 'Embedded Systems and Microcontrollers' started by Hengy, Dec 28, 2013.

  1. Hengy

    Thread Starter New Member

    Aug 18, 2010
    2
    0
    Hi all,

    I am currently researching solutions to a project I want to start. It will use:

    TLC5940 LED controller (SPI)
    HC-05 Bluetooth Transceiver (Serial)
    Ethernet oe Wifi
    3-5 other A/D I/O pins

    I originally thought I would use an Arduino with Ethernet. However, upon further research, there are problems with the Arduino Ethernet shield and other SPI devices, not to mention pin conflicts with the Ethernet and TLC5940 libraries.

    I am mainly looking for a single board solution with a MCU and Ethernet/Wifi, and enough I/O pins for my requirements. (something like https://www.sparkfun.com/products/7830 , but it doesn't have the required # of SPI and Serial ports on external pins)

    Raspberry Pi is another option, save for the TLC5940 part - there is no concrete library for it, and one of them has issues when the RPi does a context switch to a new process.

    The PIC18F has models which include the TCP/IP stack, which the link before uses. I have a PICKIT3, so this is probably my forerunner choice. There is a lot of code out there for the TLC5940, and PIC18s include all the ports I need. However, I have not been able to find a board that meets my requirements, or any guides on how to wire my own.

    There are so many other options out there that I thought I'd ask around before sorting through them all is I must.

    Does anyone know of a board that has:
    1) at least 1 SPI
    2) at least 1 Serial
    3) Ethernet or Wifi (or easily added)
    4) at least 3 A/D pins
    all externally accessible?

    OR

    a guide to wiring my own?

    Thanks for any and all suggestions and ideas!

    Thanks, Hengy
     
  2. sirch2

    Well-Known Member

    Jan 21, 2013
    1,008
    351
    Make your own Arduino, then you can avoid pin conflicts, see http://arduino.cc/en/Main/Standalone. If you get a programmer such as the USBtinyISP, or just use another Arduino board as a programmer, you can avoid the boot loader but still use all the libraries.

    Most libraries I've come across allow you to specify pins except where these are specialized such as MOSI/MISO, but these can be shared by many devices anyway. SS/CS is usually configurable.
     
  3. Hengy

    Thread Starter New Member

    Aug 18, 2010
    2
    0
    I forgot to mention that the pin conflicts between the TLC5940 and the Ethernet chip include timer issues - there are not enough timers for everything on the Arduino ATmega328u.

    Also, before it is suggested, an Arduino mega has too big of a footprint for my application, and if I were to use the Ethernet shield, it would suffer from the same SPI CS problem (google it, it is well documented). Making my own Ethernet shield is something I do not want to do. When I mentioned wiring it myself, I was thinking wiring something like this http://www.digikey.ca/product-detail/en/ENC28J60-H/1188-1044-ND/3471433 to a PIC18.

    Thanks for your contribution though!

    Hengy
     
Loading...