Multiple SPI/Serial + Ethernet MCU Solution

Thread Starter


Joined Aug 18, 2010
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 , 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?


a guide to wiring my own?

Thanks for any and all suggestions and ideas!

Thanks, Hengy


Joined Jan 21, 2013
Make your own Arduino, then you can avoid pin conflicts, see 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.

Thread Starter


Joined Aug 18, 2010
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 to a PIC18.

Thanks for your contribution though!