5

I usually use Platformio as IDE for my Arduino projects. I like it as an editor, but I don't like its serial monitor feature. So I often open the Arduino IDE in background to use its serial monitor, but this has some drawbacks (including a significant increase in my computer's CPU usage and battery consumption).

Is there an Arduino-compatible serial monitor application that just works as a serial monitor (and not also as an IDE)? I'm most interested in a MacOS application, but if you know a Windows one please tell me as well.

noearchimede
  • 486
  • 2
  • 7
  • 19
  • 3
    putty ... http://www.putty.org/ ... – jsotola Jan 03 '18 at 15:28
  • 3
    I regularly use GNU screen. For example screen /dev/ttyUSB0 115200 where /dev/ttyUSB0 is the serial port of the Arduino, and 115200 is the baud rate. What's wrong with the PlatformIO serial monitor, by the way? – tttapa Jan 03 '18 at 15:50
  • you can use any serial terminal, search for them. putty is pretty good. aside: do you get constant CPU usage from the arduino program as well? (thought it was just me...) – dandavis Jan 03 '18 at 15:58
  • You can use almost anything; but the catch with using something not integrated is that it may not automatically get out of the way when you try to upload code. – Chris Stratton Jan 03 '18 at 17:32
  • @tttapa thanks. Is there also some kind of gnu serial port scanner? — the biggest issue (for me) is the fact that I can’t copy the output (I don’t know if it’s an issue of PlatformIO, Atom or something on my computer... but as I select one serial monitor word all the text in the window get selected); a secondary problem is that putting data in is quite tricky (compared to the Arduino ide serial monitor) – noearchimede Jan 03 '18 at 17:36
  • @dandavis sorry, what do you mean by “do you get constant CPU usage from the arduino program as well?” – noearchimede Jan 03 '18 at 17:38
  • Note also that terminal emulators (putty, GNU screen, ...) are way more capable than the Arduino serial monitor, as they let you use ANSI escape sequences to control the cursor, set colors, etc. C.f. the bar display at the top left of this screenshot. – Edgar Bonet Jan 03 '18 at 17:43
  • sometimes the IDE pegs my CPU at 25% even idle (the OS blames java), was wondering if that same nastyness was what caused the battery consumption you mentioned... – dandavis Jan 03 '18 at 17:43
  • @noearchimede of course you can copy from the terminal. It just uses a different short cut. On Linux, this is CTRL+SHIFT+C instead of CTRL+C (CTRL+C sends a break), not sure what the Mac equivalent is. – tttapa Jan 03 '18 at 17:51
  • @dandavis yes, that happens quite often and it probably is the most important battery consumption cause – noearchimede Jan 03 '18 at 17:52
  • @dandavis do you get constant CPU usage from the arduino program as well? - I found a while ago that under certain circumstances (failed upload was one I think) that the IDE went to using 100% CPU. The only reason it took a while to notice was that I have a 4-core CPU and the other CPUs kept running. I think it wasn't the IDE per se, but a process running avrdude that was looping. After 4 failed uploads my PC got a bit sluggish. :) – Nick Gammon Mar 02 '18 at 22:04
  • @NickGammon: yup, that's it. if i have several sketches open, sometimes I can close 1+ of them (not all) and the 100% usage goes away. – dandavis Mar 03 '18 at 02:04

4 Answers4

3

Consider building your own monitor in Python. This gives you flexibility since Python is cross platform and you can tailor the monitor to your needs.

  1. Install Python.
  2. Install pySerial (pip install pyserial).
  3. Write a Python script to read and/or write to the Arduino across the serial port. There are some great examples out there such as this example and other Stack Overflow answers.
user55364
  • 31
  • 1
3

On macOS, you can use the built-in screen command, e.g.:

screen /dev/cu.usbmodem14201 9600

To exit, control-A followed by control-\

techrah
  • 141
  • 3
2

I use CoolTerm, which is available for Mac, Windows and Linux. It is a great serial app, and you can have several windows open at the same, for each serial pipe you may be using (Bluetooth, Arduino Serial, etc).

dda
  • 1,588
  • 1
  • 12
  • 17
1

There's a list of serial port sniffers here, if you want to view raw data

softwarerecs.stackexchange serial-port-logging

And a list here of programs which plot graphs from serial data:

softwarerecs.stackexchange serial-data-plotting-programs