Dual RJ45 Ethernet Module with switch and POE


I’ve looked at the CAN bus for my project and found it to be very rudimentary.
My project has the constraint that all units have to be connected by a bus or daisy chain. It is not possible to connect all units to the master unit by individual weiring.

A great thing would be an ethernet module like the ENC28 which comes with two RJ45 plugs. It would need an ethernet switch that routes the data and provides ethernet access for the module itself. That would allow to daisy chain my units.

Additionally it would be great if the very same module could supply power for my gadeteer unit via POE (power over ethernet)

What do you think? Is this worthwhile thinking about?

Components could be:

ADM6996M 6 port 10/100 Mb/s Single Chip Ethernet Switch Controller
Si3452/53 PSE Quad port PoE/PoE+ PSE Controller



thank you for the reply. I could add a standard 4 port switch to every unit, but that would make the whole unit much bigger. A module as I’ve described would provide a very elegant way to achieve my goals. I think it would be beneficiary to a lot of developers, since it would combine the advantages of a serial bus (like CAN) with the ease of use and bandwidth of ethernet.
And the POE feature would just make it perfect in my scenario :slight_smile:

I would only have one standard switch, which provides the POE, at the beginning of the daisy chain. And all units along the chain would be self sufficient in communication and powersupply. This “dual ethernet module” would route all traffic from one port to the other and the module itself would (with its controler) act as the “third” port of this switch.


@ SolarX -

Exactly what did you find lacking in CAN? Understanding what you found deficient would help us suggest alternatives.

Other information that would help:

  • distance between devices?
  • environment (noisy?)?
  • amount of data being transferred?
  • speed requirements?
  • commercial/school/hobby?
  • one unit/ 1000 units?

When wiring is an issue, consider wireless.

How about something like http://en.wikipedia.org/wiki/Token_ring? Could be done with serial port RS-485 (https://www.ghielectronics.com/catalog/product/479)

Hi Mike,

as I understand it, programming CAN in c# is very low level. Maybe I’m missing a higher level library.
With TCP/IP I could work with REST services in a comfortable way.

The distance between each node is about 5 meters and up to 30 nodes should be chained.
Each node should, alongside other sensor data, transmit a video stream from it’s camera to the main unit. It would be sufficient if one unit at a time transmits this stream. So bandwidth could be an issue with CAN.

I prefer wiring over WiFi for reasons of reliability and personal taste :wink:

As of now my project is a feasibility study with a prototype. Commercial use is a future goal.

Please excuse me, if I’m getting it all wrong. I’m a professional senior developer working with .net on an enterprise level for years, but this is my first week with the MF.

Thank you for your assistance!


The GHI CAN module provides a mechanism for receiving message and sending commands. It would be a good deal of effort, if possible, to be able to generate messages in response to commands.

You have to be cautious about transmitting video streams with MF. Generally, you are not going to get a high frame rate.

Have you looked at RS-485? http://en.wikipedia.org/wiki/RS-485 and https://www.ghielectronics.com/catalog/product/479

@ andre.m:

To me, working with buffers and dealing with timings etc. is low level. I know that there are even lower levels :wink:
This for example seems comfortable to work with:

http:// mikedodaro.net/2011/10/18/net-gadgeteer-web-services-picture-audio-application/

(remove the space)

@ Mike:

I wasn’t expecting 25fps :slight_smile:

Thanks to the both of you!

@ SolarX - If your still thinking about two RJ45 connectors, then I would think about a hub in stead of a switch. The hub is passive with less parts. Just depends on your needs.

There are guidelines on how many Ethernet hubs/switches can be chained. I don’t have an exact number, but three sounds about right.

Might not apply to your application, or you might get an unhappy surprise.


@ Cowboy: A switch is preferable for the same reason you’ll find in my answer to Mike.

@ Mike: The old 5-4-3 rule only applies to ethernet hubs: http:// en.wikipedia.org/wiki/5-4-3_rule (remove the blank)

Nevertheless I will try to meet my requirements with CAN first.

Thank you all for your input!