Modem Emulation thru ethernet

I'm thinking of trying to get into arduino for the following project, and I want to know if this is feasible with the standard or mega Arduino. I want to build a low cost modem emulator to ethernet. It needs to support rs232 baud rates up the 115k and down to 300 baud. It will be telnet incoming and outgoing supporting a very small subset of the hayes command set.

Pairing the wiznet shield, is this a do able project? Or do I need something with more horsepower?

later, dabone

One thing that might be problematic is that the serial transmit driver is not buffered and interrupt-driven. So you need to make sure that your transmit code doesn't "fixate" the Arduino on sending data and cause the receive buffer to overflow because you're not emptying it often enough.

Because the Wiznet Ethernet module is interfaced via SPI, instead of a typical microprocessor data/address bus, you might run into a bottleneck trying to maintain 115K baud in both directions. Someone may have done some benchmarks on Ethernet throughput, but I haven't seen them.

You'll probably want to require an ATMega328, so you can allocate larger buffers and avoid spending lots of time handling the overhead of tiny packets.

Unless you're planning to build a bunch of these, or have some other motivation for choosing the Arduino, I suggest investigating alternatives like the Netburner: the hardware cost is only slightly higher than an Arduino plus Ethernet Shield, and Netburners are already doing this very job satisfactorily. I've used one of the SB70LC's bigger brothers (the SB72) on a few projects: it's I/O-poor compared to an Arduino, but the Ethernet and TCP/IP support is much better. For a serial-to-Ethernet project like you're proposing, you'll find that you finish sooner, and wind up with a more-robust final product.


The netburners are way too pricey. The one that allows custom firmware starts at $59. If I wanted to start getting into that price range, there are already products near that (After adding a case and a rs232 port)

But thanks for the input. I really do appreciate it.

I guess for the time being, I'll stay down to 38.4 and 8,n,1 only for this development.

And yes the arduino is pricey for a finished product, but I'm just using it for a development platform.

later, dabone

If you can afford to test it, I wouldn't give up on the Ethernet shield solution. There's some decent buffers on the WIZnet chip itself but the Ethernet library doesn't always use them currently.


The netburners are way too pricey.

Netburner SB70LC with 2 serial, Ethernet, and power: $100, assembled and ready to go.

Arduino with 1 serial, power, and Ethernet: $63, plus assembly and test time for the Arduino board. Plus time to write the Ethernet-to-serial app that's included with the Netburner in a form that's at least close to what you want.

I just went through this with my weather station project: going with the Arduino significantly increased the amount of time it took to get everything working. Much of that was due to the fact that the Ethernet shield is still relatively new, and doesn't have as large a base of re-usable code as the Netburner. Part of it was also due to the more limited CPU and memory resources on the Arduino. But the bottom line is that, if I had been charging all my time against the project, instead of writing off most of it as "investment in professional development", the Arduino would have been a bad choice.

Everybody has different priorities, and not all of them are purely economic. So I'm not suggesting that there would be anything wrong with your choosing the Arduino for your project. But I do think that your dismissal of the Netburner as "way too pricey" is overlooking costs that you haven't considered.

I also think that this shows we need an Arduino with an integrated Wiznet chip, which would dramatically lower the cost of projects with an Ethernet interface, but that's another thread ::)


I need a simple device to emulate a low speed modem to dial out to different telnet style bbs's. It will be for 8 bit computers like my c128, so I don't need high speed serial, it was just a want. (Probably most needs will top off at 9600 baud.) For the commdore interface, it used +5 ttl logic for serial so the max232 family isn't needed for it. If I get this working, the chips needed to build this will be very cheap compared to an off the shelf solution, and easy to play with and improve for anybody else. Later, dabone