Monitor A Serial Port From Anywhere

This simple WiFi serial port monitor would have saved us a lot of trouble. We can’t count how many times where being hooked into an Arduino with USB just to get the serial out has nearly been more trouble than it’s worth. Times where we sat cross-legged on the floor and could choose comfort or accidentally shifting the set-up and ruining everything, but not both.

[Frenky]’s set-up is simple and clever. The Ardunio’s serial out is hooked to an ESP8266. The Arduino spams serial out to the ESP8266 in its usual way. The ESP8266 then pipes all that out to a simple JavaScript webpage. Connect to the ESP8266’s IP with any device in your house, and get a live stream of all the serial data. Neat.

As simple as this technique is, we can see ourselves making a neat little box with TX, RX, GND, and VCC screw terminals to free us from the nightmare of tethering on concrete floors just for a simple test. Video after the break.

33 thoughts on “Monitor A Serial Port From Anywhere

  1. When I see this running on the ESP on its own then I can think of several use cases for it, but stuffing an arduno inside things as well is probably a little too pricey to just stick inside something on a console header and leave there.

      1. Running it on the ESP would make it great. As it stands, the arduino is just too big IMO to work as a leave-it-there kinda deal.

        Come to think of it, if you could put this all on a single board you’d have a viable product for tindie or something.

    1. Rule number 1 of reading Hackaday: most of the times, you can substitute “Arduino” with “your microcontroller of choice” if you’re willing to go through the effort to adapt. This specific article is about serial data, not about Arduino: the ESP8266 can pipe the serial out of anything, and the Arduino is just an example of a thing which spits serial data. It can be easily swapped by something much more expensive than an Arduino, or it can be something much cheaper. It’s up to you. :)

      (but I totally agree that it makes much more sense to use the ESP8266 itself for the task, as long as the I/O is enough. In fact you can actually do that, but programming for the ESP8266 is harder than programming for Arduino, so it appeals to different crowds)

    2. Yes! and as a true versatile tool give the thing a LiPo on its own. A friend uses the ESP as core module for a POV toy, probably with arduino libraries. So just for piping out (“dumping”) serial communication The ESP simply has to be enough on its own.

    3. I’m the guy behind this project…

      I started this project almost a year ago. At that time arduino core for esp was in pre alpha stage so it was logical to use nodemcu.
      If I started now I wouldn’t have used arduino…
      I would just flash arduino core on esp8266 and be done with it. It would be a lot simpler to make.

  2. Nice gadget!

    “Times where we sat cross-legged on the floor and could choose comfort or accidentally shifting the set-up and ruining everything, but not both.”
    Why would you want both? Shifting the set-up and ruining everything while sitting comfortably in your reclining chair?
    ¯\_(ツ)_/¯

    1. thats right, there seems to be a “not” missing. :-) But I don’t completely get the point: Why shouldn’t you at first build up your setup safely on top of a table instead on the concrete floor?

      1. He probably meant that the device in question was already installed in a hard-to-reach position, and you are forced to place your equipment (and yourself) in an awkward position so that you can hook everything up. Cables not being long enough, etc.
        Source: Experience.

        1. Yes. I worked in chemical plants for a bit. Getting serial data while sitting on a grate two hundred feet in the air while wedged under some pipes because that’s the only room they had for your equipment on the platform makes you wish for a better world.

  3. Hm.. I just remembered, that I still have a Lantronix Xport lying around somewhere.. Serial to LAN, not cheap at all… used it to debug some output… how times have changed…

    But back to topic: isn’t it possible to omit the Arduino and use the ESP directly. Not everything needs an Arduino…

    1. Serial to LAN devices are still expensive, if you want industrial quality equipment. That means resistant to dust, moisture, power spikes, … I doubt that converter from this article has any of those features. But it’s cheap and very useful for some non-critical applications.

    1. Probably because this solution does not contain the essential arduino. :-)
      /sarcasm

      Of course this is the way I would like to go. The ESP has its own CPU, so there is no point in using another one.

  4. @ALL:

    I started this project almost a year ago. At that time arduino core for esp was in pre alpha stage so it was logical to use nodemcu. If you use nodemcu the serial port is already reserved for issuing commands to esp so I could not use it for sniffing traffic.

    If I started now I wouldn’t use arduino…

    I would just flash arduino core on esp8266 and be done with it. It would be a lot easier to make.

  5. Isn’t that a bit recursively overkill? The ESP itself or any compatible little board could accomplish the task alone; all it needs is a handful lines of code to get serial data here and send it over a wireless connection there.

    1. I’ll save Frenky the bother of posting :)

      Read a couple comments up:

      Frenky:
      @ALL:

      I started this project almost a year ago. At that time arduino core for esp was in pre alpha stage so it was logical to use nodemcu. If you use nodemcu the serial port is already reserved for issuing commands to esp so I could not use it for sniffing traffic.

      If I started now I wouldn’t use arduino…

      I would just flash arduino core on esp8266 and be done with it. It would be a lot easier to make.

Leave a Reply to MartinCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.