Building a DSM2 R/C Transmitter with Arduino

  Переглядів 174,131

James Bruton

James Bruton

Рік тому

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 UKposts 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

КОМЕНТАРІ: 359
@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.
@kevinmcaleer28
@kevinmcaleer28 Рік тому
Great video! I love how simple and elegant your solution is. Thanks James
@3089io
@3089io Рік тому
Your stuff is always very pretty, but I really like the fit and finish of this. The transmitters, all the orange and black matching, and layout. Quite cool.
@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?
@peters9929
@peters9929 Рік тому
Every time I watch your videos James I'm in speechless with your technical skills just fantastic
@prodeous
@prodeous Рік тому
Another awesome project, and as always thanks for sharing your work.
@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
@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!
@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!
@avejst
@avejst Рік тому
Great project Thanks for sharing your experiences 🙂
@Richiegilbert
@Richiegilbert Рік тому
Another fantastic video, thanks James!
@madmonkey7183
@madmonkey7183 Рік тому
Amazing Video. This has always been one of my biggest questions from watching your videos !
@cho4d
@cho4d Рік тому
i apprieciate the stable camera position :) also very good project!
@AhmadHossamMahmoud
@AhmadHossamMahmoud Рік тому
impressive work mate ... just impressive !
@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!
@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.
@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.
@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.
@RandomGamer1486
@RandomGamer1486 Рік тому
I love your videos, they help me with my electronic things that I make. Keep up with the amazing work James.
@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. 🇲🇾
@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.
@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.
@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…
@CarlPaulsen
@CarlPaulsen Рік тому
James, I'd love to see a video covering your design process, for example the controller parts...
@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
@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.
@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
@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!
@ricardoferes9051
@ricardoferes9051 Рік тому
When he said "perfectly balanced" during the Huel ad I immediately thought of Spiffing Brit.
@planespeaking
@planespeaking Рік тому
very impressive
@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.
@fab_5356
@fab_5356 Рік тому
Cool that you talked about the hovercraft
@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.
@devdev-cs3tq
@devdev-cs3tq Рік тому
oh wow this is exactly what I neeed OMG THANK YOU SO MUCH
@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.
@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.
@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!
@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
@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.
@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!
@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?
@nandingpanelo
@nandingpanelo Рік тому
Youre amazing happy new year
@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 !
@THESocialJusticeWarrior
@THESocialJusticeWarrior Рік тому
I have used XBee radios with my controls. They work pretty well.
@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
@picsi-software
@picsi-software Рік тому
You know you could assign all your switches to bits.. packing all of them into one channel :)
@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!
@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.
@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.
@C4WebConsulting
@C4WebConsulting Рік тому
"Wiggle while you walk... The joystick, don't be dirty!" I think that needs to a be a shirt
@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.
@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
@antoanyanev
@antoanyanev Рік тому
You can use a single channel for all of the switches with the help of a bit mask and some boolean opeations.
@ustarecepusta
@ustarecepusta 6 днів тому
So good
@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.
@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.
@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.
@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
@maalonszuman491
@maalonszuman491 Рік тому
Really good video !! I have a question is it possible to stream video with this kind of transmiter ? Or rnf ?
@R2D2internet
@R2D2internet 5 місяців тому
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 3 місяці тому
The arduino / atmega328 doesn't have DMA. It does have hardware to capture when an input changed, good for reading a PPM signal.
@bentsprockettech
@bentsprockettech Рік тому
😍 I need one!
@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.
@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
@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..
@CSAlso2
@CSAlso2 Рік тому
Wow you always say a bunch of things that I don't understand but for some reason I find it entertaining. 😄
@malcolmmackenzie6764
@malcolmmackenzie6764 7 місяців тому
So this is something I've wanted to do for a while, but I've been stumped by something that just seemed to work for you. When my Arduino puts out PPM to the RC transmitter module, it doesn't come out the iBus on the receiver even though they've been paired. Regular PWM works, but no iBus. I'm using Flysky components. It would appear that the Flysky transmitters have a setting for "PPM iBus" that changes the PPM output in some way before it hits the transmitter module that lets the receiver know that we want to use iBus at the receiver. Can you shed any light on this?
@dickon_br
@dickon_br Рік тому
Hi James! this is exactly what I was looking for to control my robot, because I needed several channels. I intend to build the 20-channel one but I looked at the git and was in doubt about what I will really need to buy and what the connection scheme is, because I didn't find it there. Could you guide me on that? Regards, from Brazil.
@Hisa1shi
@Hisa1shi Рік тому
For sending multiple switches over a single channel, I suggest using a bitmask.
@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.
@Galileocrafter
@Galileocrafter Рік тому
ExpressLRS would be a solution, best paired with an EdgeTX compatible radio.
@newmonengineering
@newmonengineering Рік тому
You can buy any TX module and do this. There are many out there in fact they have LRS and multi protocol ones. This is an old one that's why it's so cheap I have used a rangerx to do the same it's a multi protocol. Connect to dsm2 plus many more.
@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.
@IonRoux
@IonRoux Рік тому
I'm relieved to hear that it isn't just me that can't get NRF modules to work reliably
@DiyintheGhetto
@DiyintheGhetto Рік тому
What about using a esp8266? You can link two together also have external antenna for range.
@azayles
@azayles Рік тому
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 :)
@trapfethen
@trapfethen 10 місяців тому
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.
@bako481
@bako481 Рік тому
Hello from South Qazaqstan!
@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.
@davidstafford4873
@davidstafford4873 Рік тому
That's great, what's the best way to get a secure data feed back for video?
@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.
@Deny8252
@Deny8252 Рік тому
I think ExpressLRS is best radiolink for today, one driven by community , and not crap covered by copyright.
@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.
@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.
@ahmeddawood8847
@ahmeddawood8847 7 місяців тому
why dont you try the hc12 it also comes with great range over 1km the one downside i can think of is thay dont work great on short distances like 1m or even lora
@rascalwind
@rascalwind Рік тому
Your mixing problem is due to out of order packet transmission on a digital buss/radio interface. Same problem as UDP packet transmission. You aren't guaranteed the order. You would have to tag the data with orders for packets. Then encode and decode your data in the chain of data.
@aaro_n
@aaro_n Рік тому
A pistol girp style controller would be awesome from you. I bet you could get ten channels in one
@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.
@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
@nicholasroos3627
@nicholasroos3627 Рік тому
I don't want to drink Huel. He was a kind man.
@johanCferreira
@johanCferreira 8 місяців тому
We build a arduino transmitter and receiver using nrf24 module. Can't seem to send the signals/channels to a APM2.8 flight controller for our schools robotics project. We build a drone on a f450 chassis. Any advise?
@jamesbruton
@jamesbruton 8 місяців тому
No idea, this project is about not using the NRF24's which I've used before
@BrianW2979
@BrianW2979 Рік тому
I don’t understand 90% of what you’re talking about, but your still entertaining
@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
@PatrickOReilly
@PatrickOReilly Рік тому
Because timing is so critical, would using the PIO of an RP2040 based microcontroller not suit this project better?
@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.
@michaelscott8284
@michaelscott8284 9 місяців тому
is there a way to get a wiring diagram of the universal remote? I love the idea a many of my robots us 10+ ch DSM/DSM2, etc. is fine because I am usually around 30 meters away max.
World's First SCREW-BIKE
23:04
James Bruton
Переглядів 1,6 млн
Make a TINY Arduino Drone with FPV Camera - Will It Fly?
20:26
Max Imagination
Переглядів 230 тис.
Зомби Апокалипсис  часть 1 🤯#shorts
00:29
INNA SERG
Переглядів 1,6 млн
Experimental Drone Positioning System
17:36
James Bruton
Переглядів 202 тис.
i built a combat robot. in fact i build combat robots now, i guess.
10:06
Kyle's maybe electrical emporium
Переглядів 68 тис.
Building a DIY REAPER Drone... Ended Badly
9:19
Michael Rechtin
Переглядів 2 млн
Building a Touchscreen Smart Robot Remote
17:53
James Bruton
Переглядів 69 тис.
NRF24 Frustration - Radio module doesn't work?
12:46
Electronoobs
Переглядів 81 тис.
Experiments with hard light
9:17
James Bruton
Переглядів 101 тис.
$15 Drone Build within 24 Hour - Challenge
12:01
DD ElectroTech
Переглядів 3,4 млн
Peristaltic locomotion device
10:07
James Bruton
Переглядів 114 тис.
Build an Arduino Flying Wing RC Plane | DIY Sweptback Wing
21:56
Max Imagination
Переглядів 96 тис.
Как должен стоять ПК?
1:00
CompShop Shorts
Переглядів 614 тис.
Что если бы Apple делала зубные щётки?
0:59
Нужен ли робот пылесос?
0:54
Катя и Лайфхаки
Переглядів 849 тис.
СКОЛЬКО ЕЩЕ БУДЕТ АКТУАЛЕН IPHONE 13?
14:10
DimaViper Live
Переглядів 56 тис.