The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
I know, using Serial.print it’s a dirty way to debug source code, but hey, it’s cheap!! Usually we need debugging only while we are developing the project or to experiment something and we don’t need the power of a real debugger.
In small hardware projects we usually need to know value of an input, a temperature, the humidity, the remaining battery charge or the value of a capacitive sensor….
That’s what I needed for enlight and that’s why I wrote plottino.
If we don’t want to use an entire arduino for our final project the problem is now, how we can look at Serial data coming from an atmega328 in a computer without the serial port?
My solution is to use another arduino with its FT232R usb2serial converter:
As you see we only need to connect the TX pin!
Note that the atmega328 on the arduino is not needed as it may interfere with the serial port! Here we only use arduino as usb2serial converter.
Connecting the arduino to usb port of your computer would enable serial data coming from the atmega directly to your emulated serial device (/dev/ttyACM?).
There isn’t neither a crystal oscillator with two 22uF caps here, because I’m using the internal oscillator for the enlight project, so please take care that with the internal oscillator the Serial baudrate has to be slow!
You can try to reach 57600 bps but stay at 9600 bps is preferable.
If you need more speed, you can try to calibrate the internal oscillator.