How to debug an Arduino sketch on a Mac? I have 2 Lowpowerlab WaterMote's talking to each other using the 'out of the box' pre-installed sketch that just confirm they're talking to each other. I verified this by opening a COM connection and saw traffic of 'receiving packets...' That was just to show that they are functioning and talking to each other.

Now, using Arduino IDE on Mac&nbsp;OS&nbsp;X 1.9.x (Lion?) I have loaded the WaterMote sketch (found on Github) on the Moteino with the sensor (not the gateway) as it should be. The traffic looks like it's working, except the text being transmitted (number of Gallons) stays the same at 0.02 Gallons.

So... I want to debug the WaterMote sketch, but I do not see an option in my Arduino IDE on Mac&nbsp;OS&nbsp;X. Is there a way to debug sketches using Macs? Searching online shows various and preferred options, but mostly on Windows (of which I don't have any at home).

My current setup


Moteino Gateway (as out of the box) connected to a Raspberry Pi (with ssh enabled)

Connected via USB to the RasPi

Moteino with WaterMote sketch loaded

Connected via USB to the MacBook Pro
Arduino IDE running, but I see strange "[][][]" square output in the Serial connection.
I do not know what to make of this since that text is not in the WaterMote sketch.



Is there a way to debug sketches loaded on Arduino clones using Arduino IDE on Macs?

I found a debugging article:


Visual Micro
So... I want to debug the WaterMote sketch, but I do not see an option in my Arduino IDE on Mac OS X. Is there a way to debug sketches using Macs? Searching online shows various and preferred options, but mostly on Windows (of which I don't have any at home).


It's definitely possible to debug a sketch with OS&nbsp;X. But it's definitely an advanced AVR topic, and if you're not experienced enough with embedded programming you should first try to avoid it, except if it is really necessary.

Debugging a sketch for an ATmega328 implies:


Running a flasher such as the AVR Dragon, the JTAG ICE 3, the STK500 or the AVR ONE; no cheap flasher implements the DebugWire protocol;
Setting up the debug fuse, which is an operation that can brick your MCU.


If you're using an ATmega32U4 (or alike), you won't be able to do it out of the box, as the 32U4 needs a JTAG connection for on-chip debugging.

Finally, once you got through that, you can bind a gdb to the AVR using AVaRICE. I'm not getting you through all that, because I really, really, strongly advise you not to do it until you're experienced enough to know what you're doing.


  Moteino with WaterMote sketch loaded
         connected via USB to the MacBook Pro
         Arduino IDE running, but I see strange "[][][]" square output in the Serial connection.
         I do not know what to make of this since that text is not in the WaterMote sketch.
  Is there a way to debug sketches loaded on Arduino clones using Arduino IDE on Macs?


It is very likely you did not setup the correct baudrate for the serial outputs. Arduino IDE defaults to 9600&nbsp;bits/s connections, whereas the WaterMote source code defines a 115,200&nbsp;bits/s connection. When you open the Serial Monitor change the setting at the right of the status bar.

And finally, be sure to uncomment the #define SERIAL_EN line to enable the serial communication and debug outputs.