Skip to content
View ElectricRCAircraftGuy's full-sized avatar
Block or Report

Block or report ElectricRCAircraftGuy

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse


Hi, I'm Gabriel Staples 👋 profile for Gabriel Staples on Stack Exchange, a network of free, community-driven Q&A sites

Working hard to make the internet more complete.
>> Become a sponsor on GitHub! <<

I'm originally an Idaho country guy who grew up primarily in a small farming town, on a little farm, near Boise, ID. Where I grew up, town sizes are measured in the quantity of stop lights we have. Some towns are so small they have zero. My town was a 3 stop light town. Today, it has more. Before that we were in just a 1-blinking-light town. I grew up jumping off cliffs, bridges, and railroad trestles and doing flips off of rope swings into rivers, canals, and reservoirs. For work, I shoveled poo and cleaned cow stalls, dug ditches with a pick, chopped wood, bucked hay, fed cows, irrigated fields with siphon tubes, weeded gardens, and mowed grass.

Now, I live in the San Francisco Bay area and work in San Francisco.

(click to expand and learn more)

I'm trying to balance my life somehow as a husband, father, active Christian, and multi-faceted engineer. When I'm not busy trying to figure out how to better learn my job as a senior embedded software engineer, I'm trying to spend time with my two kids and wife, figure out how to make a Jekyll-based website so I can write about my thoughts, and spend some time flying my radio-controlled airplanes or building or creating something.

I also programmed this gadget and sell it on Amazon, and trying to do the business side of things and handle customer support takes a lot of my spare time.

I am big into RC aircraft and embedded programming. Very fun stuff. I love airplanes and all things that fly! I love building control systems to make autonomous vehicles autonomous. I'm an aeronautical engineer by trade, but I also do a lot with electronics, electrical engineering, and computer science/programming (including a lot with C/C++ in Arduino and some lower-level AVR code). That's how I got my job I have today. Here's my website, with some articles on the aforementioned topics, showing a tiny subset of my work: More recently, I created to have an avenue to write about anything.

I strive to be a polyglot. I have studied both foreign languages and programming languages many thousands of hours.

I speak English. (Hablo inglés.) (Je parle anglais.) (أنا أتكام الإنجليزية.)
Hablo español. (I speak Spanish.) (Je parle espagnol.) (أنا أتكلم الاِسبانية.)
Je parle un peu de français. (I speak some French.) (Hablo algo de francés.) (أنا أتكلم بعض الفرنسية.)
Eu falo muito pouco de português. (I speak very little Portuguese.)
انا اتكلم العربية قليلاً جداً. (I speak Arabic very little.) (Hablo muy poco de árabe.) (Je parle un petit peu l'arabe.)

I love learning about foreign people, eating foreign foods, and speaking foreign languages. I have put many thousands of hours into foreign language study--just as I have done for aeronautical engineering, electrical engineering, programming, electronics, and controls. I speak Spanish really well and have even helped translate official medical training documents. French is my next best, and is my current area of study. Next comes Portuguese, which I have the least formal training in, but speak next best because it's like a blend of Spanish and French. Lastly, comes Arabic. Although I technically have a minor in it, I'm not conversational in the slightest. Nevertheless, I can read and write it, and I know the alphabet. I have put a great deal of effort into proper pronunciation so I can read and write and make all the sounds.

Here's one of my favorite projects I've ever done! (Autonomous quadcopter flight controller I wrote myself)

Quadcopter Physics-based Flight controller demo w/lead point navigation & Arduino interface to RC Tx.

See some of the code from an Arduino to the back of an RC Tx (required to duplicate this project yourself) here:

Flight Controller Videos:

  1. 1/3 - Autonomous quadcopter guidance and control (physics-based pure pursuit simulation)
  2. 2/3 - Autonomous quadcopter guidance and control (PID-based pure pursuit demonstration)
  3. 3/3 - Autonomous quadcopter guidance & control (physics-based pure pursuit demonstration) <=== my favorite video

You can find me at many places online:

(click to hide)
  1. My Websites (listed newest first):
    1. - my newest and current, anything-I-want Jekyll-based website. Topics I write about here include engineering and programming of course, but I want this to literally be a place I can write about anything, so it will also cover some of my thoughts and knowledge on finances and life skills, such as general computer skills, refinancing a house, calculating loan costs, and fixing my bike or phone. It is also where I can write about politics and religion. This is a website that is truly my own. Being a Jekyll site, this also allows me to write in markdown (same as this readme itself), which makes writing less burdensome.
    2. - my slightly-older, general-purpose engineering and programming website.
      Examples of some of my more-popular articles (click to expand):
      1. Restoring/Recharging Over-discharged LiPo (Lithium Polymer) Batteries!
      2. Parallel Charging Your LiPo Batteries
      3. The Power of Arduino
      4. Propeller Static & Dynamic Thrust Calculation - Part 1 of 2
      5. Arduino Power, Current, and Voltage Limitations
      6. Using the Arduino Uno’s built-in 10-bit to 16+-bit ADC (Analog to Digital Converter)
      7. Arduino micros() function with 0.5us precision - using my Timer2_Counter Library
    3. - my oldest website, with various useful articles which are still found here and only here. See the navigation links in the top-left corner for more articles. Examples:
  2. Forums & Community Sites (these are just a few):
    1. - see my contributions to Wikipedia here.
    2. - see my contributions to the C and C++ reference documentation here.
    3. - download some things I've made here. Note: Gumroad is intended to be a place you can BUY (pay $$ for) things. So, I have some downloads for sale here, though most are no cost ($0.00) but allow an optional payment or "donation" to support my work if you so choose.
    4. - see my Instructables articles here.
    5. - see my FliteTest articles here.
  3. LinkedIn - follow me on LinkedIn!
    • Please DO follow me on LinkedIn! Please don't try to add me as a connection unless I can vouch for your skills.
  4. All of my "Stack Exchange" Sites (incl. Stack Overflow)
    (click to expand)
    1. Stack Overflow
    2. Ask Ubuntu
    3. Arduino
    4. Super User
    5. Electrical Engineering
    6. Unit & Linux
    7. etc.
  5. GitHub
  6. YouTube--@eRCaGuy (ElectricRCAircraftGuy) Channel. Examples:
  7. Instagram--@ercaguy
  8. Twitter:
    1. Twitter (Hobby)--@eRCaGuy
    2. Twitter (Personal)--@GabrielStaples3

Pinned Loading

  1. eRCaGuy_dotfiles eRCaGuy_dotfiles Public

    .bashrc file, terminal prompt that shows current git branch, Arduino setup, Eclipse setup, git diff with line numbers, helpful scripts, improved Linux productivity, etc.

    Shell 202 59

  2. eRCaGuy_hello_world eRCaGuy_hello_world Public

    "hello world" demos & templates for various languages, for beginners and experts alike, incl. gcc build commands for C & C++

    C 111 127

  3. eRCaGuy_PPM_Writer eRCaGuy_PPM_Writer Public

    An >=11-bit, jitter-free (hardware-based) RC radio PPM signal generator for the Arduino!

    C++ 7 4

  4. eRCaGuy_PyTime eRCaGuy_PyTime Public

    A simple milli & microsecond-resolution timestamp & loop-synchronization module for Python

    Python 20 5

  5. PDF2SearchablePDF PDF2SearchablePDF Public

    `pdf2searchablepdf input.pdf` = voila! "input_searchable.pdf" is created & now has searchable text!

    Shell 127 14

  6. eRCaGuy_PyTerm eRCaGuy_PyTerm Public

    A datalogging serial terminal/console written in Python (I hope to extend it to Telnet and others later)

    Python 15 2