Reccomendations for inexpensive wired TCP/IP add on boards.

I've read all about the many things folks have done with the ESP8266. I especially like that it seems very easy to interface with, with its AT command set, and its amazingly cheap. (like under $2 USD in some markets). But I need a wired network solution. Can anyone recommend a similar board, equally inexpensive and easy to write interface code for, but with a direct wired (RJ45) network connector?

The background is I have a friend who's been nagging me for a solution to easily control some midi music equipment, which apparently use a new (or new to me anyway) "Midi over TCP" standard. I can look into the so called "standard", but if its TCP/IP (or UDP) based, or even just uses ICMP messages, maybe I'll get lucky and a board with a simple TCP/IP stack will open the door to solving his problem, without it breaking the bank.

There is an RTP (AKA Apple) MIDI library that works over Ethernet and WiFi.

gdsports:
There is an RTP (AKA Apple) MIDI library that works over Ethernet and WiFi.

GitHub - lathoub/Arduino-AppleMIDI-Library: Send and receive MIDI messages over Ethernet (rtpMIDI or AppleMIDI)

Thank. I'm mainly looking for an add on board right now. This library, as stated, is "AppleMIDI on Mac OS and using rtpMIDI from Tobias Erichsen on Windows". I don't think I'll be loading any of those OS variations on a NANO.:wink: . All I need to accomplish is to build a small pedal that will connect with whatever MIDI equipment he has that acts like a TCP/IP server, and figure out what I need to do to send an "all notes off" command to his device. Shouldn't be too hard, but to make it useful I have to make it fit into the equivalent of a small effects pedal, and not cost him a kings ransom. So that starts with finding the available hardware.

Equally inexpensive? No. In the $20-40 range there are a number of serial to enter modules from ti, wiznet, lantronics, and others. One of the ti connected launch pads with Ethernet may serve to replace the whole system...

I have the feeling you need to do some more research on what you really need.

Is that protocol even readable on Arduinos? Are there any libraries for it?

The whole thing sounds a bit odd - music is highly time sensitive, TCP/IP is not inherently time reliable. On a LAN with little or no other traffic it should be quite OK though.

westfw:
Equally inexpensive? No. In the $20-40 range there are a number of serial to enter modules from ti, wiznet, lantronics, and others. One of the ti connected launch pads with Ethernet may serve to replace the whole system...

westfw:
Equally inexpensive? No. In the $20-40 range there are a number of serial to enter modules from ti, wiznet, lantronics, and others. One of the ti connected launch pads with Ethernet may serve to replace the whole system...

I hate to post items from ebay, as they'll go away soon. But this "W5100 LAN Ethernet Shield" looks promising, IF decent documentation exists somewhere.

https://www.ebay.com/itm/New-Mini-W5100-LAN-Ethernet-Shield-Network-Module-board-for-Arduino-best-price-/221500717115?_trksid=p2385738.m4383.l4275.c10

The Wiznet chips and Arduino Ethernet boards (and clones) are a step "below" the functionality that an ESP8266 module provides. While the ESP lets you send text over a serial line; essentially emulating a "smart modem" - the ESP implements wireless, IP, DHCP, TCP, and some of what would normally be considered "application level" algorithms. The Wiznet chips have a much more "programatic" interface. They implement Ethernet, IP, and TCP, but everything else has to be implemented in the arduino sketch space. In THEORY, you can hide this with appropriate arduino libraries, but there may be an impact on code size and "ease of use." (Hmm. If what you want to do be a "web client" of some kind, I'm not really sure which one works out better...)

There's another set of ethernet controllers, based on the Microchip ENC28J60, that are even more complex to deal with. They implement only ethernet, so the Arduino code has to do all the IP and TCP processing. There ARE libraries to do that, but they pretty much fill up the code space of a m328, leaving not-much room for the actual user code.

westfw:
The Wiznet chips and Arduino Ethernet boards (and clones) are a step "below" the functionality that an ESP8266 module provides. While the ESP lets you send text over a serial line; essentially emulating a "smart modem" - the ESP implements wireless, IP, DHCP, TCP, and some of what would normally be considered "application level" algorithms. The Wiznet chips have a much more "programatic" interface.

Yeah, I have my eye on the ESP8266 also, especially for some IOT projects I have in mind. But sadly for this other project I have in mind, where a direct (wired) Ethernet access point is needed, it doesn't seem to be a workable solution. Unless someone has hacked the board a bit, there is no documented "breakout point" before the wi-fi interface where one could easily implement a "wired" (standard RJ-45) interface. At the very least, even if the differential data lines were exposed, you'd have to add a PHY chip and have all the board interface issues to deal with if you expected 100mBit reliability.

So, I'm hoping some solution like this W5100 board is workable. Provided I can configure it to be either a TCP server or client, or hopefully a connectionless UDP port too, it should satisfy 90% of the simple tasks I'd want to do with it.

How much it is up to the task of satisfying this "MIDI over TCP" specification is likely going to be hit or miss. But at least for the requirements a friend asked of me, which is simply to send an"all notes off" command to one of his sequencer devices, I think I stand a fair chance of pulling that off.

So is that the W5100 I mentioned what you mean by a "wiznet" board? Supposedly (if the ebay ad is to be believed) it implements a TCP/IP protocol stack, supports TCP, UDP, ICMP and IGMP, IPv4, ARP, PPPoE. Granted it has limitations (4 ports apparently), but the question is (and this is often the case), is there any plain English documentation to show exactly how its I/O pins are electrically connected to an Arduino board, what power supply requirements it requires, and how exactly it is programmed and used.

Well this sure looks convenient and interesting!

https://www.aliexpress.com/item/NANO-W5100-Ethernet-Shield-Network-Expansion-Board-for-Arduino-Nano-V3-0-TOP/32647510318.html

So is that the W5100 I mentioned what you mean by a "wiznet" board?

No, that's more of an Arduino board, and one of the older and less capable chips. I was talking about the more advanced "modules" that wiznet sells that include both the ethernet chip and some sort of processor, to handle the additional layers and "serial" comm that the ESP modules do. Perhaps http://www.wiznet.io/product-item/wiz107sr/ or http://www.shopwiznet.com/module/serial-to-ethernet-module

Supposedly it implements a TCP/IP protocol stack, supports TCP, UDP, ICMP and IGMP, IPv4, ARP, PPPoE. Granted it has limitations (4 ports apparently), but the question is (and this is often the case), is there any plain English documentation to show exactly how its I/O pins are electrically connected to an Arduino board, what power supply requirements it requires, and how exactly it is programmed and used.

Well, most of the Arduino Ethernet boards have used the W5100 chip, and they're all open source - you can look at the schematics, pcb, code, and so on. The W5100 is a pretty old chip, and newer wiznet chips are smaller, cheaper, faster, and support more connections. (The Arduino Ethernet Shield V2 uses a W5500.)

If you're contemplating just connecting a board/shield to an arduino-like device, they use the SPI interface, and need a fair bit of current. That Nano-shield looks pretty nice. There are a bunch of W5500 modules on aliexpress as well, cheaper than I would have thought. They're not "shields" in the sense that they'll plug right into a Nano or Uno, but they don't look awful, either. (alas, aliexpress stuff tends to be very short on documentation. Lovely when everything is clear and works perfectly, not so great if you need to poke around and figure out what's wrong with something :frowning: )