Paul Mather's Comments

Comment Wall (29 comments)

At 5:41am on August 27, 2009, Vikram said…
Hi all , i have little doubt in changing GPS Baud rate. Currently its working in binary SIRF protocol in 57600 baud rate.. I would like to change it into 19200 baudrate. So i made few changes in 2.0.1 code and tested it but failed to get the GPS lock. What could be the reason.......

Changes i made were:
1. byte gps_buffer[100]={
// change the buffer with 19200 instead of 57600 and change the Checksum value also

2. Serial.begin(19200); //Universal Sincronus Asyncronus Receiveing Transmiting in init_gps()

3. Serial.begin(19200); // in fastinit_gps()

I cant get the GPS LOCK . I send the command at 4800 BR=> $PSRF100,0,19200,8,1,0*39
but cant get the GPS LOCK what else i have to change?.
At 9:16am on October 18, 2010, Jin said…
Hi, Happykillmore.
I am a new learner on ArduIMU.I only connected the ArduIMU with PC using FTDI cable, and I only changed #define PRINT_BINARY 0 to 1. But in HappyKillmore ArduIMUtest platform I cannot see the smooth change of the image when I touch the IMU.I dont know what's the reason for this.It sounds so strange.
At 6:46am on October 27, 2010, Ritchie said…
I was taught to read using the Commodore Beginners Guide to BASIC that came with the original C64 :D I'd sit on my Mum's lap reading it to my Dad, I was only 4 at the time. Did my "hello world" at 5 (1987) and have pretty much been building ever since. Text based RPG, typing tutors, quoting systems etc. TBH this is the first time I've had a personal goal for it. I love the interface you have so far its perfect "analogue".
Very nice emulator too I'm hoping that I can just class everything up to make it modular for errors (there will be loads :D). Just finished a camera arduino extra that runs off a channel output from the APM (not done the APM code). Servo position represents function so I've just got to get the APM commands sorted.
At 4:36am on December 29, 2010, Marcus Fahlén said…
Hi there Paul,

I'm following your GCS project with great interest and I'm using it when developing firmware for the UDB. Until recently your GCS parsed the "SERIAL_UDB_EXTRA" format just fine, even if I used XBee API activated in the GCS XBee (That means that the data becomes somewhat "garbled" since the API expects the data in packets. The result is that eh XBee adds some characters to the data, but the "raw" data is still there intact. A few versions ago I realized that this didn't work anymore. No great deal since I only use the API mode on the GCS XBee if I need to adjust the XBee aboard the UAV, but nevertheless it was an extra step to do each time. Now, today (29 Dec. 2010) I downloaded the latest(?) version 1.1.25 and can't get it to parse the "SERIL_UDB_EXTRA" format at all. I see the data coming in at 57600, but it doesn't become translated. (I must add that I have some extra strings in my personal telemetry use for controlling the XBee.) The 866MHz PRO has a duty cycle of 10% and therefore has to be reset at least in 6 minutes intervals). I do this via the telemetry data. Another important note is that I use this on a lab bench setup with X-Plane for HIL-simulation. That means that there is no actual GPS in the setup. The GPS data is fed to the UDB from X-Plane and later to the telemetry port. Have you lately changed the parsing so that my setup is "disqualified", or is there anything else going on here?

Otherwise, keep up the great effort of creating a useful GCS for every UAV nut ;)

Kind regards

At 2:12pm on January 17, 2011, Fabiano said…


very impressed on the great GCS sw.

I am developping a new IMU unit. I would like this module being ArduIMU compatible. Could you share the ArduIMU protocol ?


At 4:03pm on January 17, 2011, Paul Mather said…
Fab, the ArduIMU binary or ArduIMU (ArduPilot) ASCII legacy?
At 6:59am on January 18, 2011, Fabiano said…

I would prefer the ASCII legacy as it is "easier" to troubleshoot. But for sure I will prioritize the efficency of the RF transmission (i.e. if binary mode is a must I will take it)


At 2:46pm on January 24, 2011, Fabiano said…


I've found the ArduIMU binary info. However I would be interrested on some samples (i.e commands).


At 3:07pm on January 24, 2011, Paul Mather said…

I'm sorry, I've been busy with other things. From a software standpoint, the legacy is obviously easier to troubleshoot since it's ASCII. I'll see what I can find, but I don't think there's a whole lot of up to date documentation on either the AP Legacy or the ArduIMU binary. Do you have an ArduIMU unit? About the best I could do would be to output from mine and send you the text file. Would that help? I could take a screenshot of my starting lat and long values......wait a minute!!! I have a better idea!!!! If you launch my GPS Emulator you can get output for either the AP legacy or the ArduIMU binary!!!!!!


Download my GCS and then click Start, All programs, HappyKillmore, GPS Emulator. Then select the Protocol menu item and select the ones you want! Examples galore!

At 8:05am on January 28, 2011, Magellan said…
Hi Happy,
Does your GCS support Arducopter?
At 1:31am on February 9, 2011, Aurelio R. Ramos said…

I second that question with an observation: I have been struggling to get HappyKillmore working with arducopter (only the most kick ass GCS in my opinion) And just looking at the code and all the messages online, it isn't exactly obvious that the GCS protocol in arducopter is supported with it. So I have the same question and I've been looking around to no avail.... Keep in mind I am new so on top of that I don't trust myself very much... However, I have everything else working and the configurator is able to read sensor data with xbees.....



At 5:48am on February 9, 2011, Paul Mather said…

Guys, I downloaded the ArduPirates source the other day and tried running it on my GCS. I couldn't get the telemetry data to start pumping I quit (I only spent about 30 minutes on this). But as I looked into the code, the GCS output stream was very different from the MAVlink or ArduPilot Mega GCS output stream. There's no reason I can't make my GCS work with it, I just haven't dug around for the documentation. Now, if you're not talking about the ArduPirate's code, and you're talking about just ArduCopter, then I can't answer that as I haven't tried looking at or running their firmware at all....again, no problem to add, I just haven't tried.


Can you point me to any protocol documentation? Thanks.

At 7:05am on February 9, 2011, Aurelio R. Ramos said…

Thanks HappyKillmore, I just wanted to know I am not going crazy. This explains why I couldn't get it to work, even though the configurator works fine. I also looked at the ardupilot firmware and the firmware does not have the same type of GCS sentences as ArduPilotMega (for example, there is no code sending "+++" type messages anywhere.....) The ArduPilot code is relatively new, and I think it is probably smart to check with the team members working on it to see how stable and complete their GCS protocol is at the moment. For example, would it make sense to make ArduCopter send APM type data instead? that would be a good question for them to answer. With that said, if you welcome help on your project, I am a competent coder


Either way, thanks for the response and cheers!



At 7:15am on February 9, 2011, Aurelio R. Ramos said…

Just for reference, the ArduCopter code sends data only upon query and in a tab or comma delimited format. For example:


Send 'S' and you get back:




Send '4' and you get back:




The lines are broken here just for the sake of clarity.

The endlines are done by calling Serial.println()... not sure if that's <CR><LF>....



At 7:27pm on February 9, 2011, Paul Mather said…
The downside to that protocol is there is no header data. It's one thing to have to ask for the data every x ms....I do that with AttoPilot, but the problem is the lack of identifying data about which device sent the message. I would request the data stream be changed to include something like "ACS" and "AC4" as a header...and ideally a checksum of some kind. Without the header, I can't parse it.Delete Comment
At 8:00pm on February 9, 2011, Aurelio R. Ramos said…

I realize that. I did some more reading in the repository and found that the latest code (unreleased) uses the APM binary protocol, so I *believe* they are going to be supporting that in later versions of arducopter. If that is the case, then you wouldn't have to do anything. wish somebody with more "authority" about the arducopter project could comment.



At 9:46pm on February 9, 2011, Paul Mather said…
I am compatible with APM Binary and with the new APM if you can make it work with either of those, you should be good!
At 9:41pm on February 15, 2011, Ron H. Ayanzen said…

Hi everyone,

I'm a newbie & I just downloaded & installed HK GCS, which looks very impressive!  Is there a way for me to perform a simulation flight with just the software installed, and no autopilot attached to my PC?


At 11:07pm on February 15, 2011, Paul Mather said…
Simulation, no, but you can emulate a GPS signal. Click Start, All Programs, HappyKillmore, GPS Emulator. You'll need to install the "Feedback Ports" which will link 2 fake serial ports together (IE COM254 and COM255). Then you can run the emulator on one and the GCS on the other. I would suggest using the ArduIMU or ArduPilot protocols as they will allow for pitch and roll....
At 1:19pm on May 3, 2011, Francis Pelletier said…
Hi, I have a question for you..

My mounting options are quite limited the way I want things to be, is it a problem to have the servo pins on the arducopter facing forward, instead of backwards? can i just reverse this axis? thanks!

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service