This is my unboxing, review and hacking guide for the Flysky FS-i6 2. I started this project thinking I could easily use the 4-in-1 DIY transmitter module in the radio, but this turned out to not be the case.
Devs, help me out here! The FlySky i6 is the ultimate beginner radio. We can make it even better by adding a DIY 4-in-1 module and re-painting it to look awesome. The backlight is soldered in place, but we can see the other side of the PCB by pulling it up gently. I have dumped the version of the firmware shipped with my controller here. Use xxd -r [filename] to restore it to a flash-able bin :. Restore it as described here in my J-Link article.
When I started this project, I hoped to install this DIY transmitter module which allows you to use the radio with basically any other protocol including FrSky and Spektrum. However, to do this I also wanted to disable the internal module, which turned out to be very difficult.
Even after isolating the internal radio module from the power line, the module was still getting power from some other pins. I then tried removing the build-in wireless module entirely, but that didn't work either. Now that the module is out, my radio refuses to boot. So, this project is on hold while I write some custom firmware for the radio. While you may be able to get it to work, the range could be greatly reduced because of interference from the internal module.
I'll be using this DIY transmitter module which allows you to use the radio with basically any other protocol including FrSky and Spektrum. Start by drilling a small hole for the knob. I held the module in place and used a sharp screwdriver to mark the case with a scratch.
I then did the same thing on the second hole then test fit the module. I removed the antenna holder temporarily. Re-routed the antenna into the handle by cutting a v shape in the little tabs. I used wire clippers for this.Spaghetti copypasta code that makes a Mac understand i-bus data coming from a Flysky receiver through serial as joystick input. This project uses an Arduino Micro to decode and emulate a joystick device for use with quadcopter simulators.
Add a description, image, and links to the flysky-ibus topic page so that developers can more easily learn about it. Curate this topic. To associate your repository with the flysky-ibus topic, visit your repo's landing page and select "manage topics. Learn more. We use optional third-party analytics cookies to understand how you use GitHub.
You can always update your selection by clicking Cookie Preferences at the bottom of the page.
For more information, see our Privacy Statement. We use essential cookies to perform essential website functions, e. We use analytics cookies to understand how you use our websites so we can make them better, e. Skip to content. Here are 4 public repositories matching this topic Language: All Filter by language.
It only takes a minute to sign up. I'm just starting out so I want to get the hang of using the pulseIn function before moving onto interrupts. My problem is that, when I wire everything up, I don't get sensible values. Furthermore, they don't change even though I move around the sticks on the actual remote.
I tried to start off simple by wiring just the channel 1 of the receiver to pin 3 of the Uno. Then I used this code:. I'll copy a few lines here:.
As you can see: not only are the higher-end values a whole order of magnitude too big i thought pulses are normally between - us? Also, the sticks on my remote seem to have no influence on the numbers.Arduino with fly sky transmission crawler Robot - Advancement of smart car for long range -
I would not recommend using pulseIn for reading values from the receiver. You get an interrupt when the signal goes high and low.
You take note of the time that each change occurs with millis and compare the times to get the duration of the signal. Here's an example - you can add more channels if you'd like. Note, this is using the EnableInterrupt library. Sign up to join this community.
The best answers are voted up and rise to the top. Asked 4 years, 5 months ago. Active 1 year, 11 months ago. Viewed times. I'll copy a few lines here: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: 0 Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: 0 Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: Channel 1: 13 As you can see: not only are the higher-end values a whole order of magnitude too big i thought pulses are normally between - us?
Can someone please help me? Hassan M Hassan M 71 3 3 bronze badges. The code looks good - at least it looks just like the code given in the docs for PulseIn. What numbers do you get if you disconnect the receiver and tie the pin to ground or VCC? What happens if you increase the delay from ms up to something like 5 seconds? Have you checked the RX is paired to the TX, and the correct mode is selected?
Subscribe to RSS
Might be worth using it in an RC model to check it works as expected. What are the shape of the pulses? Your displays themselves at baud are likely to take around 21 ms, which could be throwing out your interpretation of the data. I'm voting to close this question because it has been abandoned for months with none of the requested detail to make it answerable ever being provided and the poster has not even returned to this site since the day the question was asked.
Active Oldest Votes. RyanB RyanB 1 1 bronze badge. Hi, thank you for your answer Ryan. However, I do still need to know what went wrong with the pulseIn function as I would like to get that working first before moving onto interrupts.
Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It only takes a minute to sign up. After searching, I found the below link which is iBUStelemetry. I am not able to make out how to get the data from this library and print it on the serial monitor. I have hooked up receiver ground and power pins to ground and power pins of Arduino.
Signal from the receiver is connected to D2. The author has included an example, but I am not much clear how data is read and printed on the serial monitor. Sign up to join this community. The best answers are voted up and rise to the top. Asked 1 year, 9 months ago.
Active 12 months ago. Viewed times. Can someone please help by telling how do I read data from receiver using this library? CharlieHanson 1, 8 8 silver badges 25 25 bronze badges. Praveen Praveen 1 1 1 bronze badge. Active Oldest Votes. If I understand correctly, the code should look like this. Sergey Kuntsevich Sergey Kuntsevich 33 4 4 bronze badges.
Thanks for your reply. The output should be value of each individual channels from the RC remote. This does not give any active results. Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password. Post as a guest Name. Email Required, but never shown. The Overflow Blog. Podcast Ben answers his first question on Stack Overflow. The Overflow Bugs vs. Featured on Meta.Ever wanted to have wireless simulator dongle?
Unfortunately there are no such dongle to buy anywhere. But you can easily do it by yourself! Actually almost any Arduino board with Atmega32u4 should work.
Including Arduino Leonardo. You can choose the cheap and small receiver from Flysky receivers list and from Frsky receivers list. Leonardo, ProMicro. I had a problem with my computer 64bit Windows 8 and Windows 10 not detecting arduino as HID Joystick, so I have modyfied the source to make the dongle work.
Make sure these are installed properly before compiling, otherwise it will instantly fail. You can also wrap the dongle into heat shrink to make it safe from accidental shorting of the electronics. First time you connect the Arduino Pro Micro board Arduino leonardo it will show up as device without drivers:. Project uploaded. If you click the Properties, you should see the Axes and Bars moving whil moving the sticks on your TX. Note: The first time you power on the dongle it will enter into auto calibration mode.
The both leds will be lit on. After all the 6 channels were calibrated, the data will be stored on the Arduino EEPROM memory and dongle will start into working state. Therefore it should work in other simulators that support USB Joystic. In each Simulator you have to set the controller to Arduino Leonardo device. On DRL Simulator you have to select new controller. And then follow the calibration and setup wizzard.
You may need to invert some of the RC channels. In Velocidrone Simulator you have to selecto Controller tab. Velocidrone will autodetect the Arduino Leoinardo as RC controller automatically.
You may need to invert some of the channels on my setup I had to invert Throttle and Yaw channels. Have you done the initial calibration? Once you power it for the first time it will enter into the calibration mode with both leds on.
Same here, both red lights are always on. I tried to move both the joystick 45 degree when powering and move all axis and push all button with no luck. Both LEDs on means you are stuck in the initial calibration stage. What receiver are you using? Does it output PPM signal?
He is using the original eachine e remote, so I think it could be done. Thank you for your reply, it means a lot, cheers.
Also hardware is different. I found the pin 4 on the PPM section. Maybe the Irangex tiny receiver doesnt detect my original eachine e Will keep explore the code for more answer.Hey there folks, Today i am going to show you guys how to use RC controllers and decode their signals for any of your projects As many of the you know that we can directly use servo motors with RC receivers since, servos use PPM Pulse Position Modulation signals as inputs to operate ,so by decoding the signals we can use RC receivers and transmitters to create a variety of wireless projects.
So to demonstrate this we shall use a 4 wheel drive 4WD robot. So lets get started!!!!!
PWM is a technique used to relay data in the form of a varying pulse width. You may be already familiar with binary, 1's and 0's; where a 1 is represented as 'on' and a 0 as 'off'. An example of this would be a light switch. Turning the switch on would indicate a 1, off a 0. The way we relay data to a servo for instance is the time the pulse is on. A servo or ESC will monitor this pulse and begin counting when the pulse is detected and stop counting when the pulse stops.
The time the pulse is on will determine the servo position. For example, sending a servo a 1ms pulse will make the servo swing completely left while a 2ms pulse will swing the arm completely right. The entire pulse is called a frame. A complete frame will include both the time the pulse is high ms and the time the pulse is low. The image below represents a typical PWM frame. Aside from the gaining servo holding power, the reason for the 20ms frame is just having the ability to line up several PWM signals in the same frame.
Like I said before, the time the pulse is on is what is important because we are able to strip out this relevant data from a PPM frame to re-generate a PWM frame. For example, if a radio only sent 1 PWM signal at a time, it would take 20ms per channel. If you have an 8 channel radio each update would take ms.
The same data can be packed into a PPM frame and only take 20ms per update. Participated in the Arduino All The Things! Question 3 months ago.
I don't know why but I always get the value aroundI think I should it get around but I don't know why but I always get it as when the switch is in on position and off. Question 1 year ago. Actually how is the connections of the motors made to the motor driver?
If possible, share an image regarding the connections. Answer 8 months ago.Add the following snippet to your HTML:. So I modified the prototype. Project in progress by yvesmorele. In a previous project, I describe a low cost GPS data logger for rc aircraft, but without telemetry.
The telemetry is very important in aeromodelling for controlling battery level, altitude and more. This project describes a very low cost data logger for rc aircraft with real telemetry on the transmitter for put in in a radio controlled plane. More, the power for arduino be made by the receiver of the plane to have less weight on the plane and with a small size. I made this choice so as to have the smallest components possible I did not choose the arduino micro for lack of memory and with the least weight.
The wiring must be done with the minimum length of wire and without the connectors on the electronic cards so as to lighten the final assembly to the maximum. Please log in or sign up to comment. In a previous project I described how to build a GPS data logger. Project tutorial by yvesmorele. This project describes how to build a GPS data logger at a lower cost. Simple data logger that stores electrical data voltage, current, power, energy, etc.
Project in progress by Javi D'Ambra. Project tutorial by Wimpie van den Berg. A low-cost off-road 6WD autonomous robot using Arduino! This self driving car drove for over 2 miles on a bike trail on its own! Project showcase by Guadalupe Bernal. Sign In. My dashboard Add project. Project in progress. So I modified the prototype arduino data logger flysky gps data logger low cost telemetry neo 6m rc aircraft turnigy views 0 comments 1 respect.
Author yvesmorele 4 projects 13 followers Follow. Respect project. Similar projects you might like.