Building a DSM2 R/C Transmitter with Arduino

Ғылым және технология

Ad: Thanks to @Huel #Huel for sponsoring this video jlinks.io/jamesbruton
I’ve built quite a lot of remote controls for projects in the past, and this is because I want to have custom controls for whatever I build.
There are mostly quite a few joysticks and buttons on them for various functions of the machine I want to control. It’s been really useful to send a custom data set for all the controls, but I’ve still not found a radio device that’s super reliable.
I started using Bluetooth devices like the HC-05 modules, but I found that these sometimes randomly disconnected. Since then I’ve been using the NRF24L01 modules which is what’s in my openDog remotes. These are ok but range is limited and sometimes they drop data. There is a long range version of these which I used when I worked with Mark Rober on his Autostrike Bowling Ball project. I found that we could get the radio to reach the length of a 60ft bowling alley, but it worked best with one long range version as the receiver, and a standard module for transmitting. That was pretty random though and I ended up swapping a few modules out before it worked.
I also built a WiFi remote with a Raspberry Pi in it to control ROS based robots. That involves either having some sort of WiFi base unit nearby for both the remote and robot to connect to, or making an ad-hoc network between the two. Then we’re also at the mercy of an TCP or UDP connection.
I can’t find any other specific modules that would work reliably with an Arduino so I can build a custom remote or that I can shove arbitrary into. Having a reliable low-latency connection is really important.
But when was the last time you heard that someone crashed their drone because the remote disconnected? Hardly every or never right!? Surely there’s a reliable radio solution here.
CAD and Code: github.com/XRobots/RemoteDSM
hobbyking.com/en_us/orangerx-...
hobbyking.com/en_us/r617xl-ds...
hobbyking.com/en_us/orangerx-...
hobbyking.com/en_us/orangerx-...
github.com/bmellink/IBusBM
You can support me on Patreon, join my Discord, or buy my Merchandise:
***************************
Discord: / discord
Patreon: / xrobots
Merchandise: teespring.com/stores/james-br...
***************************
Other socials:
***************************
Instagram: / xrobotsuk
Twitter: / xrobotsuk
Facebook: / xrobotsuk
***************************
Affiliate links - I will get some money of you use them to sign up or buy something:
***************************
10% off at www.3dfuel.com/ - use code XROBOTS at the cart screen.
Music for your KZread videos: share.epidemicsound.com/xrobots
***************************
CAD and Code for my projects: github.com/XRobots
Huge thanks to my Patrons, without whom my standard of living would drastically decline. Like, inside out-Farm Foods bag decline. Plus a very special shoutout to Lulzbot, Inc who keep me in LulzBot 3D printers and support me via Patreon.
HARDWARE/SOFTWARE
Below you can also find a lot of the typical tools, equipment and supplies used in my projects:
Filament from: www.3dfuel.com/
Lulzbot 3D Printers: bit.ly/2Sj6nil
Bearings from: simplybearings.co.uk/
Lincoln Electric Welder: bit.ly/2Rqhqos
CNC Router: bit.ly/2QdsNjt
Ryobi Tools: bit.ly/2RhArcD
Axminster Micro Lathe: bit.ly/2Sj6eeN
3D Printer Filament: bit.ly/2PdcdUu
Soldering Iron: bit.ly/2DrNWDR
Vectric CNC Software: bit.ly/2zxpZqv

Пікірлер: 362

  • @jamesbruton
    @jamesbruton Жыл бұрын

    Join my DISCORD! discord.gg/fc6MedG7eW INSTAGRAM: instagram.com/xrobotsuk TWITTER: twitter.com/xrobotsuk MASTODON: fosstodon.org/@XRobotsUK

  • @travisash8180

    @travisash8180

    Жыл бұрын

    Aren't you a bit too old to use the word super ?

  • @WowCoolHorse

    @WowCoolHorse

    Жыл бұрын

    this is a super cool project!

  • @rhadiem

    @rhadiem

    Жыл бұрын

    James, please create a USB Joystick (like a T1600m) to RC-link setup, that would be a lot of fun to drive a robot around the house from your gaming PC. Or a racing wheel setup!

  • @texasfossilguy

    @texasfossilguy

    Жыл бұрын

    why not use cheap cell phones and send data via telephony like an old modem would? Then your range would be essentially unlimited so long as it had a basic phone signal and some code to transmit and receive confirmations like a checksum would? Cheap cell phones would probably work like this instead of using radio, plus your frequency would be higher so your compressability should be higher, including video streams potentially?

  • @MuertoChango

    @MuertoChango

    Жыл бұрын

    @@texasfossilguy LoRa is best

  • @Lozoot2
    @Lozoot2 Жыл бұрын

    In the world of drones and RC, DSM/DSM2 is practically ancient these days! ExpressLRS is more or less the modern "budget" standard - and radios that support it can be had for very cheap. Building your own radio is cool in itself, but I feel like it's being held back from its full potential by the tech inside it.

  • @trylleklovn

    @trylleklovn

    Жыл бұрын

    Also I think any RC plane/drone pilot will agree that DSM/DSM2 isn't exactly great for range and interference stability - I know I've almost lost models previously due to lost signal - but I guess if you're coming from bluetooth anything is hundreds of times more stable - and I guess a driving robot rarely goes as far as a model airplane.

  • @Matty.Hill_87

    @Matty.Hill_87

    Жыл бұрын

    I remember the days of having transmitter/receiver crystals to change the radio frequency.. Simpler times 😂😂

  • @JClemente1980

    @JClemente1980

    Жыл бұрын

    @@Matty.Hill_87 still have many of those... far simpler and no interference as today everyone is on wifi :P

  • @StarLiteNL

    @StarLiteNL

    Жыл бұрын

    I agree, DSM2 has a really bad name in the R/C industry for having lots of failsafe and brownout issues. DSMX is a lot better in that regard. ELRS will still have way better range, features, reliability and hackability (it's an open source project, DSM is very propietary) tho

  • @WKfpv

    @WKfpv

    Жыл бұрын

    Yeah elrs is where it's at

  • @DariusAlexanderMusic
    @DariusAlexanderMusic Жыл бұрын

    James, an idea for encoding your switches/buttons/binary. Use the bits! ie you can think of an int32 number as 32 binary numbers (referenced by their index). It's pretty simple maths to encode and decode and you can use 1 channel for all the buttons you could ever want :)

  • @MrJimmySegers

    @MrJimmySegers

    Жыл бұрын

    yeah, was thinking the same, using a bitwise operator to see the value of every bit in the number.

  • @techspertrichard1198

    @techspertrichard1198

    Жыл бұрын

    @@MrJimmySegers We used to call it bit twiddling 🙂 Just make sure you thoroughly document what each bit controls in its two states.

  • @Mike-oz4cv

    @Mike-oz4cv

    Жыл бұрын

    Isn’t he still using PPM on the input side? I don’t think he’ll get 32bit accuracy there.

  • @TheStuartstardust

    @TheStuartstardust

    Жыл бұрын

    @@Mike-oz4cv yes - i also think it is too much, but 4-8 bits should be possible. Perhaps 6 bits with 2 for crc

  • @jeremysargent5037

    @jeremysargent5037

    Жыл бұрын

    @@Mike-oz4cv PPM channels are analogue as the value for each channel depends on the width which represents an analogue value. The PPM is then being fed through a DSM/DSM2/DSMX modulator which is digital. so I'm pretty sure that PPM can represent as many bits as you would want but the limitation would be the modulator.

  • @ShinyVideoStuff
    @ShinyVideoStuff Жыл бұрын

    +1 for eLRS support. You may also want to check the 3dconnexion 6D Spacemouse serial module, to allow you to map everything onto 2 joysticks.

  • @jamesbruton

    @jamesbruton

    Жыл бұрын

    I've read the stuff on ELRS but I'm pretty happy I have a solution better than the NRFs for now that's off the shelf. Future upgrades though

  • @petrusoroaga6528

    @petrusoroaga6528

    Жыл бұрын

    @@jamesbruton Not sure I can post links here,but if you search your preferred online shop for: "3dr radio modules" or "LORA 433Mhz radio module" (or other frequency band or any radio module with SXnnnn chipsets) you can find a ton of modules. They are just transparent radio UARTs, and you configure the datarate/ec/etc using AT commands. They expose just a RX/TX UART pins or USB to connect to your microcontroller or PC or PI. They usually support up to 56kb air rate, some do support more, but it's enough for remote controlling and sending commands and configuration data and whatever data you want back and forth. All these modules are just plug and play. You just configure the serial speed and the channel using AT commands (most are already set with default values, so 2 identical modules will just

  • @patjackmanesq

    @patjackmanesq

    Жыл бұрын

    Remote controlled Hulkbuster confirmed!

  • @dollarbutt

    @dollarbutt

    Жыл бұрын

    @@jamesbruton have you ever tested the nrf24l01+pa+lna modules?

  • @kevinmcaleer28
    @kevinmcaleer28 Жыл бұрын

    Great video! I love how simple and elegant your solution is. Thanks James

  • @peters9929
    @peters9929 Жыл бұрын

    Every time I watch your videos James I'm in speechless with your technical skills just fantastic

  • @qwertz2761
    @qwertz2761 Жыл бұрын

    Coming from the drone space, I suggest you check out Express LRS. The TX modules are the same form factor as yours (and there are also smaller ones). The RX modules are much smaller. Everything is open source (hardware + software). The range is much better thanks to LoRa (reception works below noise floor, this is dark magic to me). Supports up to 16ch (10 bit) at 333Hz or 10ch (10 bit x4 + 1 bit + 7 bits x5) at 1kHz (though that's using FLRC and not LoRa). Transmitter modules are available up to 2W as of right now. Receivers up to 100mW for telemetry (around 2 cm² of PCB + antenna). And yes, they use basic UART for communication.

  • @iforce2d
    @iforce2d Жыл бұрын

    Reminds me of my early forays into arduino stuff. I actually had more success range-wise with the nRF24 modules than with the (kinda junk) orange RC stuff, although they are quite finicky about antenna and power supply. Your idea for sending different sets of data in alternating packets works well with nRF24, I used that method on my high altitude balloon. Having two radio transmitters right next to each other might not be ideal for range.

  • @prodeous
    @prodeous Жыл бұрын

    Another awesome project, and as always thanks for sharing your work.

  • @bentsprockettech
    @bentsprockettech Жыл бұрын

    Awesome project. I am on a really tight budget and this would be a way to save a few bucks. Thanks for doing that range test as well. Very cool!

  • @felixman9691
    @felixman9691 Жыл бұрын

    This is an awesome project. Thank you much for sharing. I will probably make something like this but with my own cad. I can’t code well yet so this is so cool. Cheers

  • @c42cly
    @c42cly Жыл бұрын

    Wow. Amazing. Great workarounds to get what you want.... Maybe accelerometer that's available to use on some channels, or a second slave remote for use by another person. I love the telemetry and screen idea for the future! You make it look so easy!

  • @madmonkey7183
    @madmonkey7183 Жыл бұрын

    Amazing Video. This has always been one of my biggest questions from watching your videos !

  • @dunc5623
    @dunc5623 Жыл бұрын

    Using an ESP32 you could dedicate a core to reading the incoming values, and another core to run your code.

  • @aculleon2901

    @aculleon2901

    Жыл бұрын

    Edit: The RTM of the esp32 is a better choice than an ordinary ISR. Thanks @michaelmiller5705

  • @a154james

    @a154james

    Жыл бұрын

    How would you do that with an ESP32? I am working on a project and am still trying to figure how to separate receiving data and processing data separately. would be nice to just keep them entirely indpendent.

  • @mattack12

    @mattack12

    Жыл бұрын

    @@a154james in the receiving data callback function just copy the received data in a ring buffer (do nothing else). In the main loop, check for data in the ring buffer, and if there is any, pop it from the ring buffer and process it. After you have done that, process other input in the main loop, like button presses etc. If you want to be safe, use a thread safe ring buffer library.

  • @MakunaRGBIC

    @MakunaRGBIC

    Жыл бұрын

    @@a154james Use the RMT peripheral to read the pulses (doesn't use a core) and then you can read the values encoded for you from the RMT receive buffer.

  • @aculleon2901

    @aculleon2901

    Жыл бұрын

    @@mattack12 This is probably the best way you could do it. I‘ll change my previous comment.

  • @cho4d
    @cho4d Жыл бұрын

    i apprieciate the stable camera position :) also very good project!

  • @Richiegilbert
    @Richiegilbert Жыл бұрын

    Another fantastic video, thanks James!

  • @segue2ant395
    @segue2ant395 Жыл бұрын

    I was musing to myself last night 'I wish I knew how to make my own transmitter, because none of these ones on the market have QUITE the combination I need and they're all really expensive'. Then you go and do this! Cheers James, I'm sure I'll be using this as a reference at some point!

  • @AhmadHossamMahmoud
    @AhmadHossamMahmoud Жыл бұрын

    impressive work mate ... just impressive !

  • @haze022002
    @haze022002 Жыл бұрын

    Very impress on the content of all your video. I just cant imagine how you keep searching a problem to be solve in everyday routine. Yet came with the great solutions and share with others. Thank you for the most priceless contribution that you make. May god bless you with more incredible knowledge and ideas. 🇲🇾

  • @avejst
    @avejst Жыл бұрын

    Great project Thanks for sharing your experiences 🙂

  • @DJlegionuk
    @DJlegionuk Жыл бұрын

    Fantastic idea !!!! A touch pad in the middle would be a good addition . Another one would be a screen with a macro recorder.

  • @CarlPaulsen
    @CarlPaulsen Жыл бұрын

    James, I'd love to see a video covering your design process, for example the controller parts...

  • @RandomGamer1486
    @RandomGamer1486 Жыл бұрын

    I love your videos, they help me with my electronic things that I make. Keep up with the amazing work James.

  • @timlong7289
    @timlong7289 Жыл бұрын

    I'd be tempted to look into the Express LRS project (Express Long Range System or ELRS). Its the current thing in the world of FPV quadcopters. Its all open source and cheap, and the transmitter modules and receivers interface over a UART serial port. It's a modern system that has incredible range and reliability, people are flying model planes more than 40 Km.

  • @makerslife
    @makerslife Жыл бұрын

    Great job James! I definitely vote on adding a touch screen in the center!

  • @googleyoutubechannel8554
    @googleyoutubechannel8554 Жыл бұрын

    Hey James, clever setup interfacing with the DSM2 transmitter directly! I was afraid to try this, so instead I've had good luck creating an even simpler _40_ channel tx/rx. I used 2 bog-standard esp32s + ESPNOW protocol. I went this route as it doesn't require bit bashing, and supports {n} channels, and was easily expandable to basically infinite range using a wifi->LTE dongle.

  • @JohnStenborg
    @JohnStenborg Жыл бұрын

    …always good to see diy builds and love it…thanks…i have about a hundred of dsm receivers…almost everyone in nano sub 20 gram mylar planes…i love em n keep them forever…never lost a signal…short range ones but fly them sometimes outdoors and better than frsky which i gave up a couple of years ago…will transfer all my about eighty big planes and some quads to open source protocol express lrs…sold all jeti and frsky radios and radiomaster tx12, tx16…two radiomaster zorro for everything…

  • @jimmy21584
    @jimmy21584 Жыл бұрын

    Thanks! I just grabbed a few😊. My solution has been to use a wifi router modified with OpenWRT, and UDP. And that is very resistant to large amounts of interference. But I will try playing with these.

  • @nickldominator
    @nickldominator Жыл бұрын

    ESPNow is a surprisingly good, long-range capable w/ built-in optional ACK/retransmission baked in communication protocol. ESPs are also cheap as chips, and code is easy to write for it.

  • @alroma6609
    @alroma6609 Жыл бұрын

    This is just amazing. Love it :D

  • @pnwscitech1589
    @pnwscitech1589 Жыл бұрын

    THANKYOU! I have been wanting to do a project just like this for some time. It's like you read my mind... weird

  • @bradmeekakasilvertopflyer
    @bradmeekakasilvertopflyer Жыл бұрын

    true hobbyist at work here innovating and proving 20 plus channels can be achieved on a DIY build i will be sharing this on my community tab

  • @PyroSAJ
    @PyroSAJ Жыл бұрын

    Without buying any additional hardware, I was planning to just use ESP-NOW from the ESP line. On LR mode you should be able to get 200kbps, which should give plenty for a few signals. You could get 16-bit for 12 channels and a few 1-bit switches in there at 1000Hz. The main appeal was that it could also get info from the robot, as it's effectively two-way.

  • @ChrisB...
    @ChrisB... Жыл бұрын

    I don't really need another TX/RX right now, but I ordered these anyway. Too cheap to pass up! Thanks for the tip!

  • @fab_5356
    @fab_5356 Жыл бұрын

    Cool that you talked about the hovercraft

  • @tjorbim
    @tjorbim Жыл бұрын

    This is brilliant! I'm working on my entirely custom drone build and stuck with exactly that fly sky remote, as I don't see spending more on a remote then on all other parts together. Tried bluetooth as well, but the range is simply not enough. Guess I'll build a similar remote

  • @haaspaas2

    @haaspaas2

    Жыл бұрын

    Have you looked into ExpressLRS? Its open source and cheap.

  • @tjorbim

    @tjorbim

    Жыл бұрын

    @@haaspaas2 not yet, but their page looks promising, thanks!

  • @thirtythreeeyes8624

    @thirtythreeeyes8624

    Жыл бұрын

    @@tjorbim ELRS is the new standard basically it is amazing multiple miles of range on 2.4ghz with the lowest latency of any link and you can build it yourself.

  • @jayzo
    @jayzo Жыл бұрын

    If you want more range, at the cost of having to work out the settings to keep it within the law, the RFD868 radios support a PPM/SBUS uplink and a UART telemetry downlink. They do however use 868MHz instead of 2.4GHz. They boast a range of several kilometers however I think in the UK we're limited by power levels.

  • @ricardoferes9051
    @ricardoferes9051 Жыл бұрын

    When he said "perfectly balanced" during the Huel ad I immediately thought of Spiffing Brit.

  • @antoanyanev
    @antoanyanev Жыл бұрын

    You can use a single channel for all of the switches with the help of a bit mask and some boolean opeations.

  • @elliotpascoe5030
    @elliotpascoe5030 Жыл бұрын

    Not sure if this would be right for your use case, but esp-now is extremely fast and reliable. I use it to control my electric skateboard from a custom remote that I have built (about 2ms for a 4 way trip). You can also turn the esp into long-range mode which allows about 30 m of transmission distance through brick and building, some people have even tested up to a kilometre line of sight. Not only that, you also get a microcontroller which is far superior to arduino, boasting infinitly faster speed, far larger storage and many extremely high speed pins

  • @devinholland5892

    @devinholland5892

    Жыл бұрын

    I was wondering how esp-now would compare. Thanks for the data!

  • @kenwood_9474
    @kenwood_9474 Жыл бұрын

    Ah so cool finally something like ive done at home! You should try out more opentx stuff perhaps! Explore Express LRS maybe and other open hobby radio protocols?

  • @THESocialJusticeWarrior
    @THESocialJusticeWarrior Жыл бұрын

    I have used XBee radios with my controls. They work pretty well.

  • @quintenluyten6382
    @quintenluyten6382 Жыл бұрын

    Have you heard about the HC-12 UART module? The DIY Tech Bros did a great video series about this transmitter-receiver set. It has a lower data rate than the NRF-24, but everything else is better.

  • @planespeaking
    @planespeaking Жыл бұрын

    very impressive

  • @snik2pl
    @snik2pl Жыл бұрын

    For buttons you can do what car dasboards do on CAN. Binary decoding. Sending 00 = all switch off sending FF = all 8switch on and 04 = third swich on. 06 = second and third on

  • @ElDJReturn
    @ElDJReturn Жыл бұрын

    I love your videos and actually kind of got what you were doing on the coding in this one. Beautiful code btw! Also, you always choose really good music too. I'm curious what track you used on the Filament ad section? I'm a DJ always looking for good tracks and while that type of EDM typically isn't what I use I did like how it was brought in. Thanks for sparking my curiosity into coding!

  • @Demoncarlie
    @Demoncarlie Жыл бұрын

    12:26 that's a new catch phrase, "wiggle as I walk" 🤣

  • @joshmellon390
    @joshmellon390 Жыл бұрын

    You should definitely look into ELRS. All of the hardware from all manufacturers works together, it's open source, cheap, and uses WiFi. You can even make your own modules using an ESP8*** (I forget, but it's documented everywhere.) I'd say this is your best bet. Excellent range (miles possible), up to 24 channels, and fully open. It's also bi-dorectional, so you send things back like telemetry.

  • @R2D2internet
    @R2D2internet7 ай бұрын

    You could also read the PPM receiver signal using the Capture peripheral of a MCU in combination with DMA to free up the processor.

  • @hanelyp1

    @hanelyp1

    5 ай бұрын

    The arduino / atmega328 doesn't have DMA. It does have hardware to capture when an input changed, good for reading a PPM signal.

  • @magicalpencil
    @magicalpencil Жыл бұрын

    reliable and DSM rarely gets used in the same sentence, should of gone for ELRS!! I've had over 1.5km out of the cheapest 10mm receiver

  • @jamesbruton

    @jamesbruton

    Жыл бұрын

    Well it's DSM2/DSMX depending on the receiver, it's better than the NRFs though - I'll look at ELRS

  • @beautifulsmall
    @beautifulsmall Жыл бұрын

    Superb work James as always. A pleasure to watch and learn. I'm tempted to suggest going to teensy's and esp32's but pincounts are very low. I didn't know you could do Serial.println(); For years ive been putting "" in the brackets. Seems obvious now.

  • @marccloutier3501
    @marccloutier3501 Жыл бұрын

    This is really inspiring im buying very soon a 3D printer (ender s1 pro) and for sure i will try to design a remote battle bot !

  • @devdev-cs3tq
    @devdev-cs3tq Жыл бұрын

    oh wow this is exactly what I neeed OMG THANK YOU SO MUCH

  • @picsi-software
    @picsi-software Жыл бұрын

    You know you could assign all your switches to bits.. packing all of them into one channel :)

  • @CSAlso2
    @CSAlso2 Жыл бұрын

    Wow you always say a bunch of things that I don't understand but for some reason I find it entertaining. 😄

  • @CDRaff
    @CDRaff Жыл бұрын

    Have you looked at ELRS? It's a fully open source project Radio Link based on the ESP32. DSM really isn't used as much in RC anymore(aside from Horizon Hobby/ Spektrum off shoot companies)because of it's reliability issues and since it's closed source if you run into limitations there really isn't much you can do. With ELRS on the other hand not only is it fully open source, but rolling your own module is really easy and really well documented.

  • @nandingpanelo
    @nandingpanelo Жыл бұрын

    Youre amazing happy new year

  • @C4WebConsulting
    @C4WebConsulting Жыл бұрын

    "Wiggle while you walk... The joystick, don't be dirty!" I think that needs to a be a shirt

  • @Hisa1shi
    @Hisa1shi Жыл бұрын

    For sending multiple switches over a single channel, I suggest using a bitmask.

  • @aL3891_
    @aL3891_ Жыл бұрын

    Mentioned by a lot of others but you should really check out Express LRS! super low latency and really long range (tens of kilometers) serial connections on both ends, and its open source as well, great stuff. you can get better range with better antennas as well

  • @MrgnUTube
    @MrgnUTube Жыл бұрын

    I also implemented a decoder for an Arduino and DSMX, I loved Spektrum and all my drones worked with it but... I was always disapointed by the range of this technology. Now my drones uses CrossFire modules from TBS, and my next bots will probably use it too.

  • @SQuiDFPV
    @SQuiDFPV Жыл бұрын

    ELRS (extreme long range system) open source, cheapest, one of the best links available. 12 channel. the module was 6 bucks because Dsm in FPV is pretty much extinct.

  • @beethaniel
    @beethaniel Жыл бұрын

    As many people have already mentioned, ExpressLRS is a far superior transimisstion protocol as compared to DSM2, but Id like to add that those liner polarized antennas are junk. Great project, love it!

  • @Galileocrafter
    @Galileocrafter Жыл бұрын

    ExpressLRS would be a solution, best paired with an EdgeTX compatible radio.

  • @VincentFischer
    @VincentFischer Жыл бұрын

    You should look into the LoRa based open source project expressLRS, best latency with an unreal range that seemingly defies physics, bidirectional telemetry and it's all quite cheap too. Just have to communicate with a serial protocol instead PPM

  • @IonRoux
    @IonRoux Жыл бұрын

    I'm relieved to hear that it isn't just me that can't get NRF modules to work reliably

  • @petrusoroaga6528
    @petrusoroaga6528 Жыл бұрын

    Not sure I can post links here,but if you search your preferred online shop for: "3dr radio modules" or "LORA 433Mhz radio module" (or other frequency band or any radio module with SXnnnn chipsets) you can find a ton of modules. They are just transparent radio UARTs, and you configure the datarate/ec/etc using AT commands. They expose just a RX/TX UART pins or USB to connect to your microcontroller or PC or PI. They usually support up to 56kb air rate, some do support more, but it's enough for remote controlling and sending commands and configuration data and whatever data you want back and forth. All these modules are just plug and play. You just configure the serial speed and the channel using AT commands (most are already set with default values, so 2 identical modules will just

  • @kd5ahl
    @kd5ahl Жыл бұрын

    OK, This is really cool. However, I wish you had chosen a TX unit that is at least obtainable.

  • @maalonszuman491
    @maalonszuman491 Жыл бұрын

    Really good video !! I have a question is it possible to stream video with this kind of transmiter ? Or rnf ?

  • @ustarecepusta
    @ustarecepusta2 ай бұрын

    So good

  • @bentsprockettech
    @bentsprockettech Жыл бұрын

    😍 I need one!

  • @petrusoroaga6528
    @petrusoroaga6528 Жыл бұрын

    @James Bruton: you can find all over internet radio modules on any band (433/868/915Mhz/2.4Ghz) that just provide a transparent UART. And they are cheap. Having a digital UART makes things easier, you can send any data you want. And they do provide reliability and range (hundreds of meters, kilometers). Using analog PPM signals or IBus or any RC protocol is not the way to go for your projects. Just a transparent radio UART is the best approach. Being full digital, you can add checksums, error correction and whatever you want to your digital packets.

  • @jamesbruton

    @jamesbruton

    Жыл бұрын

    links?

  • @petrusoroaga6528

    @petrusoroaga6528

    Жыл бұрын

    @@jamesbruton Not sure I can post links here,but if you search your preferred online shop for: "3dr radio modules" or "LORA 433Mhz radio module" (or other frequency band or any radio module with SXnnnn chipsets) you can find a ton of modules. They are just transparent radio UARTs, and you configure the datarate/ec/etc using AT commands. They expose just a RX/TX UART pins or USB to connect to your microcontroller or PC or PI. They usually support up to 56kb air rate, some do support more, but it's enough for remote controlling and sending commands and configuration data and whatever data you want back and forth. All these modules are just plug and play. You just configure the serial speed and the channel using AT commands (most are already set with default values, so 2 identical modules will just

  • @aaro_n
    @aaro_n Жыл бұрын

    A pistol girp style controller would be awesome from you. I bet you could get ten channels in one

  • @homedad3324
    @homedad3324 Жыл бұрын

    As usual, an awesome video! You should try and help out the hacksmith and his hydraulic spider, I bet you could make it work better than they did!

  • @WistrelChianti

    @WistrelChianti

    Жыл бұрын

    Dunno... think the biggest issue they had with that thing was the sheer effort/time involved in each test run and that every error caused damage. The other issue was that they were working with imprecise actuators (and sensors? or at least not enough of them). It was a good try (an excellent try even) but not sure any more minds on the job would have helped.

  • @bako481
    @bako481 Жыл бұрын

    Hello from South Qazaqstan!

  • @theroburrito
    @theroburrito Жыл бұрын

    That DSM hardware is 5+ years out of date. Check out Express LRS. Its an open source project being actively developed with 40km+ of range. Because its open source, the Rx and Tx are very inexpensive. And the devs are so enthusiastic about it, if its missing a feature, I'm sure you could work with them to develop it.

  • @conorstewart2214
    @conorstewart2214 Жыл бұрын

    You get a lot more configurability and control with something like the nrf24 since each packet is 32 bytes and you can send whatever you want, that could be 32 separate 8 bit channels. You can also do what you tried to do which is to make the first byte an identification byte and then send packets containing different data. Where did you get your nrf24 modules? There are a lot of fake ones out there that have rubbish range or don’t work properly.

  • @JamesChurchill
    @JamesChurchill Жыл бұрын

    The attempt to multiplex the channels failed because the receiver is decoding the channels asynchronously from the ibus reporting. So you get some values from the current frame and some from the previous frame.

  • @trapfethen
    @trapfethen Жыл бұрын

    You can likely get more switches into a single channel if you coerce you signal values into a binary number. Essentially, take your channel value, subtract the minimum possible value, and then integer divide the result by a fraction of the maximum possible value range. the number you would divide by is (Maximum Possible Value Range / A Power of two, the more the better). You would have to fine-tune that power of two so you get reliable reconstruction on the receiving end (your channel value will likely fluctuate by some small amount even when the input is consistent). Then you can use each bit of the resultant number (your number of bits will be equal to the power you raised the 2 in the denominator by) as a flag for whether that switch is on or not. With the variance I was seeing, I imagine 4 to 6 bits of precision may be possible, meaning you can encode 4 to 6 switches per channel. If you can get closer to 16bits of precision (doubtful but maybe), you can use a similar trick to encode two seperate 8bit data streams into a single channel. This type of multiplexing can go a long way. It is unfortunate that you weren't able to get the nieve time-based multiplexing working, as there are really robust time-signal schemes that can power seriously over-the-top multiplexing. Those are the same methods used by cell phone towers to service hundreds to thousands of clients per network cell.

  • @RambozoClown
    @RambozoClown Жыл бұрын

    The hard part will be grafting on a second pair of arms so you can use all the channels.

  • @gibranzawahra4224
    @gibranzawahra4224 Жыл бұрын

    maybe use the blank in the middle of the rc remote for a screen either simple liquid crystal or even a touch one with lvgl, for telemetry and battery percentage ... in addition to switches and buttons if necessary..

  • @azyfloof
    @azyfloof Жыл бұрын

    Have you ever used or considered using Xbee modules? I've played around with these in the past and had good success, but I've never tried streaming several channels worth of data at once. I don't know how reliable they are for that. I'd love to see you experiment with them :)

  • @gibranzawahra4224
    @gibranzawahra4224 Жыл бұрын

    look into expresslrs if you want reliabilty and range at a low cost, but might be simpler to use lora modules directly for custom integrations and dataset lora might be helpful but relatively slow compared to wifi, it should not be very different speed wise compared to the nrf24 depending on selected data speed, there are many modules with varying tx power for arduino some with more functions built into the chip directly like interference mitigation and error checking and correction... elrs uses lora and it gets very low latency, high refresh rate and very long range, it's also open source so you can also probably adapt it to your needs.

  • @Deny8252
    @Deny8252 Жыл бұрын

    I think ExpressLRS is best radiolink for today, one driven by community , and not crap covered by copyright.

  • @thebloxxer22
    @thebloxxer22 Жыл бұрын

    I use SBUS for my Radiolink T8S and R8EF for my R/C robot I am building right now... but waiting for a new 4S AA holder.

  • @michidk
    @michidk Жыл бұрын

    You might want to have a look at ExpressLRS - it's an open source high-performance control link, supporting telemetry.

  • @cinemoriahFPV
    @cinemoriahFPV Жыл бұрын

    Missed a perfect opportunity to build a Gemini ELRS link.

  • @nicholasroos3627
    @nicholasroos3627 Жыл бұрын

    I don't want to drink Huel. He was a kind man.

  • @Dot2TheLock
    @Dot2TheLock Жыл бұрын

    Just for safety of your transmitter you should add a lanyard loop, as someone that's dropped my Taranis multiple times its worth it

  • @BrianW2979
    @BrianW2979 Жыл бұрын

    I don’t understand 90% of what you’re talking about, but your still entertaining

  • @DiyintheGhetto
    @DiyintheGhetto Жыл бұрын

    What about using a esp8266? You can link two together also have external antenna for range.

  • @Mavstang73
    @Mavstang73 Жыл бұрын

    Im surprised you didnt go with an ELRS radio. You can build your own transmitter/receiver with up to 250hz packet rates and miles of penetration.

  • @Pippy626
    @Pippy6264 ай бұрын

    I know this is an old video but you could consider using the HC-12 wireless module gives you 1km @433.4-473.0 MHz for Arduino to Arduino communications. They have hit 2km in some situations.

  • @thecraigish
    @thecraigish Жыл бұрын

    The primary reason I upgraded all my RCs from Frsky/XM+ is because of dropouts. ELRS has been rock solid and cheap. Love your videos, keep it up!

  • @HermanKruisman

    @HermanKruisman

    Жыл бұрын

    Frsky has been rock solid here to

  • @skylar7320

    @skylar7320

    Жыл бұрын

    For what James is doing FRsky is probably fine (and dang cheap) since he can code around dropouts since it sounds like he already has had to before. I’ve lost signal on an XM+ at 75’ LOS so I moved on personally. One thing a newer protocol would have helped with is serial in/out from the start rather than the PPM code, but it works now so why change.

  • @WistrelChianti
    @WistrelChianti Жыл бұрын

    Great video. Super interesting. Have always thought it's a massive shame that RC radios sky rocket for higher number of channels so good to know there's a cheap way round it. Can defo see the time factor coming into play here. Always the game is time to make something nice/right vs that'll do and heck it's only a few more quid for a cash workaround. Anyone thinking of making comments about switch statements or amount of code in the ISR should probably bear this in mind (especially given the direct receiver code wasn't used in the end). . Some nice obvservations on advertising incidentally, I had mark forged talking about carbon fiber reenforced 3d prints which was interesting and also arduino promoting a school learning pack. Even huel is something I've been tempted to try. Finally awww project air... nooo. (and hope you guys can collab on something one day! love that channel too)

  • @killstrees

    @killstrees

    Жыл бұрын

    Those prices are because of Spektrum, a Horizon Hobby brand. Most HH stuff is expensive and mediocre in quality. Dsm/dsm2 isn't the best transmission protocol either and is notorious for failsafe/brownout issues. Dsmx is a lot better but it's still most commonly used under the HH umbrella. There are much better protocols available and are available in much cheaper transmitters.

  • @lolipopsandfancypants7257
    @lolipopsandfancypants7257 Жыл бұрын

    I'm gonna call it... expressLRS is the shizbit. You can even join two receivers to get 12 channels of pwm or ibus. Extremely strong link and very long distance. use 2.4 ghz for most uses and min latency or 900 mhz for very long stable applications. It is open source and not expensive to get or build. It's what I use on my freestyle drones and planes. I simply flash every receiver with the same passphrase and then put the same in the transmitter. Bang, bob's your uncle.

  • @ninjaskitches
    @ninjaskitches Жыл бұрын

    The frsky remote can be added to. I wouldn't give my enemies flysky trash

  • @davidstafford4873
    @davidstafford4873 Жыл бұрын

    That's great, what's the best way to get a secure data feed back for video?

  • @mathieusan
    @mathieusan Жыл бұрын

    you should check out ELRS protocol, it's fully open source, and 40+ km range

  • @scottmilano2940
    @scottmilano2940 Жыл бұрын

    Take a look at ELRS. It’s a modern, open source version of this tech, with kilometers of range, and bidirectional comms for telemtry.

Келесі