I opened a brand new 18v7 SMC today, assuming the last one had failed to cause this fault, but this is exactly the same from brand new.
I load up the ‘advanced example’ from pololu.com/docs/0J44/6.7.1 to my arduino mega clone.
The controller ‘works’ as in motor speed oscillates high/low, but the only data I get back is 0xFEFF, regardless of what parameter I try to read. This is the same result as having the ‘receive’ wire disconnected.
I swear the example originally worked on my first 2 controllers, reading voltage and limit switch statuses, but now I wonder if it stopped working when I upgraded the firmware from 1.03 to 1.04.
The new board opened today already shipped with 1.04
This is my setup:
Any suggestions are welcome.
Is it possible to downgrade the firmware to 1.03 ? Only 1.04 is available to download at the moment.
Thank you for the nice picture! I see that you are not actually connecting the GND pins of the two devices; you are connecting the Arduino’s GND to the Simple Motor Controller’s potentiometer input minus (-) pin which is not exactly ground. If you are connecting the two devices to the same computer they might already share a common ground, but please try connecting the GND pins.
Also, the advanced Arduino example in the Simple Motor Controller user’s guide says to connect the ERR and RST pin of the Simple Motor Controller to the Arduino. Since you have not connected the ERR line, you should comment out the block of code that uses it. Also, the instructions say to put the Simple Motor Controller in a particular serial mode. Could you save a settings file using the Simple Motor Control Center and post it here so we can check your settings? Also, please post the exact code you are using so we can see your modifications, and please post the exact output you get from the serial monitor for the first 10 seconds or so after the Arduino has turned on.
If you still have trouble, I recommend simplifying your system. Could you take off all of the shields and see if the problem still happens? The VNH5019 shield uses Arduino pins 4 and 6.
We can send you firmware version 1.03 if it turns out to be necessary.
I removed the screw terminal shield, wired exactly per you instructions and…it worked (again) ! Thanks.
It tried hooking the ground signal to the analog input minus, and it still worked (although with the ground disconnected altogether the problem returned, out of interest).
So it seems the TX is a little fussy on getting the correct ground, and once again I’ve been caught out by dodgy connections on arduino shields/jumpers (when will I ever learn!).
Incidentally, I found the 18v7 would reset (lose comms to my PC), every couple of seconds when both the arduino and 18v7 were connected via USB simultaneously (with everything wired as recommended); presumably some ground loop was happening, glad it doesn’t seem to have damaged anything.
 more problems after playing for a while, seems they are caused by poor contact between the my jumper leads and the female headers on the VNH5019 shield; remove shield, problem solved again. I hope others can learn from my failures ! (can anyone recommend a source of ‘good quality’ jumper patch leads that are more reliable ? I no longer trust mine, having cost me many hours of frustration across several projects.
I am glad you were able to make progress. We have not heard of any problems like that with our Premium Jumper Wires, so you could try those.