Hacker News new | ask | show | jobs
by squarefoot 1404 days ago
A word of caution: this has been done with other uControllers in the past; nothing wrong with it from a functional point of view, but be aware that the lack of transformers means the boards i/o pins aren't insulated from whatever it's connected to them; any wrong connection by mistake or static charges in case of a long cable could damage the chip forever. The best and safest use i can imagine of a transformerless arrangement would be a cluster of Pi Picos all mounted on a backplane containing a Ethernet switch chip; in that situation they would share the same power supply and ground so a simple level translation where necessary would be enough, and probably a total of two wires could be used for transmission and receive since balanced signals wouldn't be needed anymore.
2 comments

You could use opto-couplers too for isolation.
Or capacitors, as well.

Keep in mind though, that even 10BASE-T works with high enough of a frequency, that you need to think about impedance matching and line termination. And 3 galvanic isolation options (transformer, optocoupler, capacitor) all have very different impedance characteristics. For optocoupler that impedance is moreover voltage-dependent - i.e. that part is non-linear. Yikes. Say hello to harmonics.

Peer comment explained why this is almost certainly a bad choice - not to mention you'd need some pretty specialized optocouplers to even operate at that high a frequency - so I suggest getting a receptacle with integrated magnetics. Ideally on a nice little breakout board like this SparkFun MagJack breakout board. [1]

Plus this way you can hook up a couple extra GPIOs and make the lights blink when the magic is happening.

[1] https://www.sparkfun.com/products/13021

Optocouplers tend to be quite slow. Transformers are the best option.
Yeah. Modern (but not bleeding edge) optocouplers can do 100ns pulses which would give you 10mbps - but I’m not sure how that plays with the failure mode for the transmissions. Ethernet doesn’t care how many packets your sending per second, it’ll try to do the full speed from the get-go, so the question is whether the errors would be exacerbated or alleviated by retransmission from higher up in the stack.
A simple DIY transform is shown later in the article, though the first pic in the article shows it without the transformer.