Thank you very much for the very helpful explanation and example Micropython code. A relevant discovery I wanted to share; while cutting the signal does not stop the receiver from transmitting signals for each channel, one can engage a failsafe mode for each channel from the transmitter, with a custom level. That way, if the signal between the transmitter and the receiver is lost, the signal for that channel will revert to the failsafe level set, and not to the last signal received. To adjust the failsafe for the FS-IA6B receiver using the FS-16X transmitter, one navigates to System->RX Setup->Failsafe. Select the channel and adjust the failsafe value by manipulating the relevant channel on the control. Then, when the list of channels is displayed again, long hold the Cancel button to save the setting. For the dials (channel 5 and channel 6), the setting should be -100% on the transmitter to failsafe to 0 as the signal for the Pi Pico if one is using the very helpful example ibus code provided by Penguin Tutor (Stewart Watkiss).
@PenguinTutor2 жыл бұрын
I'm glad you found it useful. Thanks for the additional information, that's a great help.
@jerredshifflett62872 жыл бұрын
I really enjoy the work you put into your projects. I would love to see you expand this example to work with all 10 channels of the FlySky FS-iA10B. Maybe even in such a way the all of your FlySky FS-iA6B viewers could reconfigure their controllers to include one or more of the toggle switches and then make use of the FlySky FS-iA10B example. Keep up the great work and informative videos.
@PenguinTutor2 жыл бұрын
Thanks. I'm going to look at putting this into an actual project next, but I may be able to look at further development in future. Unfortunately the datasheet / instruction manuals are a bit limited so some of this is through trying it out and seeing how it works.
@CucamongaGuy2 жыл бұрын
just what I needed! Excellent explanation my man
@davidfelcan11872 жыл бұрын
Nice work! I recently got sbus to work on my Raspberry Pi 3. The main challenge with SBUS is that it is a 100000 baud rate protocol, which is not something the standard UART supports on the Raspberry Pi. But I was able to get it to work using a plain GPIO pin and getting the timing of the edge transitions from pigpio. Because the Rasperry Pi 3 is not a microcontroller, sometimes I lose a packet I think due to context switching. But around 75-80% of the packets are good (checked with parity and UART frame bits). I haven't stress tested it yet, that performance might degrade under load. However, the transmitter is transmitting a packet every 10ms or so, so a dropped packet just increases the lag to 20ms, which is plenty acceptable. SBUS has 18 channels, which is nice, though probably overkill in most situations, and most transmitters transmit RSSI (radio strength) on channel 16. Anyway, I am thinking of posting a video and releasing the code. I haven't done that before so that might take a bit and I really need to clean up the code and make it ready for others. If/when I do so I'll edit this comment and add a link.
@PenguinTutor2 жыл бұрын
That sounds like it would be really useful. It is possible to use pwm inputs to a Raspberry Pi but I've not seen an implementation of sbus yet.
@davidfelcan11872 жыл бұрын
@@PenguinTutor FWIW, I have completed this project. Here is a You Tube link (which has a link to the github with the code) - kzfaq.info/get/bejne/pr11a6-pyKzVaY0.html. I am considering adding a separate video with a code walkthrough like you have done. Thank you for posting your video, makes me feel like there are people out there who are interested in doing this sort of thing.
@doganbenli96813 ай бұрын
You save my day! Thanks and God bless you.
@whitneydesignlabs8738 Жыл бұрын
Thanks! Works like a champ. I was really hoping to find a Python port of iBus for my Flysky.
@tytrvd4 ай бұрын
Amazing work !
@Videogame9559 Жыл бұрын
What's follow up video with servos working control the servo with flysky nice to see in working not just date
@endercn68712 жыл бұрын
Thank you
@jackyli67162 жыл бұрын
That's great!
@feelfree.1 Жыл бұрын
Interesting Video! Do you also know how to do this with a ELRS-receiver (like Radiomaster RP1), which uses the Crossfire protocol (crsf) over uart? So far, I have not yet found the library for the crsf protocol in micropython.
@PenguinTutor Жыл бұрын
I've not come across that before. It sounds interesting. Unfortunately I don't have time to look into that at the moment but it may be something I could look at in future.
@TBV1215 ай бұрын
I get "ImportError: no module named". Any idea what cases this?
@PenguinTutor5 ай бұрын
You normally get that if you don't upload the module first. Did it tell you it was ibus that it couldn't find? Did you transfer the ibus.py file to the Pico as explained at 0:11:08 ?
@dr._pie37452 ай бұрын
That happens because the code is calling upon a separate file, which in your case isn't there. Add the file he sent under your comment and it should work
@gkhnglmz12 жыл бұрын
Great video! Thank you. Can we run it on Raspberry Pi 3B+?
@PenguinTutor2 жыл бұрын
This video is based around a Pico. I expect it is possible to do the same using python-ibus on a Raspberry Pi. This is likely to be better than trying to use PWM on a Raspberry Pi.