# Using a Xenon with an Ethernet Feather

**URL:** <https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949>\
**Category:** Hardware\
**Created:** [February 22, 2019, 5:06am UTC](https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949 "2019-02-22T05:06:02Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jimmie](https://avatars.discourse-cdn.com/v4/letter/j/e95f7d/32.png) [@Jimmie](https://community.particle.io/u/Jimmie)\
**Post date:** [February 22, 2019, 5:06am UTC](https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949/1 "2019-02-22T05:06:02Z")

</div>

I have an application which needs a second UART and a wired Ethernet interface.

The problem with the Ethernet Featherwing as @rickkas7 has pointed out in his response to my previous post, is that the pins used cannot be reconfigured and they use the same pins (D4 and D5) which are the pins for the Xenon's second serial port.

As a solution, @rickkas7 proposed an excellent solution by using the library he created for the SC16I750

> [@Ethernet FeatherWing with Xenon - Serial 2](https://community.particle.io/t/ethernet-featherwing-with-xenon-serial-2/47678/6):
>
> This board is a wonderful addition, thank you. But, I can barely solder regular stuff sweat_smile Is this board available for purchase already populated? Would this work?

My question is can an Ethernet solution be added to a Xenon (or an Argon/Boron) using the Adafruit Feather which uses the default SPI pins and a configurable CS?

> **[Adafruit Ethernet FeatherWing](https://www.adafruit.com/product/3201)**
>
> Wireless is wonderful, but sometimes you want the strong reliability of a wire. If your Feather board is going to be part of a permanent installation, this Ethernet FeatherWing will let you ...

If this approach can be used, which library should one use?

Thank in advance for the community's input.

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [February 22, 2019, 7:03am UTC](https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949/2 "2019-02-22T07:03:26Z")

</div>

That's not a question _"which library"_ or _what hardware_ but the limiting factor is the device OS. You would need to rewrite some portions of that (which you can via locally building the device OS).  
IIRC @rickkas7 said that it's currently _not_ possible to re-assign the Ethernet detection pins but may be a future enhancement.

Update:  
He even said so in the very conversation you linked above

> [@Ethernet FeatherWing with Xenon - Serial 2](https://community.particle.io/t/ethernet-featherwing-with-xenon-serial-2/47678/2):
>
> While you can physically move the pin by cutting the jumper pads and adding jumper wires, there is no way to change which pins Device OS uses as the interrupt pin. So it won’t work. At some time in the future the Ethernet pins might be reconfigurable in Device OS, but they are not reconfigurable at this time.

So _ **don't** _ ask the same question over and over just because you didn't get the answer you wanted.

---

<div class="post-metadata">

**Author:** ![Jimmie](https://avatars.discourse-cdn.com/v4/letter/j/e95f7d/32.png) [@Jimmie](https://community.particle.io/u/Jimmie)\
**Post date:** [February 23, 2019, 2:56pm UTC](https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949/3 "2019-02-23T14:56:33Z")

</div>

@ScruffR

I think you misunderstood my question!

There are TWO distinct pieces of hardware. One uses default SPI pins while the Particle feather uses SPI1 which on the Xenon would disable the second serial.

On the post you can also see @tommy_boy reply which is the answer I was looking for, namely the potential of using a wired Ethernet connection on mesh devices while retaining the ability to connect to Serial 2.

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [February 23, 2019, 3:01pm UTC](https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949/4 "2019-02-23T15:01:09Z")

</div>

Yes, but _tommy\_boy_ did still _not_ free the default pins for other use. ASAICT he only wanted to use the Adafruit Ethernet FeatherWing with a Gen3 device by just rerouting the default pins used on the controller board to connect to the alternative pins on the FeatherWing.  
He didn’t actually free D4/D5 (as far as I understood his posts).

So I think it wasn’t me who misunderstood.

---

<div class="post-metadata">

**Author:** ![rickkas7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rickkas7/32/8681_2.png) [@rickkas7](https://community.particle.io/u/rickkas7)\
**Post date:** [February 23, 2019, 3:02pm UTC](https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949/5 "2019-02-23T15:02:32Z")

</div>

The Particle Ethernet FeatherWing uses the standard SPI pins. However, it also uses three additional pins:

| Mesh Pin | Ethernet FeatherWing Pin |
| --- | --- |
| MISO | SPI MISO |
| MOSI | SPI MOSI |
| SCK | SPI SCK |
| D3 | nRESET[1] |
| D4 | nINTERRUPT[1] |
| D5 | nCHIP SELECT[1] |

On the Xenon, Serial2 uses the pins below, which conflict with nInterrupt (D4) and nChipSelect (D5).

| Pin | Use |
| --- | --- |
| D4 | TX for Serial2. Can be used as GPIO if not using Serial2. |
| D5 | RX for Serial2. Can be used as GPIO if not using Serial2. |

The Adafruit Ethernet FeatherWing does not assign these pins by default. You need to manually hook up jumper wires to the reset, interrupt, and chip select pins, otherwise it won’t work.

However: **You cannot just choose different pins. Device OS is hardcoded to use D3, D4, and D5.** This may change in the future to allow them to be configured to other pins, but that is not possible at this time.

---

<div class="post-metadata">

**Author:** ![Jimmie](https://avatars.discourse-cdn.com/v4/letter/j/e95f7d/32.png) [@Jimmie](https://community.particle.io/u/Jimmie)\
**Post date:** [February 23, 2019, 3:07pm UTC](https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949/6 "2019-02-23T15:07:51Z")

</div>

Yes, fair enough, there could still be a problem with CS.

But wasn’t there a possibility that there is an Ethernet library that uses a different CS pin? So the question is not the same.

Also, I will check again whether the CS pin that is hard coded is the TX or RX on the Xenon. If it is the TX, it is not needed for my sensor …

IMHO, the decision to use D4/D5 is a poor one but luckily there is the library that @rickkas7 made. Perhaps the only drawback is adding another piece of hardware …

---

<div class="post-metadata">

**Author:** ![Jimmie](https://avatars.discourse-cdn.com/v4/letter/j/e95f7d/32.png) [@Jimmie](https://community.particle.io/u/Jimmie)\
**Post date:** [February 23, 2019, 3:09pm UTC](https://community.particle.io/t/using-a-xenon-with-an-ethernet-feather/47949/7 "2019-02-23T15:09:31Z")

</div>

Thank you for the explanation.

I read your post after I wrote mine.
