Ethernet interface for Particle using W5500 User Library Complete


#1

Hi Everyone.

We are working on developing an Ethernet interface for the Particle platform. We debated many avenues for this project but landed on connecting the Particle processor to a Wiznet W5500 via SPI. Wiznet had libraries for Arduino which I have ported for Particle. The library is fully functional on the user application side and you can take a look at the library here:

The current iteration of this project is an overlay shield which plugs in over the top of a Photon or Electron module.

This overlay shield is 100% functional and we are building our first production run of them for sale online.

The purpose of this post is to reach out to the community hoping for community involvement. As I said earlier this will allow you to make network connections over Ethernet from the User application side in firmware. The real goal is to take this to the next level and route all particle cloud traffic through the Ethernet interface so we have a “pure” ethernet particle device. If you are interested in contributing to this project please let us know. My speculation is that system part binaries will need to be developed to make this work, but honestly I have not dug that deep yet. My goal was to get the library functional to lay a ground work for moving forward.

Anyone interested in committing to this project in a meaningful way will receive a free Ethernet Overlay shield as well as one of our Screw Terminal interface boards(shown in photo above) for development purposes.

I want to say a special thanks to @ScruffR and @bko for their help so far through another post I had on here. Their help got me past the library port.

If you are experienced with backend system development on the Particle Platform and are interested in this project please let me know. I do not want to be rude at all but if you are not confident in your abilities to develop on the system part and hal please do not throw your hat in the ring. Once we have Particle Cloud traffic routed through the Ethernet interface I will make another post for Beta testers and you can jump in then.

Thanks Everyone,
Travis


Porting the ethernet library from Arduino
How can I download firmware for electron? And then in which location should I save it?
Hope.. IOT pathway at the company I work for..?
#2

I sent you at DM, let me know if it didn’t go through.


#3

Interested! :slight_smile:


#4

@MisterNetwork are you interested in doing some development on this project? I am still looking for a developer to route cloud traffic through the Ethernet interface rather than through the Photon’s WiFi interface.


#5

Hi Travis,

Not sure what it entails (coding wise) but if I can help, I’d love to contribute.
I’m currently looking for a solution that is as solid as the Photon and Particle cloud, but with hardwired ethernet capability. I’ve been making remote monitoring and control devices based on the Photon, (and your screw terminal breakout board) but some locations do not have wifi, and I would rather use a hardwired solution, which should be cheaper and more reliable than adding a wifi router.


#6

Totally agree with the need for hardwired Ethernet. I have always held out hope that Particle would just make a Particle Ethernet module but I have never even heard a whisper about this being a possibility. We decided to take matters into our own hands for the hardware and made this overlay which works flawlessly. All that needs to be done is the back end system side programming to route all Particle cloud data through the ethernet interface. If anyone is willing to take on this project we will be happy to supply all hardware for developing purposes. If you are interested let me know and I can get an Ethernet overlay module shipped out to you.


#7

Folks,adding an Ethernet layer will not be trivial. Have you considered using an RPi with the Particle Agent running on it?


#8

I was thinking of that, too. :slight_smile:


#9

Hey @peekay123

Good to hear from you again.

I absolutely agree that it will NOT be trivial to do this. And I realize you know from experience as I have seen you post about the very same subject on other threads.

I am a big advocate of the RPi but I definitely see the need for this type of small Ethernet interface IOT module. You cannot find an embedded Ethernet IOT module that could offer what this product could.

I have use cases with our industrial clients that warrant an Ethernet Particle module which is why we took this on to start with. If you look at these use cases with a RPi in the mix it just sticks out like a sore thumb and you quickly realize there’s just something not right about it. For one there is the continuing supply chain issue with the RPi and for two it’s just simply too big and running a full Linux OS there are too many things to go wrong where a more embedded device like a Particle Ethernet module just makes sense. Hard to put a finger on it but this Ethernet Particle module just makes sense both from a physical and architectural stand point.


#10

@IOTrav, I totally agree that RPi/Linux is not an industrial platform (I wish QNX was available!). I don’t see any way of adding Ethernet than creating a new variant with major changes to the firmware, ideally below the HAL. The challenge will always be to stay in step with system firmware updates on the main branch. I don’t see any way of doing this in a user library.

With Ethernet, you may consider PoE or power permanence so sleep() modes may be irrelevant. The tight integration with WICED is also an issue. In fact, WICED will disappear with only FreeRTOS remaining. If you keep WiFi and WICED, you will then have the challenge of finding room for the extra system firmware space. Yuk!


#11

Hey @peekay123

This first iteration of the project where we are just connecting the W5500 to a photon module using the overlay architecture is really just the first step in this project. Eventually we plan to design a 100% ethernet dedicated particle module using the STM32 processor on the board. Think something like Bluz or Redbear. I know this is a long haul but I know it’s not impossible because other companies(Bluz and Redbear) have done it.

Our limitation is we can make the hardware, we can do that in our sleep, but we do not have dedicated in house C/C++ developers. I’m the closest thing we have and this is outside my capabilities and I have no problem admitting that. We are looking to hire a developer to take this on. We will be more than happy to pay for the development work and we will pay well. Just looking for someone to step up and take it on.

What I have done to this point is prove the W5500’s capabilities by simply opening sockets, obtaining a DHCP address, etc from the application side. This proves the W5500’s capabilities as well as our hardware design to this point. Now it needs to take the next step. If you or anyone you know would be willing to take on this project as a paid job please PLEASE let me know.

Thanks @peekay123


#12

@jonlogan, have you got anybody on your list who might be capable to assist?
Also @will might find the project interesting as a possible compound to extend the Particle IoT radius.


#13

Perhaps @Maddy5075 might be able to assist as it seems he is working on something similar.


#14

Interesting! We have managed to connect to cloud using STM32F207, of course with the help of Dave when we shared our unique device ID.


#15

What communication interface did you use with the STM32F207?


#16

STM32F207’s built in Ethernet MAC. I had to make some modifications to WICED stack.


#17

Great question! We have a list of partners that can help with this. The two that I would recommend for this case are Radio Bridge and Lab651. Send me details in a DM and I can make an intro. cc @IOTrav


#18

I’d like to just convey my sentiment towards this effort. I’d love to see a hard-wired ethernet Photon variant board. The industrial application possibilities really get opened up with this option. If I had any previous experience digging into the HAL or with engineering the necessary programming for Particle cloud traffic over the hard wire, I’d volunteer my time, but I’m afraid I’d probably just do more harm than good. Please update us if any progress is made. :slight_smile:
I’m going to make a provision in my newest Photon project where I leave one of the SPI ports open in case this gets an official release.


#19

Hi @tommy_boy,

Thank you very much for voicing your sentiment towards having an Ethernet solution for Particle. We(NCD and Particle) need to know the possible demand for such a solution. Simply letting us know on the forum tells us there is a demand for such a solution and helps drive the project.


#20

@IOTrav
I am interested in the product. I don’t plan to use the particle cloud with the Ethernet adapter. When will it be available?