Monday, January 7, 2013

Contact Me: Feedback? Corrections?

Subscribe by Email!

Date this section was added to website: 7 July 2013
Last updated: 21 Jan. 2018

Update History (newest on top):
-20171016 - added "Facebook Messenger" link
-20170826 - Added Amazon affiliate program statement, & keywords
-20170318 - Added link to my Consulting Work page
-20160806 - Added png image of email, and link to my new "About me" page

Related Pages:
Have a question? Write a Comment!
If you have feedback or corrections for any of my articles or pages, please post them in the comments section below the post you'd like to comment on or ask a question about. I prefer questions be asked this way so others can see and benefit from your question and the answer too! Don't hide the knowledge--let's share the wealth!

Need to Email me?
Writing comments is the preferred way I'd like to see your questions, so that when I answer them, others can benefit from the answers too.  However, if you want to contact me directly, here is how: 

1) Do you need expert support on a product you've purchased from me? (ex: my Computa Pranksta mouse jiggler device sold on Amazon and Ebay?)
Then email me here:

I GUARANTEE my products! I will practically bend over backwards to make sure they work for you! If you need help getting it to work or just want to say thanks or give suggestions for improvements, please email me! The user manual is here.

2) Are you a professional seeking PAID advice or paid custom embedded work? 
Then click on the link just above, and email me here:

I can give you my phone number of course after our initial contact and we can discuss your project and determine if it's a good fit for us. My work is 100% guaranteed or your money back. See link above for details. 

3) Are you a hobbyist seeking FREE advice? 
Then email me here.

 I do not guarantee a response to your email, but I do hope to be able to find the time to respond, and I certainly do make an effort to do so.

Other links:

Visit and like my page on Facebook
Message me on Facebook

Buy my products on Amazon!



Gabriel Staples
owner/embedded systems engineer 
Electric RC Aircraft Guy, LLC


Keywords: Contact me, contact Gabriel Staples, contact Electric RC Aircraft Guy, contact eRCaGuy, ercaguy facebook, Electric RC Aircraft Guy Facebook, Facebook, electric rc aircraft guy comments, Computa Pranksta user manual, Computer Prankster user manual

***Subscribe by Email!***


  1. Hi there, I am an aerospace engineering undergraduate student currently working on a flight performance project. I've adapted your equation of finding dynamic thrust from rpm, pitch, and velocity, however I am getting a negative dynamic thrust for the maximum velocity of the RC plane. For your reference, I have flew the RC propeller driven plane at a steady flight and recorded its velocity, for its maximum velocity being measured at its full throttle. The flight test was carried out in an open area (external disturbance) and the velocity was obtained without the use of advance technology gadgets. The puzzle of the negative dynamic thrust at the maximum velocity remains unsolved hence I am here to seek for your advice.

    1. Shen, my dynamic thrust equation underestimates the velocity at which zero-thrust will occur (Figure 1 of my main thrust article shows this clearly), therefore, my equation thinks your plane can't go as fast as it is going, so it reports a negative thrust at that speed. In actuality, of course, your plane is producing a small positive thrust at that speed, since for steady flight thrust = drag, and drag of course, is a positive value in the opposite direction to thrust.

      Just yesterday, Hamtaro Tee asked me the exact same question, so please go here ( and read my responses to him.

    2. Shen, if you don't mind my asking, what university are you attending?

    3. Thank you Sir, I have read through your response on Tee's question. I am from University of Science Malaysia, for your information. Great work on the static thrust and dynamic thrust conversion, you have helped us a lot!

    4. Shen, I'm glad I could help! If you would like to share any papers/work you do where my equation is involved, feel free to drop it on Google Drive or dropbox or something and post the link here, and I'd be happy to take a look just to see how people are able to use my work. I likely won't have time to provide any feedback or anything (that's what teachers/professors, and peers are for), but it certainly would interest me to see what people like you are doing with it. Thanks!

  2. This comment has been removed by the author.

  3. Hello. I have a few questions regarding you live plotting serial data on matlab code (which is very impressive by the way).

    First, where do you collect data from the arduino? I don't see anywhere explicitly collecting data from a port on the arduino.

    Second, where do you write to union1.byte_array[i] that ultimately gets sent to matlab? I might be getting lost in the typedef's.

    Also does there exist a tutorial or whatnot for breaking the data down into packets that might be a little simpler to grasp? I'm currently just trying to get data through the arduino's analog input, and then plot it live to matlab.

    I have a lot more questions but this is a start - thanks!

    1. Jess, see line 254 here:

      It reads "Serial.write(union1.byte_array[i]); //this is where we actually send the data over to MATLAB, via serial, one byte at a time"

      That's where I send the data to MATLAB via the hardware serial port.

      On the MATLAB side I am receiving data here:
      See line 23: “packet_byte_array(i) = uint8(fread(s,1,'uint8'));”
      “s” is a serial port object created in MATLAB in my “setup_serial.m” file.

      I know my code is complex, because I took what I considered to be a more thorough and professional approach...something that I could expand upon in my future work. However, simpler methods do exist. For instance, I am sending binary data, but sending ASCII characters of data would be simpler.
      Also, the typedefs, unions, and error checking isn't really necessary unless you want to have a more optimized, and in my opinion a more “professional” approach....again, for simple stuff like this not really necessary. It was also a learning experience for first time using packets, unions, structures, typedefs, etc.

      For a great explanation and basic tutorial of using serial ports, here's a document I found very useful in my process of creating this project:

      He's not entirely correct about how the serial buffer works in MATLAB (and I even called the MATLAB support about this), but he does provide some very valuable info. nonetheless.

  4. I read about your comment on TV B Gone at
    I am trying to build one on Arduino, but it works only on my Arduino UNO and not on ATmega 168, I ordered the 328 one but seller sent me 168 one.

    Only person Whom I've seen running it on Mini Pro is you, can you please tell if it would work on ATmega168 or it needs to be specifically 328 ?
    I burned the sketch and status light flickers but IR LED stays constant ON, its not flashing like I see on UNO.

    1. Referring to the TVBGone article/code, and my comment here (

      My Pro Mini's all use ATmega328 mcu's. Is your 168-based device running at 16Mhz and 5V? If so, I don't see why it wouldn't work. In other words, it should work. My compiled sketch (ie: Ken Shirriff's Arduino version, with some of my own slight modifications), when compiled in the Arduino 1.5.6-r2 IDE, only takes up 13262 bytes of Program space (plus it requires 0.5kb for the Optiboot bootloader), and the global variables only take up 214 bytes of SRAM. An ATmega168 microcontroller has enough room, with 16kB program space and 1kB SRAM.

    2. thanks for reply.
      I know you already optimized the code, thats why it fits very well on a 16KB chip version, but don't know why the output is not as desired, code seems working as PIN 13 based light blinks showing the sequence running but IR LED remains lit all the time.

      Another thing I noticed is that the code is looping cause it restarts every time without the need to trigger the PIN 2.

      Any further guidance would be greatly appreciated.

    3. 1) How are you verifying IR LED is remaining lit all the time? Did you put a regular LED on that pin so you could see it?

      2) I don't recall having problems with the code looping automatically either.

      3) can you verify your Arduino is running at 16Mhz?

      4) can you upload a schematic somewhere for me to see please? I'd like to see which parts you are using and how you have it wired up. It is *possible* that the looping is caused by pulling too much power, or shorting the device, causing it to brown-out and reset--or something weird like that.

      5) -can you verify which bootloader you last uploaded to it? I recommend the optiboot bootloader. If it's a 16Mhz board just upload the Uno's bootloader, as is uses the optiboot bootloader.

      6) Lastly, here's the exact code I'm using, so give it a try too.

  5. update:
    Finally my TV-B-Gone working fine on ATmega 168 (pro mini)
    Tried it on home TVs and I couldn't stop my loud laugh at 4 A.M.

    I was just posting the update when I saw your reply a moment back.

    The problem I was having was due to direct connect of IR to PIN3, once I put the transistor in place
    its working like a charm, I am using 2N3904 x 5

    details are at :

    Thanks a lot Gabriel for your help and reply.

    1. Glad you got it working! That makes sense. You must have been browning out the device, causing it to continually reset. Next time I work on a TVBGone it will be with a 3W IR LED. I'd like more range, for sports-bar use from across the room. :).

  6. Hi Gabriel,
    This regards your very helpful post:

    I'm considering purchasing the Thunder AC680 charger, but was puzzled by one thing: it appears to me that it's impossible to *simultaneously* do PC data-logging and temperature monitoring, since both functions make use of the same (3-pin) connector. Is my understanding correct? If so, why is the software advertised as allowing for "graphing of temperature curves"?

    Are you aware of any low-cost chargers/conditioners which allow for simultaneous data-logging of voltage, current and temperature? In your opinion, would this be a useful feature, or not so important?

    Thanks for your insights, and my compliments on an excellent website!


    1. Dave, I've replied to your comment under the charger article here.

  7. Dear Sir,

    I am new to Arduino. I have Arduino Due and trying to use your 0.5uSec library.
    Could you give some insight how to integrate your library to IDE ?
    Here what I done.
    1) copy and paste the entire folder content into IDE installation folder/Libray/mynewfolder.
    I can not find file "Timer2_Counter.ino" you mentioned in your blog.
    i tried to open another example from downloaded file.
    Its not compiling completely.

    I request you to help me to fix this problem.

    1. The Due uses a totally different architecture, and already has 1us resolution when you call the Arduino built-in function "micros()", so just use micros() instead--it's good enough. Getting better resolution on the Due would take me a lot of time and I just don't have time for that unless I need it for one of my own projects.

  8. Hi Gabriel
    Going to use the .5 micro timer on rc a/c Rx output to enhance my planes aux channels using a 3 position switch on Spektrum dx8g2.

    But I don't quite understand the serial output screen and hope for your help.

    There are three things
    1. PulseTime (us). This is the true length of pulse in microsecond?
    2. Pd_us(us) The time in between pulses ( the low)?
    3. Hertz The freq of the event in this sec. ie .5 us per sec = 2 megahertz

    I understand rx Rx is approx 900-1400 us low
    1500 us neut.
    1600-2000 us high.
    So pin 12 analyzed pulse and gave readout, now what to do?
    (a) use pin 12 as analog input But I need to tell arduino if high/low/ neutral. How does promini handle it?
    (B) use pulseTime is program to be the deciding factor and add new pin output and a couple of ,if, statements to decide on the level of the pulse (in us,time)
    (C) Some other method I don't see or that you might brief me (others) on.

    Wow what a lot!
    I thank you Gabriel in advance for any snipit of info you could pass my way .
    Thanks Doug

    1. 1. Pulse Time (us) is the true length of the pulse, yes, in microseconds. This is the HIGH pulse time.
      2. Pd_us is the microsecond *period* of the pulses. The period = HIGH time + LOW time for one cycle. So, if the period is 20000us = 20ms = 0.02 sec, and the Pulse Time is 1000us = 1ms = 0.001 sec, then the LOW time = period - HIGH = 20ms - 1ms = 19ms = 19000us.
      3. Freq (Hz) = frequency of the incoming pulses. Freq = 1/pd, where pd is in seconds. So, for a period of 20ms, the freq = 1/20ms = 1/.02sec = 50Hz.

      Your question about how to use the readout...I don't fully understand what you don't understand. If your 3-position switch is configured to output 1000us low, 1500 mid, ad 2000us high (or similar), then simply do something like the following:

      if (pulseTime<1300)
      //For pulse times <1300us (low switch position) do something here:
      else if (pulseTime<1700)
      //For pulse times from 1300us to 1699us, inclusive (middle switch position), do this:
      else if (pulseTime>=1700)
      //For pulse times >=1700us, (high switch position), do this:

  9. I searched for XP but didn't see it (other than "eXPert" and "eXPlain"). Is this compatible with the AOS (Ancient Operating System) known as Windows XP? I'm an author and still running XP because my preferred writing platform is a 16-yer-old Dell laptop that is much happier with XP.

    My author page:

  10. @John Carter, I haven't tested it on XP but I suspect it *would* work. If you buy one and it doesn't work, I'll make sure you get a full refund. Just email me directly or send it back through the Amazon returns process.

  11. Hello,

    What would be your current recommendation for a lipo charger and multiple charging? I use several 4s size battery packs for my boats and I'm needing to find a way to maintain these batteries and keep them charger up.




Thanks for your comment or question! If it is a question, I will try to get back to you quickly. Notice to spammers: I personally remove all spam promptly and report spammers to Google, so please don't do it.

Note: some HTML tags are allowed in your comments. To learn how to add bold (<b>...</b>), italics (<i>...</i>), or hyperlinks (<a href="URL">NAME</a>) to your comments, read here.

~Sincerely, Gabriel Staples.

P.S. Yo hablo español también. Je parle français aussi. (I speak Spanish & French too).