Hi, I hope someone has some help for me.
My thumbs are sore from the springs but I'm ready to calibrate and put my legs on!
Here is my current situation: I was able to use my Win 10 computer to connect to the Bittle via USB. I tried loading WriteInstinct first ... and it kind of worked. It uploaded but maybe only partway. Here's the printout (115200/No line ending)
Initializing I2C devices...
Testing device connections...
MPU6050 connection successful
Initializing DMP...
Checking hardware revision...
Revision @ user[16][6] = A5
Resetting memory bank selection to 0...
>......>......
// X Accel Y Accel Z Accel X Gyro Y Gyro Z Gyro
//OFFSETS -1014, -709, 1230, 78, 15, 27
728
Batt voltage = 7.11
Battery OK!
IMU test start!
FIFO overflow!
Average: ypr 0.52 -0.05 0.09
IMU TEST PASSED!
EEPROM Testing...
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
GPIO Testing...
D6: 0
D7: 0
D8: 0
D9: 0
ADC testing...
A2 to DC-DC: 2.65
A3 to 5V MCU: 2.60
Then it just sits there. It won't take any inputs. Sometimes it will run this sequence this over and over on its own.
The other problem is that now, I cannot load any other project -- I get the avrdude errors other people have seen:
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM78
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x37
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x32
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x38
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x0d
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x0a
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x42
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x61
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x74
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x74
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
avrdude done. Thank you.
An error occurred while uploading the sketch
At one point, I was able to compile and upload the testInfraredRemote sketch successfully (including the head turning!), but then I tried WriteInstinct again and now I can't upload anything else. I've tried OpenCat, testBuzzer, testSerialComm and nothing new happens except the battery gets lower and every time I open the Serial terminal, it re-runs the original output.
Are the LEDs diagnostic of anything? From 0-6, they are:
0 1 2 3 4 5 6
grn grn grn red red off off
I've tried (multiple times and combinations):
Restarting Bittle
Unplugging/plugging battery
Unplugging/plugging USB cable
Changing USB ports
Reinstalling Arduino
Reinstalling the libraries
Reinstalling the USB driver
Rebooting computer
Reading this forum
Reading other forums about Arduino
Going to bed for the night
Charging the battery fully as I sleep
Thanks for any thoughts!
-Alex
The NyBoard is taking your uploaded sketch and prints out characters correctly, indicates that the uploading circuit and serial communication are both good. Have you set the serial monitor as "no line ending"?
Hi Rongzhong, Thank you for replying again.
I'm very busy during the week so I only have time on the weekends to work on this. I spent another frustrating several hours trying to get the serial uploads working. One thing I clarified is that your manufacturing test program includes some of the IRremote code. It accepts button pushes from the remote and makes prints on the Arduino console. What is more, the Play and the 5 button on the remote cause the head servo to turn back and forth. Here are the prints:
So that was interesting, but not useful.
Here are all of the things I've tried now:
USB Port to Petoi USB Adapter on Windows (original failure avrdude etc)
USB port to Petoi USB Adapter on another computer (Linux). I set up the environment, with the same bad outcome
USB Port to Silicon Labs USB/UART Bridge Evaluation Kit CP2104 EK on Win (same outcome)
Confirmed bidirectional serial character communications between Petoi USB Adapter and CP2104 serial bridge with 2 USB connection and terminals on the windows computer. This shows me the Petoi USB Adapter is probably fine. I could try a hex file transfer or xmodem to confirm but I haven't yet.
Tried to set up the Petoi Bluetooth Adapter as a SPP device in Linux but that was a little over my head at this point. I was able to connect and pair.
Succesfully set up the Petoi Bluetooth Adapter on Windows and got a COM port that Arduino could recognize. However, while the COM port allowed occasional upload of a sketches (I've tried the testBuzzer.ini and WriteInstinct), the communication is then one-sided. What I mean is, there is output from Arduino to the serial console, but it doesn't accept text entry from the computer. So this is what I get:
It just doesn't let me enter text. (Y)
I think it at least indicates there isn't a bootloader problem since I was able to load the sketch via the Petoi Bluetooth Adapter.
On a console program, reconnecting via the Petoi USB Adapter,.it really seems to be the same output (and I still can't upload) I have it set to 115200 and either No Flow Control or Xon/Xoff but there seems to be no difference in the garbage output or the inability to enter commands/responses:
At this point, although I want to believe that the smaller items like the serial devices are at fault, that would mean 3 different serial devices failed:
-Petoi USB
-Silicon Labs CP2104
-Petoi Bluetooth
on 2 different computers & operating systems, making 6 or more faulty combinations. As a logical conclusion, I think either I'm doing something totally wrong or there may actually be something wrong with the NyBoard. I think there seems to be pretty good evidence for the latter.
What do you think?
Thanks,
-Alex
The seven lights are indicators for:
Battery, Gyro, EEPROM, I/O, ADC, servo, IR receiver
They are used with our PCB jig, so it's ok to show red on your side.
There's no section in testInfraredRemote.ino to move the servos. So the head-turning may due to some fluctuation in the circuit.
The test code was uploaded to a fresh board, so the board should be good. It's still a problem in communication. You may try to burn the bootloader as described in chapter 4 of the manual.
Or you may buy an FTDI uploader on eBay. If it proves to be a quality problem, we will issue you a refund for the item.
Rongzhong, thank you for responding so quickly!
OK, that is good to know about the test code from the factory. As I mentioned, one time I did get the testInfraredRemote working and the head turned, but I can't even load that again. Do you think I need to upload a bootloader?
Also, the LEDs 0-6 seem to be indicating something -- do you have a table of these meanings?
Arduino Uno was already selected, but I tried selecting another board and then intentionally selecting Arduino Uno, no change.
COM78 (initially it was COM77) was the only port showing under Tools. When you use a lot of USB devices, these tend to grow. I ran the COMP Port Arbiter Tool and cleared all of my unused ports, so the next time I connected, I got COM3. However, that didn't change the situation.
I suspected it could be privileges, but now I'm running Arduino as Administrator, no change.
I guess my next step will be to try on a different computer. I don't think my wife will want to trade permanently, though! 😁
-Alex
Hi, the output is from our test code out of factory. That means you haven't uploaded the WriteInstinct.ino or any other test codes successfully. The problem is probably in the communication between the uploader and the computer.
Do you find other COM ports under Arduino->Tools? COM78 is a very large number. Do you have other devices connected?
Did you select Arduino Uno as the board?