Ethernet For Hackers: Transformers, MACs And PHYs

We’ve talked about Ethernet basics, and we’ve talked about equipment you will find with Ethernet. However, that’s obviously not all – you also need to know how to add Ethernet to your board and to your microcontroller. Such low-level details are harder to learn casually than the things we talked about previously, but today, we’re going to pick up the slack.

You might also have some very fair questions. What are the black blocks near Ethernet sockets that you generally will see on boards, and why do they look like nothing else you see on circuit boards ever? Why do some boards, like the Raspberry Pi, lack them altogether? What kind of chip do you need if you want to add Ethernet support to a microcontroller, and what might you need if your microcontroller claims to support Ethernet? Let’s talk.

Transformers Make The Data World Turn

One of the Ethernet’s many features is that it’s resilient, and easy to throw around. It’s also galvanically isolated, which means  you don’t need a ground connection for a link either – not until you want a shield due to imposed interference, at which point, it might be that you’re pulling cable inside industrial machinery. There are a few tricks to Ethernet, and one such fundamental Ethernet trick is transformers, known as “magnetics” in Ethernet context.

Each pair has to be put through a transformer for the Ethernet port to work properly, as a rule. That’s the black epoxy-covered block you will inevitably see near an Ethernet port in your device. There are two places on the board as far as Ethernet goes – before the transformer, and after the transformer, and they’re treated differently. After the transformer, Ethernet is significantly more resilient to things like ground potential differences, which is how you can wire up two random computers with Ethernet and not even think about things like common mode bias or ground loops, things we must account for in audio, or digital interfaces that haven’t yet gone optical somehow.

Continue reading “Ethernet For Hackers: Transformers, MACs And PHYs”

Ethernet For Hackers: Equipment Exploration

Last time, we talked about the surface-level details of Ethernet. They are fundamental to know for Ethernet hacking, but they’re also easy to pick up from bits and pieces online, or just from wiring up a few computers in your home network. Now, there’s also a bunch of equipment and standards that you will want to use with Ethernet – easy to find whether used or new, and typically as easy to work with. Let’s give you a few beacons!

Routers And Switches

Whenever you see a box with a few Ethernet ports, it’s either referred to as a router, or a switch, sometimes people will even use the word “hub”! Fortunately, it’s simpler than it may seem. A router is a smart device, typically with an OS, that ties two or more networks together – routing packers from one network to another, and typically taking care of things like handing out local IP addresses via DHCP. A switch merely helps Ethernet devices exchange packets between each other on the same level – it’s typically nowhere near as smart as a router gets. Oftentimes, a home router will contain a switch inside, so that you can plug in multiple of your home devices at once. That’s the main difference – a switch merely transmits packets between Ethernet-connected devices, while a router is a small computer taking care of packet forwarding between networks and possibly including an Ethernet switch on the side.
Continue reading “Ethernet For Hackers: Equipment Exploration”

Adding Power Over Ethernet Support To A Mac Mini

Wiring up a Mac Mini's new PoE module. (Credit: Ivan Kuleshov)
Wiring up a Mac Mini’s new PoE module. (Credit: Ivan Kuleshov)

Despite all the fancy features on modern Apple Mac systems like USB-C and Thunderbolt, they have one glaring omission: the absolute lack of any form of Power-over-Ethernet (PoE). This is an issue that [Ivan Kuleshov] sought to rectify with some delicate board-level surgery. Since the original Ethernet jack on the lucky vic^Wrecipient M1 Mac Mini does not have integrated magnetics (magjack), tapping into the appropriate lines would have been rather awkward, with questionable results on the side of the PCB traces that would suddenly be used for PoE purposes they were never designed for.

Rather than choosing this level of experimentation, [Ivan] decided to patch in the Silvertel AG5412 PoE module with plentiful patch wires. This involved removing the Ethernet jack and bypassing the PCB and the magnetics module completely for the new PoE functionality, instead using the magnetics pilfered from a magjack and routing from there back to the mainboard as well as to the PoE module’s inputs. Continue reading “Adding Power Over Ethernet Support To A Mac Mini”

Power Over Ethernet, Explained

Most readers will be familiar with Ethernet networks in some form, in particular the Cat5 cables which may snake around the back of our benches. In a similar vein, we’ll have used power over Ethernet, or PoE, to power devices such as webcams. Buy a PoE router or switch, plug in a cable, and away you go! But what lies behind PoE, and how does it work? [Alan] has written a comprehensive guide, based on experience working with the technology.

What we get first is a run-down of the various topographies involved. Then [Alan] dives into the way a PoE port polls for a PoE device to be connected, identifies it, and ramps up the voltage. Explaining the various different circuits is particularly valuable. The final part of the show deals with the design of a PoE module, with a small switching power supply to give the required 48 volts.

All in all, this should be required reading for anyone who works with Ethernet, because it’s one of those things too often presented as something of a black box. If you’re thirsty for more, it’s a subject Hackaday have touched on too in the past.

A PoE adapter's RJ45 jack added inside an Acer laptop

Laptop Empty Space Filled With RS485 And PoE

Out of all the laptop upgrade options typically available, you wouldn’t expect this specific one. [controlmypad] decided to take a part of his RS485 device programming workflow and put it inside of a spare laptop he picked up for cheap. Typically, he’d occupy some desk space and lay out an unwieldy combination of a USB-RS485 dongle, a PoE power injector, a PSU for that injector, and a few cables to join it all – being extra weight in the tool bag, cluttering the workspace when laid out, and the RS485 adapter slowly wearing out the USB ports during the work-related motions. No reason that all of this couldn’t be packed inside a laptop, however.

What helps a lot is that, in many modern cheap laptops, the motherboard is fairly small, and the DVD drive plastic placeholder can be omitted without second thought. Cutting off the plastic molding from both of the adapters turns them into a nicely reusable circuit board and a small PoE module, respectively. After laborious yet careful cutting of the laptop case with a hobby knife, the PoE injector fits right in and, essentially, adds an extra RJ45 port to the laptop. From where the Hackaday.io write-up left off, it doesn’t seem like this mod got fully completed, but most of the important details are there for us to learn from. What got left out is connecting it to an internal USB port (should help that the motherboard’s schematics are available online), as well as creating 12V-24V from the laptop’s power rails. At this point, however, this mod is a big step forward usability-wise, even if it still requires an external PSU.

Laptop internal upgrade projects are rare but cherished – it’s a combination of “daring”, “inquisitive” and “meticulous” that results in people successfully hacking on a thing they certainly were not meant to hack, and have that thing serve their needs better. Apart from all the EEE PC upgrade options that set the bar for a generation of laptop modders, there’s a myriad of unconventional laptop modification vectors – you could do a thorough from-scratch Type-C charging port conversion, replace your webcam with an FSF-endorsed open firmware WiFi dongle, build in a “12-axis” sensor for auto-orientation and data-logging, or invent a remote self-destruct mechanism for your laptop. Those are, indeed, quite a few things you won’t typically find in the list of available options while customizing your laptop at the manufacturer website.

Developing A Power Over Ethernet Stack Light

A common sight on factory floors, stack lights are used to indicate the status of machinery to anyone within visual range. But hackers have found out you can pick them up fairly cheap online, so we’ve started to see them used as indicators in slightly more mundane situations than they were originally intended for. [Tyler Ward] recently decided he wanted his build own network controlled stack light, and thought it would double as a great opportunity to dive into the world of Power Over Ethernet (PoE).

Now the easy way to do this would be to take the Raspberry Pi, attach the official PoE Hat to it, and toss it into a nice enclosure. Write some code that toggles the GPIO pins attached to the LEDs in the stack light, and call it a day. Would be done in an afternoon and you could be showing it off on Reddit by dinner time. But that’s not exactly what [Tyler] had in mind.

An early Arduino-based prototype.

He decided to take the scenic route and designed his own custom PCB that combines an Ethernet interface, PoE hardware, and the ESP32 into one compact unit. It’s no great secret that it only takes a few extra components to plug the ESP32 into the network rather than relying on WiFi, but it’s still not something we see done very often by hobbyists. Rarer still is seeing somebody roll their own PoE solution, but thanks to the in-depth documentation [Tyler] has provided for his circuit, that may change in the future.

On the software side [Tyler] has developed a firmware for the ESP32 that supports both Art-Net and RDM protocols, which are subsets of the larger DMX protocol. That means the controller should be compatible with existing software designed for controlling theatrical lighting systems. If you’d rather take a more direct approach, the firmware also sports a web interface and simple HTTP API to provide some additional flexibility.

While it’s exceptionally impressive, not everyone will need such a robust solution. If you just want a quick and easy way to fire up your stack light, a USB controlled relay and some Python can get you where you need to go.

Starlink: A Review And Some Hacks

I could probably be described as a SpaceX enthusiast. I catch their launches when I can, and I’ve watched the development of Starship with great interest. But the side-effect of SpaceX’s reusable launch system is that getting to space has become a lot cheaper. Having excess launch capacity means that space projects that were previously infeasible become suddenly at least plausible. One of those is Starlink.

Starlink is SpaceX’s satellite Internet service. Wireless and cellular internet have helped in some places, but if you really live out in the sticks, satellite internet is your only option. And while satellite Internet isn’t exactly new, Starlink is a bit different. Hughesnet, another provider, has a handful of satellites in geostationary orbit, which is about 22,000 miles above the earth. To quote Grace Hopper, holding a nearly foot-long length of wire representing a nanosecond, “Between here and the satellite, there are a very large number nanoseconds.”

SpaceX opted to do something a bit different. In what seemed like an insane pipe dream at the time, they planned to launch a satellite constellation of 12,000 birds, some of them flying as low as 214 mile altitude. The downside of flying so low is that they won’t stay in orbit as long, but SpaceX is launching them significantly faster than they’re coming down. So far, nearly 1,600 Starlink satellites are in orbit, in a criss-crossing pattern at 342 miles (550 km) up.

This hundred-fold difference in altitude matters. A Hughesnet connection has a minimum theoretical latency of 480 ms, and in reality runs closer to 600 ms. Starlink predicts a theoretical minimum of under 10 ms, though real-world performance isn’t quite that low yet. In the few weeks I’ve had the service, ping times have fallen from mid-60s down to 20s and 30s. The way Starlink works right now, data goes up to the closest satellite and directly back to the connected ground station. The long-term plan is to allow the satellites to talk directly to each other over laser links, skipping over the ground stations. Since the speed of light is higher in a vacuum than in a fiber-optic cable, the fully deployed system could potentially have lower latency than even fiber Internet, depending on the location of the endpoint and how many hops need to be made.

I got a Starlink setup, and have been trying out the beta service. Here’s my experience, and a bonus hack to boot.

Continue reading “Starlink: A Review And Some Hacks”