Posted by Austin Duff on September 13, 2009 at 10:39am
Hello, I am relatively new to this ArduStation. I attempted to upload the Ardustation demo program using the ftdi cable, but i recieve the error:avrdude: stk500_getsync(): not in sync: resp=0x00avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51Any help/ suggestions would be appreciated to help me get this thing up and running.-Austin
You need to be a member of diydrones to add comments!
Well sure as ...... as soon as one puts something up on the forum one manages to solve his/her problem. So sorry about the confusion. I reoriented the LCD as per the wiki and readjusted the LCD bright/contrast pots and all is well... one of those things!
I just completed my Ardustation. First I found that I get no symbology on the LCD unless I rotate it 180 degrees from the orientation described in the wiki. The LCD works if it is above the main board rather on top of it next to the buttons. In the Wiki described orientation the LCD is not powered.
Next I was able to program the chip using an FTDI cable without errors (Arduino 1.0.1 and Ardustation2_APM_ACM_2.0.15_Mavlink1.0) . I also was able to program the chip using an Arduino UNO without errors. BUT always when I power up the Ardustation I get only the squares displayed on the LCD. This occurs no matter the power source - FTDI or via the DC power jack. I was able to load an old version of Ardustation that would make the buttons beep using arduino-0022-relaxpatch, but still only boxes on the LCD. Any ideas would be appreciated. Thanks.
When I initially setup the Ardustation 2, it has a bad solder joint in the xbee header. Although the issue is resolved now, I thought I would post the behavior in case others are experiencing it. Basically, my display was giving me garbage characters. Instead of a heart icon, there was a 'd' icon in the bottom right hand corner. I found that when I pushed the xbee to one side, the issue cleared up..
I had a bad solder joint in my xbee header on my ArduStation 2 which is now fixed. I'm fully up and running with Ardustation 2 now. Wooohooo! Could you please replace my step 9 with this revised step 9?
9.) Plug in your xBee module and power up the ArduStation. After a few moments, the black boxes will be replaced with 'ArduStation 2 with MAVLink 1.0 and Antennae Tracking" followed by "Starting xbee" and then go to the main menu. The starting sequence and text may be different depending on your version of firmware. If you cannot see any text, tweak your potentiometers to adjust the backlight and contrast. You should see some text at this point.
I hope my instructions are good enough to be posted there; please feel free to edit and/or replace them with anything better. I'm still working on getting my setup working correctly. I bought some used xbee's and still not getting them to communicate even without the ArduStation.. So, I may be adding some more 'noob' instructions for xbee testing/setup as soon as I work through this.
I got the code uploaded.. things work easier when you're not frustrated. I originally started trying to upload the code with the latest version of Arduino from the Arduino site. By the time I switched to the correct version (in arduino-0022-relaxpatch.zip), I had a tangled sketch directory. Clearing it out and only unzipping the Ardustation2_APM_ACM_2.0.15_Mavlink1.0.zip directly into the sketches folder was my fix.
Here's a bit of Byron's tips along with some steps I threw together for those that are relatively new to arduino:
Now that you have the ArduStation assembled, these are the steps to install code on the device:
Note:If you power up the ArduStation at this point using an FTDI cable or other power supply, you'll get a green light on with two rows of black squares if your potentiometers are turned all the way in one direction (or just a dark screen if all the way in the other). This is normal and is the default when the ardustation isn't programmed. If an Xbee is attached then the red LED will be flashing. Doesn't mean anything is wrong.
Download the latest supported version of arduino from here (arduino-0022-relaxpatch.zip as of this post) and unzip it to a location on your hard drive (i.e. c:\arduino-0022-relaxpatch). Go into the folder and execute arduino.exe. In the application, go to click File > Preferences and set your sketchbook location to an empty folder on your hard drive (i.e. C:\Documents\Arduino).
Download the latest supported version of the ArduStation code from here (Ardustation2_APM_ACM_2.0.15_Mavlink1.0.zip as of this writing). Unzip this file to the empty sketchbook folder. After this is done, your sketchbook folder will have two directories in it: ArduStation2 and libraries.
If the arduino application is still running, close it and restart it. It will not detect new contents in the sketchbook folder until it is restarted.
After arduino.exe is restarted, click File > Sketchbook > ArduStation2. Hit the Verify button (looks like a Play button). This tests compilation of the ArduStation2 code. If it completes successfully, you will receive a Done Compiling message with no errors.
Plug a 3.3v FTDI cable into the ArduStation2 with the ground wire (black wire) on the side toward the black buttons. If you have an Xbee radio installed, remove it before proceeding. Connect the cable to your computer. Your computer should give a short beep indicating a new COM port was found. If you go to Device Manager (right click on Computer > Properties > Device Manager under Win7), you should see the COM port under 'Ports (COM & LPT)'. Go into the properties of the port by right clicking it and selecting Properties. You'll know the FTDI COM port from others you may have because the manufacturer is listed as FTDI. The default COM port settings of 9600 baud worked for me. Note, at this point, your ArduStation2 is still with its default row of black boxes and green power light indicator.
In the Arduino app window where the code was verified in Step 4, select the COM port that was added by the FTDI cable by clicking Tools > Serial Port > COMXX (where XX is the COM port number). Then, click Tools>Board> and make sure Arduino Uno is selected.
Press the Upload button in the Arduino app. After about 30seconds or so, you should get the message that it is done uploading and with no errors.
Unplug the FTDI cable from the computer and the ArduStation2
Plug in your xBee module and power it on. After a few moments, the black boxes will be replaced 'wodunt' and then replaced with Starting xBee text. If you cannot see it, tweak your potentiometers to adjust the backlight and contrast. You should see some text at this point.
Wow.. its hard to find gems like this thread. Byron's tips should be promoted to the wiki. When I first plugged in the board and saw the row of boxes and no sound.. I was thinking I had hosed something.
I'm able to upload to the Ardustation using my 3.3v FTDI cable; I uploaded the sample Blink code under File>Examples>Basic>Blink using the Arduino 0100-relax. However, anytime I try to compile Ardustation2, I get errors. I have set up my sketch folder and have unzipped Ardustation2_APM_ACM_2.0.15_Mavlink1.0.zip and ArduCopter-2.6.zip as sub-folders in the sketch folder. I restarted Arduino after setting up the sketch folder.
When I try to compile, I get the following error when compiling Ardustation2:
ArduStation2.cpp:75:24: error: FastSerial.h: No such file or directory ArduStation2.cpp:76:25: error: GCS_MAVLink.h: No such file or directory ArduStation2.cpp:80:55: error: AP_EEPROMB.h: No such file or directory ArduStation2.pde:-1: error: variable or field 'gcs_handleMessage' declared void ArduStation2.pde:-1: error: 'mavlink_message_t' was not declared in this scope ArduStation2.pde:-1: error: 'msg' was not declared in this scope ArduStation2.pde:-1: error: variable or field 'gcs_handleMessage' declared void ArduStation2.pde:-1: error: 'mavlink_message_t' was not declared in this scope ArduStation2.pde:-1: error: 'msg' was not declared in this scope ArduStation2.pde:-1: error: variable or field 'send_message' declared void ArduStation2.pde:-1: error: 'mavlink_message_t' was not declared in this scope ArduStation2.pde:-1: error: 'msg' was not declared in this scope ArduStation2.pde:-1: error: 'AP_EEPROMB' does not name a type ArduStation2.pde:-1: error: expected constructor, destructor, or type conversion before '(' token ArduStation2.cpp: In function 'void SaveHomePosition()': ArduStation2.pde:-1: error: 'eeprom_busy_wait' was not declared in this scope ArduStation2.pde:-1: error: 'ee' was not declared in this scope ArduStation2.pde:-1: error: 'eeprom_write_dword' was not declared in this scope ArduStation2.cpp: In function 'void RestoreHomePosition()': ArduStation2.pde:-1: error: 'eeprom_busy_wait' was not declared in this scope ArduStation2.pde:-1: error: 'ee' was not declared in this scope ArduStation2.pde:-1: error: 'eeprom_read_dword' was not declared in this scope ArduStation2.cpp: In function 'void position_antenna()': ArduStation2.pde:-1: error: 'ToDeg' was not declared in this scope ArduStation2.cpp: At global scope: ArduStation2.pde:-1: error: variable or field 'gcs_handleMessage' declared void ArduStation2.pde:-1: error: 'mavlink_message_t' was not declared in this scope ArduStation2.pde:-1: error: 'msg' was not declared in this scope
Because of the directory errors, I was thinking maybe they had to be in the same folder. So, I cleared my sketch folder and then I unzipped Ardustation2_APM_ACM_2.0.15_Mavlink1.0.zip and ArduCopter-2.6.zip both directly into the sketch folder (so they have a merged libraries folder). There were some over write prompts that I said yes to and I got this when trying to compile Ardustation2:
In file included from ArduStation2.cpp:76: D:\Documents\Arduino\libraries\GCS_MAVLink/GCS_MAVLink.h:20:15: error: operator '==' has no left operand D:\Documents\Arduino\libraries\GCS_MAVLink/GCS_MAVLink.h:30:14: error: operator '==' has no left operand D:\Documents\Arduino\libraries\GCS_MAVLink/GCS_MAVLink.h:127:14: error: operator '==' has no left operand ArduStation2.cpp: In function 'void gcs_handleMessage(mavlink_message_t*)': ArduStation2.pde:-1: error: 'MAV_TYPE_FIXED_WING' was not declared in this scope ArduStation2.pde:-1: error: 'MAV_TYPE_GENERIC' was not declared in this scope ArduStation2.pde:-1: error: 'struct mavlink_gps_raw_int_t' has no member named 'vel' ArduStation2.pde:-1: error: 'struct mavlink_sys_status_t' has no member named 'voltage_battery' ArduStation2.cpp: In function 'int get_Param_Key(char*, int)': ArduStation2.pde:-1: error: 'MAV_TYPE_FIXED_WING' was not declared in this scope ArduStation2.pde:-1: error: 'MAV_TYPE_QUADROTOR' was not declared in this scope ArduStation2.pde:-1: error: 'MAV_TYPE_GENERIC' was not declared in this scope ArduStation2.cpp: In function 'void save_param()': ArduStation2.pde:-1: error: 'MAV_VAR_FLOAT' was not declared in this scope
The assembly guide was great.. and then you fall off a cliff on the programming step (at least us newbies do).
On a second matter, the first line of code in Ardustation2 is:
#define MAVLINK10 // Uncomment for MAVLINK 1.0, otherwise comment out for MAVLINK 0.9
I assume I have to remove the # from this line to use MAVLINK1.0. Do I need to modify any other lines?
Replies
Well sure as ...... as soon as one puts something up on the forum one manages to solve his/her problem. So sorry about the confusion. I reoriented the LCD as per the wiki and readjusted the LCD bright/contrast pots and all is well... one of those things!
Hello all,
I just completed my Ardustation. First I found that I get no symbology on the LCD unless I rotate it 180 degrees from the orientation described in the wiki. The LCD works if it is above the main board rather on top of it next to the buttons. In the Wiki described orientation the LCD is not powered.
Next I was able to program the chip using an FTDI cable without errors (Arduino 1.0.1 and Ardustation2_APM_ACM_2.0.15_Mavlink1.0) . I also was able to program the chip using an Arduino UNO without errors. BUT always when I power up the Ardustation I get only the squares displayed on the LCD. This occurs no matter the power source - FTDI or via the DC power jack. I was able to load an old version of Ardustation that would make the buttons beep using arduino-0022-relaxpatch, but still only boxes on the LCD. Any ideas would be appreciated. Thanks.
LCD1.jpg
LCD2.jpg
Quick question?
Build mine today and all seems to work!, had it hooked up, plane on and was getting the mavlink data.
Now is there a way of sending a log from the mission planner to test the tracker?
Thanks
Burt Green
When I initially setup the Ardustation 2, it has a bad solder joint in the xbee header. Although the issue is resolved now, I thought I would post the behavior in case others are experiencing it. Basically, my display was giving me garbage characters. Instead of a heart icon, there was a 'd' icon in the bottom right hand corner. I found that when I pushed the xbee to one side, the issue cleared up..
https://www.youtube.com/watch?v=J5U7mrj0CY4
Resoldering the header resolved the problem.
Chris,
I had a bad solder joint in my xbee header on my ArduStation 2 which is now fixed. I'm fully up and running with Ardustation 2 now. Wooohooo! Could you please replace my step 9 with this revised step 9?
9.) Plug in your xBee module and power up the ArduStation. After a few moments, the black boxes will be replaced with 'ArduStation 2 with MAVLink 1.0 and Antennae Tracking" followed by "Starting xbee" and then go to the main menu. The starting sequence and text may be different depending on your version of firmware. If you cannot see any text, tweak your potentiometers to adjust the backlight and contrast. You should see some text at this point.
Muhahahaha.. xbees communicating.. now must sleep.
Thanks Chris and Heino!
I hope my instructions are good enough to be posted there; please feel free to edit and/or replace them with anything better. I'm still working on getting my setup working correctly. I bought some used xbee's and still not getting them to communicate even without the ArduStation.. So, I may be adding some more 'noob' instructions for xbee testing/setup as soon as I work through this.
I got the code uploaded.. things work easier when you're not frustrated. I originally started trying to upload the code with the latest version of Arduino from the Arduino site. By the time I switched to the correct version (in arduino-0022-relaxpatch.zip), I had a tangled sketch directory. Clearing it out and only unzipping the Ardustation2_APM_ACM_2.0.15_Mavlink1.0.zip directly into the sketches folder was my fix.
Here's a bit of Byron's tips along with some steps I threw together for those that are relatively new to arduino:
Now that you have the ArduStation assembled, these are the steps to install code on the device:
Note:If you power up the ArduStation at this point using an FTDI cable or other power supply, you'll get a green light on with two rows of black squares if your potentiometers are turned all the way in one direction (or just a dark screen if all the way in the other). This is normal and is the default when the ardustation isn't programmed. If an Xbee is attached then the red LED will be flashing. Doesn't mean anything is wrong.
Now that your code is uploaded, go to the User Guide here: http://code.google.com/p/ardustation/wiki/UsersGuide
Wow.. its hard to find gems like this thread. Byron's tips should be promoted to the wiki. When I first plugged in the board and saw the row of boxes and no sound.. I was thinking I had hosed something.
I'm able to upload to the Ardustation using my 3.3v FTDI cable; I uploaded the sample Blink code under File>Examples>Basic>Blink using the Arduino 0100-relax. However, anytime I try to compile Ardustation2, I get errors. I have set up my sketch folder and have unzipped Ardustation2_APM_ACM_2.0.15_Mavlink1.0.zip and ArduCopter-2.6.zip as sub-folders in the sketch folder. I restarted Arduino after setting up the sketch folder.
When I try to compile, I get the following error when compiling Ardustation2:
ArduStation2.cpp:75:24: error: FastSerial.h: No such file or directory
ArduStation2.cpp:76:25: error: GCS_MAVLink.h: No such file or directory
ArduStation2.cpp:80:55: error: AP_EEPROMB.h: No such file or directory
ArduStation2.pde:-1: error: variable or field 'gcs_handleMessage' declared void
ArduStation2.pde:-1: error: 'mavlink_message_t' was not declared in this scope
ArduStation2.pde:-1: error: 'msg' was not declared in this scope
ArduStation2.pde:-1: error: variable or field 'gcs_handleMessage' declared void
ArduStation2.pde:-1: error: 'mavlink_message_t' was not declared in this scope
ArduStation2.pde:-1: error: 'msg' was not declared in this scope
ArduStation2.pde:-1: error: variable or field 'send_message' declared void
ArduStation2.pde:-1: error: 'mavlink_message_t' was not declared in this scope
ArduStation2.pde:-1: error: 'msg' was not declared in this scope
ArduStation2.pde:-1: error: 'AP_EEPROMB' does not name a type
ArduStation2.pde:-1: error: expected constructor, destructor, or type conversion before '(' token
ArduStation2.cpp: In function 'void SaveHomePosition()':
ArduStation2.pde:-1: error: 'eeprom_busy_wait' was not declared in this scope
ArduStation2.pde:-1: error: 'ee' was not declared in this scope
ArduStation2.pde:-1: error: 'eeprom_write_dword' was not declared in this scope
ArduStation2.cpp: In function 'void RestoreHomePosition()':
ArduStation2.pde:-1: error: 'eeprom_busy_wait' was not declared in this scope
ArduStation2.pde:-1: error: 'ee' was not declared in this scope
ArduStation2.pde:-1: error: 'eeprom_read_dword' was not declared in this scope
ArduStation2.cpp: In function 'void position_antenna()':
ArduStation2.pde:-1: error: 'ToDeg' was not declared in this scope
ArduStation2.cpp: At global scope:
ArduStation2.pde:-1: error: variable or field 'gcs_handleMessage' declared void
ArduStation2.pde:-1: error: 'mavlink_message_t' was not declared in this scope
ArduStation2.pde:-1: error: 'msg' was not declared in this scope
Because of the directory errors, I was thinking maybe they had to be in the same folder. So, I cleared my sketch folder and then I unzipped Ardustation2_APM_ACM_2.0.15_Mavlink1.0.zip and ArduCopter-2.6.zip both directly into the sketch folder (so they have a merged libraries folder). There were some over write prompts that I said yes to and I got this when trying to compile Ardustation2:
In file included from ArduStation2.cpp:76:
D:\Documents\Arduino\libraries\GCS_MAVLink/GCS_MAVLink.h:20:15: error: operator '==' has no left operand
D:\Documents\Arduino\libraries\GCS_MAVLink/GCS_MAVLink.h:30:14: error: operator '==' has no left operand
D:\Documents\Arduino\libraries\GCS_MAVLink/GCS_MAVLink.h:127:14: error: operator '==' has no left operand
ArduStation2.cpp: In function 'void gcs_handleMessage(mavlink_message_t*)':
ArduStation2.pde:-1: error: 'MAV_TYPE_FIXED_WING' was not declared in this scope
ArduStation2.pde:-1: error: 'MAV_TYPE_GENERIC' was not declared in this scope
ArduStation2.pde:-1: error: 'struct mavlink_gps_raw_int_t' has no member named 'vel'
ArduStation2.pde:-1: error: 'struct mavlink_sys_status_t' has no member named 'voltage_battery'
ArduStation2.cpp: In function 'int get_Param_Key(char*, int)':
ArduStation2.pde:-1: error: 'MAV_TYPE_FIXED_WING' was not declared in this scope
ArduStation2.pde:-1: error: 'MAV_TYPE_QUADROTOR' was not declared in this scope
ArduStation2.pde:-1: error: 'MAV_TYPE_GENERIC' was not declared in this scope
ArduStation2.cpp: In function 'void save_param()':
ArduStation2.pde:-1: error: 'MAV_VAR_FLOAT' was not declared in this scope
The assembly guide was great.. and then you fall off a cliff on the programming step (at least us newbies do).
On a second matter, the first line of code in Ardustation2 is:
#define MAVLINK10 // Uncomment for MAVLINK 1.0, otherwise comment out for MAVLINK 0.9
I assume I have to remove the # from this line to use MAVLINK1.0. Do I need to modify any other lines?
I just assembled my Ardustation and it behaves exactly as Terry described. I am unable even to load a boot loader getting the same sync error.