Тёмный

What exactly is 'iomixer' ? 

iforce2d
Подписаться 76 тыс.
Просмотров 15 тыс.
50% 1

More info: iomixer.com/overview
• iomixer tests
The first draft of this video ended up being 1.5 hours long because it included more hands-on examples, but I decided to re-make it as a more concise introduction to the core concepts. If you'd like to see examples of setting up an nRF24 connection, display screens, logging output etc you can see the original draft here: • smixer intro rendered
(start at the 10 minute mark to skip stuff that was mostly the same as this video)
00:00 Intro
00:35 What is iomixer
01:57 Background
04:14 Hardware overview
05:35 Device inputs and outputs
06:14 Configuration overview
07:39 'Nodes' overview
08:30 Node configuration
11:14 Connecting device to a web browser
13:08 Simple LED blink demo
15:38 Debugging with realtime values
17:19 Reading back config from device
19:58 Injecting live values
22:18 Updating firmware via bootloader
24:24 USB gamepad emulation
28:18 Sending live values to custom webpage
30:56 Diagnostic checks
31:57 Proof of concept playlist and future plans

Развлечения

Опубликовано:

 

11 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 141   
@iforce2d
@iforce2d Год назад
I see many people questioning the use of a relay server instead of Web Serial API, so I'll address it properly here: www.iforce2d.net/tmp/swip/overview/webserial.html
@habiks
@habiks Год назад
what component/library are you using for diagrams (the configuration tool)?
@pere_gt__stgtsport5467
@pere_gt__stgtsport5467 8 месяцев назад
You are an embedded wizard. Thank you! I don't know how the youtube algorythm did not suggest this earlier. Huge respect.
Год назад
Hello, I am very happy that you are back with a new video. You really put a lot of effort into this project and now I understand the context. Well done! Now all the experiments of the last years make sense. It already made sense to me before, but now I know what your goal was and the circle is closed. I'm looking forward to new content. During your long break I watched many of your projects for the 2nd or 3rd time or even more and was always fascinated. Until the next video, I wish you a Merry Christmas...👍👌🎄
@ismzaxxon
@ismzaxxon Год назад
You have given enough away over the years. I like that you will get something back.
@agrifurb
@agrifurb Год назад
Nicely done. I want to have a play NOW. Great work. Think this could be used for so many projects without even thinking.
@iforce2d
@iforce2d Год назад
See the 'more info' link in the description, right at the bottom there is a link to the configurator and some basic instructions if you want to play with the the user interface.
@DEtchells
@DEtchells Год назад
Wow, this looks *super* interesting! The nodes and UI seem very straightforward and logical, I think it would be very easy to learn and apply to meaningful projects. It looks like what LabView started out to be, before it became so insanely complex. I hope this stays simple, and will probably buy into the platform whenever you decide to make it commercially available. (Depending on price of course, I’m just a hobbyist :-)
@AerialWaviator
@AerialWaviator Год назад
It's clear that lots thought and effort has gone into this project.The graphical node program editor and configuration interface has many nice intuitive features. It has come a long way and this really helps to understand the overall device; including how the software and hardware relate. Naming things is always the hard part. Options to consider, are a functional descriptive name, or just a generic branding. The Pi Foundation went this route, calling devices in their system Pi's. If prefer a descriptive option, perhaps "Programmable iForce Mixer" (an alternative variation: 'Protocol Interface Mixer'). NOTE: per 5:40, 6:10 bus is just one of many 'protocols' that your device/software have implemented.
@muh1h1
@muh1h1 Год назад
I was going to comment about WebSerial, but i see it has already been done. Glad you finally describe that thing in detail! I always felt like i must have missed something when you mentioned SBUSMixer in the past. I kinda had an idea what it is and that you developed it, but having it explained and shown is super intresting!
@iforce2d
@iforce2d Год назад
I wrote up some reasoning for not using Web Serial here: www.iforce2d.net/tmp/swip/overview/webserial.html
@muh1h1
@muh1h1 Год назад
@@iforce2d I can even think off another reason: As far as i know WebSerial requires an HTTPS connection, which is not trivial on a local network.
@iforce2d
@iforce2d Год назад
Right, that's number 7 in my list.
@georgef7754
@georgef7754 Год назад
Commercial project makes sense. Its about time you received something back for your time and expertise. Problem is a lot of people will want it for a few dollars so pricing will require some thought. All the best.
@siddhantrao9587
@siddhantrao9587 Год назад
Great work man!!!
@kattz753
@kattz753 Год назад
This came on auto play. Great job. This looks very easy to use and also very useful. I was just typing don't just give this away when you said that you were going to market it. Good. Information wants to be free but programmers gotta eat.
@tinygriffy
@tinygriffy Год назад
Incredible work ! Thanks for the Video !
@dieterweik6858
@dieterweik6858 Год назад
I asked Chat GPT to come up with a name for your system: Here's what it came up with: "Sure, here are a few ideas for alternative names for a hardware board that mixes input signals and drives servos: "SignalMixer": This name emphasizes the board's ability to mix input signals. "ServoSync": This name highlights the board's role in coordinating and synchronizing servo movement. "ControlCore": This name suggests that the board is the central hub for controlling hardware. "SignalMaster": This name implies that the board has a high level of control over input signals. "ServoMaster": This name suggests that the board is a central hub for controlling servo movement. Again, the best name will depend on your specific goals and target audience, so you may want to consider your branding strategy and the message you want to convey when selecting a name." I like "ServoMaster". Awesome work, BTW - I really enjoy watching all your videos!
@iforce2d
@iforce2d Год назад
I ended up trying that myself actually. Although it didn't quite deliver the exact solution, it did give me "InputOutpuMixer" from which I was inspired to go with "iomixer".
@dieterweik6858
@dieterweik6858 Год назад
@@iforce2d "I/OMixer... Sounds like the obvious choice for a name, once you hear it - which makes sense, given how GPT works.
@KenColangelo
@KenColangelo Год назад
Wow! Great work.
@techmakerandhacker7867
@techmakerandhacker7867 Год назад
this is super interesting and mind blowing
@georgwrede7715
@georgwrede7715 Год назад
Simply amazing!
@norfolkflyingboyz2404
@norfolkflyingboyz2404 Год назад
Still doing the best videos. 😎😍
@YensR
@YensR Год назад
thanks for your email alerting me to this! As you can tell by my tardy response, my focus has shifted a bit. I've done smaller machinery (though a new big one is coming) and access to openTX with its programming/scripting/flexibility has meant that I can do basically everything I need. My big grader still needs finishing of the closed-loop mouldboard control, for which I really need to go back to basics, as it's been so long now. However, years ago I had a discussion with some people building very detailed models of Unimogs and cranes and I think this could be interesting to models that have a lot of functions that do not run all the time. There are some very specialised radio control transmitters for "function modelling" (Funktionsmodellbau we call it) out there, but I have found them expensive, bulky and quite a steep learning curve if you want to do stuff like simulate a PLC. I feel IOmixer (not a bad name if you ask me, but undersells the functionality a bit) could sit between a radiomaster TX16s and a highly specialised transmitter. I will post about this in "my" scale machinery forum. Well done, I hope it becomes a success!
@jwtfpv8957
@jwtfpv8957 Год назад
I think you should call it Flow Chart Flight Control (F2C). Very impressive project!
@reezlaw
@reezlaw Год назад
IMHO that's nice but too specific, this could do so much more than just flight
@nielsencs
@nielsencs Год назад
Good name! Or how about FlowRC or Flowtrol?
@RomanBartocci
@RomanBartocci Год назад
wow, amazing! nice work man... impressive ... i wanna get started with one of these boards ....thanks
@pfeerick
@pfeerick Год назад
Nice to finally see this fully explained, and fully agree you should run it commecially to get something back from it. Decision to make something open source is entirely yours to make as to whether you want to just share an idea/code or get something back from it, so don't listen to any of those naysayers who say you *must* open source it. I get a lot of the arguments as to why a relay server instead of Web Serial API, but I suspect (as always happens) that in the two and a bit years you've been working on this things have changed a lot. Having said that, there is still some... security... in knowing that it won't just as quickly be removed (although I feel this won't be the case). Regardless of that, best wishes to you on this endeavour, and it's great to see what this board can do! :)
@MrTerrymiff
@MrTerrymiff Год назад
I'm an old fart who began his electronics career when HotFETs (thermionic valves) were still the go. We were taught that transistors would never catch on because they would be unable to handle the power requirements. I currently spend most of my time with Radio Controlled Yachts and I was looking at setting up some more complex sail configurations than the usual rigs. Arduino seemed to be the go and I was just about to start a self paced course at RU-vid University when I stumbled across this. It almost looks like it was custom designed for what I want. Brilliant. Room is not a problem and I think I could eventually manage to use a lot of the 37 inputs/outputs that you have on the big board. When will the boards be available please? Postage will be cheap as guess it only has to get across the Tasman to the Big Island. Total respect for the concept and presentation.
@iforce2d
@iforce2d Год назад
Hi Terry, I don't really know when, but if you mail me (iforce2d at gmail) we can sort out how to get a board to you sometime. Although I did foresee many uses for this system, yacht rigging was not on my radar so it would be interesting to chat about what type of requirements sailboat nerds would have. I wonder if responding to the lean angle might be useful somehow...
@jamesmoore2007
@jamesmoore2007 Год назад
This thing is way cool I'd buy a few of them!
@NutzernameUnknown
@NutzernameUnknown Год назад
I would definitely buy this thing even if i had to build the hardware by myself. Really impressive and high potential.
@iforce2d
@iforce2d Год назад
As a test I tried this with a blue pill (need to add the SPI flash) and also Naze32 which has the SPI flash already. They are not particularly useful due to the small memory space, I mainly did it to test switching between different targets. But yes, you could build your own hardware, minimum requirement is the STM32 micro and the SPI flash. The micro will need to be F1 series. The F103RCT6 I'm using has 256k flash and 48k RAM and is a good fit for the current features. If some features are not necessary a smaller build can be made (which is what I had to do for the naze32 and blue pill).
@mumbaiverve2307
@mumbaiverve2307 9 месяцев назад
@@iforce2d You said the application program resides in the SPI flash which is 2MB. So why would the 256k flash on the uC be a constraint ? Is there a web page where you have documented the architecture ? Your ingenuity and expertise in every aspect of engineering is on another level Sir. Kudos !
@benznote2342
@benznote2342 Год назад
"..for somebody who has no idea..." yes i'm one of them 🙂 now i know what this thing is, now start to re-watch again a dozens video from previously 😪
@arbelarad1980
@arbelarad1980 Год назад
two questions: why micro usb? (not really a question) web serial is a way to connect a website directly to a local serial port without any relay servers, you can use it in any browser with modern javascript support. in general it's a part of the webusb API.
@iforce2d
@iforce2d Год назад
The micro USB is for connecting to a computer. I feel like you might be asking something more, but the question is incomplete. I wrote up some reasoning for not using Web Serial here: www.iforce2d.net/tmp/swip/overview/webserial.html
@pfeerick
@pfeerick Год назад
@@iforce2d Most likely it was "why micro usb" (when everyone knows everything should have USB-C on it nowadays... yeah right... whatever)
@BuzZ.
@BuzZ. Год назад
I've watched your channel for a long time. And until now, I had no idea wtf sbus mixer actually did tbh.
@yeinierferras2721
@yeinierferras2721 Год назад
Nice work!!!!😃😃😃
@woodrunner51
@woodrunner51 Год назад
Very impressive
@SpaceWolf011
@SpaceWolf011 Год назад
Neat project! Looks very intuitive for beginners and very well implemented. As your nodes seem to be the primary feature, maybe they should be the basis for the name. NodeMixer? NodeForce (2D)? 😛 Something like that. Decoupling the software from the electronics is a must for this project. Maybe the names should be decoupled too, as that way you should be able to let anyone build a versions of the hardware (with your software support).
@iforce2d
@iforce2d Год назад
Yes, the hardware spec (such as it is) would be open, so the name will be mainly referring to the firmware and related configuration system.
@dansxmods
@dansxmods Год назад
so cool, I would 100% buy at least 1 firmware from you, even if it is just to give back to you, would prob really like the system and want to get more
@reezlaw
@reezlaw Год назад
This is great and I want one even though I have no idea what I would do with it. I especially love the node workflow as I have fiddled with Arduinos before and my ineptitude with code has been a huge detriment. Any idea of how much it might cost? like a ballpark order of magnitude kinda thing? Also, you could just call it IFBoard, you know, just from your name
@ruedogs
@ruedogs Год назад
i love where you are going with this for advanced rc automation , maybe some interface programming ideas to bring the gap between more useable for pro coder and novice visual programmer and how to get rid of the "server" . i love Arduino and have done for 10+ years but I'm not a great coder, i can read code but cant remember enough to write it from scratch and get all the syntax etc correct, I use a visual programmer called Ardublock to write bulk sections of code in a separate tool window and then it spits out the code in the Arduino IDE where it can be edited or refined before sending it to the board . i feel something like this for your board will help beginners see the work flow and also the body of the code before using the IDE to upload it .. this would also allow intermediate programmers like me to use more advanced features of your board after bulk visual programming annnnnnnd it will get rid of the need for a web browser to uart port interface/server. IMO
@iforce2d
@iforce2d Год назад
This is a much further abstraction from code than Ardublock. The node configuration describes a broader intent ("I want the GPS altitude in meters") that has nothing to do with any particular programming language. Overall it's not a good way to learn programming, or making complex logic. It's more focused on just getting something fairly basic done, for people who don't care about programming.
@ruedogs
@ruedogs Год назад
@@iforce2d, fair enough.
@encorespod2135
@encorespod2135 Год назад
The problem with creating simplified interfaces for programming is always going to be inner platform effect. Whilst incredibly useful as a learning tool for visualising the operation of the code and attracting new people, as the end user learns they ultimately have to understand the same basic concepts as they would to write code. This then leads to problems when the user has learnt everything that the abstracted layer can teach them, they start trying to build structures that should be implemented at a lower layer by abusing the logic functions which you have provided at the higher layer. At this point they effectively start using your platform as a high level scripting language and expect you to make it work as such (whether scripted as text or visually), rather than just learning the underlying lower level language. (e.g. They expect you to catch their overflows and in doing so you remove the ability to intentionally use an overflow as a feature of the code.) It is an old problem, I've been there when asked how to remove security vulns in an operating system... it is so easy to just say "only let them run interpreted code", but then you can still have vulnerabilities in the interpreter. Eventually you have to come back to the fact that you are driving a machine that does boolean logic and by extension, mathematics. Eventually the end user has to understand this. When you create a system that emulates this you do great things by providing access and teaching but you also create yourself a bunch of new problems. You have a virtual machine, but you now have a virtual machine to maintain as the users demand more and more features which you never intended from it. I have always loved this idea of visual programming, simple configuration of an underlying "generic" device. However in practice you have to realise that the device is never going to be truly generic, it can only provide a certain subset of features to be configured. I have tried to get around this by, whilst allowing configuration and options never allowing logic and branching to creep into the next layer. As soon as you do that, you just created a new programming language and opened a Pandora's box of types and exceptions.
@iforce2d
@iforce2d Год назад
Yes, there will always be compromises in what something like this is capable of. I think as long as it's made clear from the beginning what the system is capable of, is all one can do. One of the blessings of dealing with tech-minded people, is they are usually pretty good at checking details.
@peterdlynes
@peterdlynes 8 месяцев назад
I love what you have done and yes I would pay for software. Like you I am also interested in r/c flight controllers and Arduino and I want to be able to fiddle with the parameters for INAV and Ardupilot. So what I really want to see is everything normally connected to a flight controller (excluding GPS) put into one board and have the ability to program the board as I do with my Arduinos. The new Arduino Giga board has enough ports and i/o to be a flight controler but I can't quite get all the ports working together yet to complete the task. Anyway, keep up the good work.
@deanbell5164
@deanbell5164 Год назад
I like it. You have put a lot of effect into this I can see. Out of interest did you write the 'sbusmixer' code with the Arduino IDE or in C/C++? Thinking of 'node-RC' as a name, as it is a generic black box pitched at the RC world.
@iforce2d
@iforce2d Год назад
The firmware is C++ using STM32CubeIDE, the bootloader is C using libopencm3 for smaller code size.
@deanbell5164
@deanbell5164 Год назад
@@iforce2d Have you seen the FAA 'Remote Identification of Unmanned Aircraft' rule - www.faa.gov/sites/faa.gov/files/2021-08/RemoteID_Final_Rule.pdf A hardware identification on your PCB (thinking 1-wire DS2401) would help with your business model too.
@AerialWaviator
@AerialWaviator Год назад
While watching, was thinking, I'd like to revisit some topics again. This the result. ;) Feel free to copy/past to description, or edit/delete as you like. -- TIMELINE 00:00 - SbusMixer Inro (or ??__??) 00:35 - What is SbusMixer 01:57 - Background .. how it started 04:14 - Hardware Overview (some HW background from 03:30) 05:35 - Device Inputs 06:06 - Device Outputs 06:14 - Software Configuration Architecture 07:39 - Software Configuration Interface 07:45 - Node Overview 08:30 - Node Configuration 11:14 - Connecting Hardware to a Web Browser 13:08 - Simple LED Node Demo 15:38 - Debugging with Realtime Values 17:19 - Upload / Upload Save .. to Device 19:01 - Import Config from Device 19:58 - Inject live Values .. while Program is running 22:18 - Reset Device Program .. via Bootloader 23:19 - Flash Program to Device 24:24 - USB gamepad emulation 28:18 - Sending live Values to a Custom Webpage .. via the Relay Server 30:56 - Diagnostic Checks .. a program static analysis 31:57 - PLAYLIST - SbusMixer Projects to Date 32:15 - Future Plans
@iforce2d
@iforce2d Год назад
Thanks, much appreciated!
@brucebaxter6923
@brucebaxter6923 Год назад
Nice, I keep looking at using quad cyclic for a camera drone and arduino just can’t feed that many servos. Ps, quad cyclic to use the lateral thrust for movement while staying flat.
@iforce2d
@iforce2d Год назад
Now that would be a cool thing to try. I was thinking about doing that a few years ago and had forgotten all about it.
@janp5775
@janp5775 Год назад
Hi, is there a video that deals with "pathfinding" between two gps coordinates? (determine the direction) I was expecting to find it in the "RC car GPS return-to-home" video. Unfortunately I haven't found it yet or skipped it accidentally. By the way, thanks for the great videos, they helped me a lot. (I'm working on an autonomous boot that should receive target coordinates via LoRa transmitters.)
@iforce2d
@iforce2d Год назад
Pathfinding usually refers to a path of multiple segments, like through a maze. If you're talking about just a single straight line, the method I've used is outlined here: www.movable-type.co.uk/scripts/latlong.html I don't think I've ever specifically looked at it in a video. Regarding sbusmixer, there is a video where I did look at some of the nodes that do the 'follow me' behavior: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-7Flc1PRYDoo.html
@skelethornbro
@skelethornbro Год назад
Interesting. At 33:17 can we combine the gps coordinate with camera movement so that it will always pointing at "point of interest"? Then we change the value using a joystick?
@iforce2d
@iforce2d Год назад
That would require reading the altitude and heading from the flight controller, to know how the gimbal should react. Mavlink input is actually one of the next things on my todo list for features, but right now I'm taking a break to maybe set up a website, and get feedback about what people think. Incidentally I did a project a few years ago where I pointed a gimbal at a specific location, you might like to see how that turned out here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-fA5sFRh3OkY.html
@muhammadqaisarali
@muhammadqaisarali 10 месяцев назад
As always very well done. One request. If possible, also make a tutorial about making the editor with just one node. And also the c-formware, with just 1 node interpretation feature, for the stm32f1 Board.Tbe node may be just a toggling a pin. This way the community may help in implementing new features both in firmware and programing editor. I think this type of project is far better than Arduino programming language for beginners. Sorry: 😂: i just watched the end, and found that you are going to Commercialize it. I take my request back 😂.
@iforce2d
@iforce2d 9 месяцев назад
It took many weeks to lay the groundwork, just to toggle a pin. As I mentioned at the time in a community post, I have never been so excited to see LEDs blinking: ru-vid.com/show-UCTXOorupCLqqQifs2jbz7rQcommunity?lb=UgyiUxygwX762cTj5qR4AaABCQ Just to get to that point involved a lot of C++, JavaScript, STM32 HAL and USB study, serial port programming, websockets, JSON, jQuery UI, a custom binary message system, learning the paperjs rendering API and making a GUI with it... definitely not something that "a tutorial" would easily cover even if I wanted to give away three years of work :) The configurator is Javascript so you can take a look at that part of it any time.
@muhammadqaisarali
@muhammadqaisarali 9 месяцев назад
@@iforce2d I really appreciate your efforts ❤️ ,. You always surprise the community with your new ideas 💡. As it's a commercial product, otherwise there could have been a lot of tutorial videos out of this project 😉.
@kontrolmikro1314
@kontrolmikro1314 Год назад
amazing...
@AndyRutter
@AndyRutter Год назад
I hadn't seen this until RU-vid suggested your video today and the project is outstanding. I am developing a range of multi-function R/C receivers, mainly for model rail / road vehicles and I have been pondering how to implement a simple UI for programming and configuration. Your work looks like an excellent fit and I would love to explore how we could cooperate - e.g. licensing terms. Now that the CPU is becoming available again, is it possible to purchase a PCB from you for experimentation?
@iforce2d
@iforce2d Год назад
Hi Andy, it's been a while since I ordered any prototypes so I'm a bit short on spare boards right now, but if you give me a mail (iforce2d at gmail) hopefully we can figure something out in the near future. Custom RC transmitter/receiver and model rail/diorama setups would be a good use case of this system.
@lunacyworks
@lunacyworks Год назад
I was about to ask do you have these listed any place for sale before I watched the end of the Video. Quite a swass(er) product, that is if you like sir mix a lot.
@spleenware
@spleenware Год назад
Very impressive. Totally in agreement to charge $$ for this. (ignore all the idiots out there saying software 'should' be free). Monetisation is tricky, and hope you can settle on something that balances convenience with fairness. Name: MIxMaster? Sir MIxalot? :-)
@pete3897
@pete3897 Год назад
Mixy McMixFace :)
@lunacyworks
@lunacyworks Год назад
swasser
@blacklion79
@blacklion79 Год назад
Very impressive. But there is one not mentioned problem with the visual editor: no version control support unless it can export and import some textual form, i.e. source code :-)
@iforce2d
@iforce2d Год назад
The lower panel visible in the video is a textual representation of the configuration. I didn't really have time to talk about it, but if you go to this page and click the 'Import' button there you can see how a configuration is restored from the text. www.iforce2d.net/tmp/swip/ I'm anticipating that most editing will be done online through the website, where versions could be saved in the database for logged in users. Since the relay server can read and write local files, configs could also be stored locally. But this would not allow for diffing between versions like a real version control system that you might be used to (at least not easily!)
@Lux158
@Lux158 Год назад
Really nice project! Also „flight mixer“ just to come up with something.. Also I guess when you blocking the boards to be used no one pproduces them.. but on the other hand something like a license key, or an account to validate the license purchase could be possible.. (There might be better solutions but as a possible solution, you could produce unique license-key-strings with a private key and a public key in the software validates the license-key for authenticity then users use those two to validate your purchase and report the usage of the license-key)
@iforce2d
@iforce2d Год назад
I might need to make them myself at first until the larger manufacturers see there is a market. Boards could also be pre-validated by manufacturers with a bulk-purchase discount.
@AlJay0032
@AlJay0032 10 месяцев назад
Great project, hope you will be able to somehow monetize it.
@emovard3n
@emovard3n Год назад
It is amasing to what it turned out. I would pay for it, just please does not do same mistake as big companies like FrSky, they try to make money by changing a compatibility of devices each time whe some china manufacturer makes onother compatible clone. If you make only 2 changes on current hardware it would be perfect: 1. USB Type C 2. Add standard 30mm mounting holes, so it can be screwed to any frame. Also you can make board narrow and long like pix, in this case it can be installed in any 5 inch frame
@fiveangle
@fiveangle Год назад
Holy crap !
@mattiasfagerlund
@mattiasfagerlund Год назад
Very cool! What's the web app developed in?
@iforce2d
@iforce2d Год назад
The nodes graphical part uses paper.js, the rest is just pretty plain JavaScript, the side panels are a jquery widget called jqxSplitter.
@mattiasfagerlund
@mattiasfagerlund Год назад
@@iforce2d Nice - I can't do js no more, gotta be TypeScript or I drive myself crazy with all the type freedom.
@BuzZ.
@BuzZ. Год назад
Possible new names for Sbus mixer: "RTS mixer" "Real time signal mixer" "Virtual universal signal decoder" "Signal exchange" "Universal decoder" "Signal Remix Configurator" "Simple automation configurator" "Easy Signal" "Simple virtual rewire -> SVwire"
@nohokum1944
@nohokum1944 Год назад
Pretty cool. Kinda like the Unreal Engine visual scripting system. I think you really have two products, hardware and software. Maybe you need two names. You know, like you have microPython running on some species of microcontroller board.
@user-zg2kr6ph9z
@user-zg2kr6ph9z Год назад
Nice
@nickldominator
@nickldominator Год назад
6:43 Web Browsers can actually talk to serial ports using the Web Serial API. Def. worth a look.
@iforce2d
@iforce2d Год назад
I wrote up some reasoning for not using Web Serial here: www.iforce2d.net/tmp/swip/overview/webserial.html
@nickldominator
@nickldominator Год назад
​@@iforce2d Hey, thanks for the reply :) Looked at your reasons and I'll address them in the same order. 1. I'm not sure when you last looked at it, but at the least in Chrome, the Web Serial API is enabled by default, and has been for some time now. Given most browsers are Chromium-derived, I imagine a lot of them will share the same behavior. This is probably not a big deal anymore since its more readily available. 2. JSON is indeed very heavy to do on an MCU, and I wouldn't recommend it. However, there are quite a few widely established binary formats that are easy to produce and consume in JS & in embedded C/C++. First one that comes to mind is one I have used a lot, which is Google's Proto buffers. There are plenty of easy-to-use JS libs for it. There is an embedded-focused C/C++ ProtoBuff implementation called 'NanoPB' which I have used with great success on my own projects. Funnily enough, Google themselves use NanoPB in their own products (I checked the Open-Source projects the Google Pixel Buds use). I would highly recommend looking at it. Additionally, ProtoBuffs address one of your concerns of format changes, and it's specifically designed for maintaining interop with differing API 'revisions'. 3. Yes, this is true, but this can also be achieved with a self-contained web-app, too. Either with a central server that forwards traffic, or you can even take advantage of WebRTC which will allow P2P connections w/o any need for intermediary server. This also lets it work completely offline of the internet (aka, intranet only) as WebRTC can establish local direct connections. 4. There is nothing stopping you from doing this with Web Serial w/ a Binary format (such as ProtoBuff). All you would need to do is JSON serialize the objects before they are sent over the wire in binary format, and after they have been received and deserialized. I would argue this is actually much simpler do diagnose issues since there is a single code-base involved to configure and communicate with the target device. 5. ProtoBuff is very robust and designed for interop as you would like (even more so than JSON I'd argue, as it was meant to do that). I believe the pros of a relay server and web-page are just as much cons compared to a self-contained web app. You could easily package all the important device comm. code into a JS library so its portable and could be used in other web-pages. The relay server isn't particularly special in this case. In fact, since the relay server is going to have to be hosted locally, you will only be able to access it from a locally-served web-page. This is because of CORS and related protections. This means no other pages could really be used with the relay server. 6. This is true, but also a huge disadvantage and security risk IMO. having an executable run on my local machine not in a nice sandbox (i.e, web browser) is scary and involves a lot of risk for the user. The points of writing and reading local files/configs is also something a web-page can do easily with the LocalStorage API, which provides a nice sandboxed storage for files a web-page would like to keep on the machine. Additionally, there is the File API available to access & save files outside of the web sandbox directly to OS filesystem. Nice thing is, the user can grant or deny these permissions to certain files, or directories at request time to ensure security and privacy is upheld. 7. This is not really true, PWAs and SPAs completely solve this problem, as they are are cache'd onto the computer so they are accessible even in the event of a network outage. No need to install a certificate to the machine, either. Nice thing is they automatically update/bust cache once they detect internet connectivity has been restored. This means automatic and easy app updates come 'free' by going with a PWA approach to the page. Another nice feature of PWAs is their ability to 'install' themselves with an Icon to desktop or app bar, just like any other application. This is how the Twitter, RU-vid, RU-vid Music, and many more apps work, and allow offline content browsing. 8. Also a solved problem with LocalStorage & File APIs available in the web. Sorry for the super long response! Just wanted to address the concerns you had written about. I'd love to answer any other questions or thoughts you have on this or similar approach. Professionally, I'm a backend software engineer, but I dabble in a good amount of frontend work too on occasion, and do a lot of hobbyist embedded work for fun as well.
@Brian-S
@Brian-S Год назад
Is there a way to purchase these or have one made for me from pcbway or anything? There's so many cool projects I'd love this thing for
@iforce2d
@iforce2d Год назад
I have been using JLCPCB to make the prototypes, so if you made an account there you could just clone my project files. They are not public right now though because they'll change a bit here and there yet, and the firmware validation part is not finalized so it would be a while before you'd actually get the firmware onto your boards. You would also need a ST-Link dongle to flash the initial bootloader, before you can use the in-browser firmware flashing over USB shown in the video. But I guess you could get a head start so that at least the hardware is in your hands ready to go asap. You could also save some money if you don't want the MPU6050 because they're asking about $10 for those atm! Anyway give me a mail (iforce2d at gmail) and I can let you know when I make the project files public and where to get them.
@iforce2d
@iforce2d Год назад
Hi Brian. The hardware design is available here if you wanna take a look. If you have any questions probably best to contact me iforce2d at gmail, because I have reply notifications here turned off. oshwlab.com/iforce2d/stm32-basic_copy_copy_copy
@RandomTorok
@RandomTorok 9 месяцев назад
Where can we buy an Iomixer and where do we find the software you are using to program the thing?
@tenns
@tenns Год назад
let's gooooooooooooooooooooooooooooooooooo
@nuxboxen
@nuxboxen Год назад
I don't understand the emphasis on "beginner", then number of people with a need for this capability that don't already have deep understanding are so few I could count them on my right hand.
@iforce2d
@iforce2d Год назад
From looking at the comments on my channel over the years, I would say the opposite is true. There are plenty of people who want to get something done but their programming aptitude is nowhere near "deep understanding". Many of them don't even care about programming at all, it's just an obstacle to meeting their goals. I've also seen many cases where people have to rely *entirely* on "friend who does programming" to get their project finished. Even for people who might already know how to get things done in code, the fact they are capable of doing it the hard way doesn't mean they actually want to, or that they would reject an easier option. Consider also that there is a whole slice of population who've had no contact whatsoever with this kind of stuff, who might actually see a use for it if they know the system is accessible.
@marcelpost4052
@marcelpost4052 Год назад
My suggestion would be to sell your code as either compiled binaries or inside locked flash memory chips. Do not trust people to be honest in keeping a licence just for themselves. Once the cat is out the bag your code will be in 'the East' forever. Hans Summers from QCX fame has been walking this route successfully for quite some time now.
@iforce2d
@iforce2d Год назад
Well the firmware update files would have to be compiled binaries, yes. I certainly wouldn't be distributing the source code. STM32 chips have unique IDs which would be used in the activation process. Thanks for the tip about Hans, I might see what he has to say about it.
@BuzZ.
@BuzZ. Год назад
You may not need a relay server, I think at least chrome supports webUSB. Not supported in any other browser tho I think
@iforce2d
@iforce2d Год назад
Right. I wrote up some reasoning for not using Web Serial here: www.iforce2d.net/tmp/swip/overview/webserial.html
@altimmons
@altimmons Год назад
Use a spi based memory, Simple and large sizes are available bow- ok you are but you can easily sub out the 2Mb with 8Mb
@feiyang8471
@feiyang8471 Год назад
Can the ui framework be open source? Or included in rube?
@Bassem.Boshra
@Bassem.Boshra Год назад
I suggest you call it Graphically Programmed Generic Embedded System. It is a long name but exactly describing what it is. I wonder how much are you selling the boards and the software subscription? I wish also you have MQTT support on that board as well.
@alexsam3490
@alexsam3490 11 месяцев назад
Good day)) Sir) Please tell me how this thing is connected - can I connect like that?? And what is a server and WHERE TO GET IT? Please explain))) And if possible, then give links - those links that you provided are not entirely clear what to do
@iforce2d
@iforce2d 11 месяцев назад
This is not ready for full release yet. Contact me iforce2d at gmail if you're interested to try an early prototype.
@alexsam3490
@alexsam3490 11 месяцев назад
@@iforce2d Sir i emailed you)) I will be very grateful for your reply
@alexsam3490
@alexsam3490 11 месяцев назад
Can anyone tell me how to connect it???? What is a Relay server and where can I get it??? and how to connect yusb and browser?? Please help with instruction or video
@spleenware
@spleenware Год назад
You should make the Configurator a cloud based product, and charge a subscription. Easiest way to manage/enforce monetisation
@russcole5685
@russcole5685 Год назад
This mixer, from what I can understand, is able to make a cheap fixed radio, into a very useful control unit, with similar, if not more possiblity's than an expensive EdgeTx OpenTx system
@iforce2d
@iforce2d Год назад
Right. Hopefully it would be easier to set up too.
@mahoneytechnologies657
@mahoneytechnologies657 10 месяцев назад
Is this product available to buy?
@blacklion79
@blacklion79 Год назад
If it has a PID node and AHRS node, it can be programmed as a full flight controller :-)
@iforce2d
@iforce2d Год назад
It has PID but not proper sensor-fused AHRS. I tried using it to fly a plane in auto-level and as expected the sensed "down" direction of gravity drifts over time, especially in long turns. The result is that when you let go of the stick, it will not quite return to level. Good enough as a rescue mode maybe, but I wouldn't call it a proper flight controller. At the time there was no barometer support, but I might try again to see how well it can do a basic return-to-home.
@evo-labs
@evo-labs Год назад
Very nice! Having done UI design in years past I'm wondering about the level of abstraction in the terminology and programming of the nodes. If this is aimed at beginners and they are not going to need to revert to lower levels of how the board works etc, then using terms that are more understandable to a layman should be considered. For example, perhaps replace 'Binary operator' with 'True/False'. It's a dilemma I've often faced in the past, that despite my application of logic often ends up being called whatever makes sense to the end user (i.e established through usability tests).
@iforce2d
@iforce2d Год назад
I called that one 'binary operator' because it takes two operands, and the operator can be any one of a dozen or so options, eg. add, subtract, multiply, modulus, equal to, logical and/or, min/max etc. I was just going with the unary, binary, tertiary style of naming which seems to be a fairly non-controversial convention, eg. en.wikipedia.org/wiki/Binary_operation It's unfortunate that the word binary might evoke association with binary data (zeroes and ones) for many people though. Will see how it goes.
@Mr0rris0
@Mr0rris0 Год назад
@@iforce2d sounds like a dielectric Phoenix to me
@stevefox3763
@stevefox3763 Год назад
The omnibus F4 pro has 8 pwm outputs, not 4.
@deSloleye
@deSloleye Год назад
Something totally proprietary, Dauntless. SBM Dauntless.... That's right isn't it? Or is it the Avenger?
@MrTidangerous
@MrTidangerous Год назад
I would call the programming environment Micro Control Builder.
@wayland7150
@wayland7150 Год назад
It looks similar to Node-Red.
@ahmedmoustafa6829
@ahmedmoustafa6829 Год назад
Why not RP2040 instead of STM32?/
@iforce2d
@iforce2d Год назад
I feel like your question is incomplete without stating at least one advantage the RP2040 would bring. In any case, the RP2040 did not exist in early 2020 when I started this project.
@ahmedmoustafa6829
@ahmedmoustafa6829 Год назад
@@iforce2d it cheaper, faster , larger flash,..
@iforce2d
@iforce2d Год назад
Cheaper is always nice. RP2040 has no flash, maybe you mean RAM? Over about 64MHz, speed is not really an advantage. Better to have more peripherals (UART, SPI, timers, ADC, DMA etc) and pins. Also larger range of chip specs and packages (hand-solderable packages during development) is good. This system is not intended to be tied-down to a single micro-controller model. The RP2040 is very impressive for the price though.
@tec4303
@tec4303 Год назад
Maybe rename that Upload button to "Try", because someone will surely be confused that the program doesn't work after hitting upload and unplugging the board
@iforce2d
@iforce2d Год назад
Not a bad idea. It's still easy to forget though, even when you're well aware of the meaning. So I will probably add a notification if the device is unplugged when an upload has been done more recently than a save. In my experience, that would solve it for me in almost all actual cases. The other way to lose your work might be to close the browser before unplugging, but I have now handled this by using local storage, so the next time you open the browser it's all still there. Thanks for the feedback. btw I have been sending out a prototype here and there, email iforce2d at gmail if you might be interested to try it.
@DesertVox
@DesertVox Год назад
This can program a boeing 747 to fly autonomously.
@goobisoft4873
@goobisoft4873 Год назад
First
@chnstark458
@chnstark458 Год назад
Sir
@techmakerandhacker7867
@techmakerandhacker7867 Год назад
how about a name like " signal mix RC "
@buckstarchaser2376
@buckstarchaser2376 Год назад
Seems very useful, but the monetization scheme ideas seem so convoluted and irritating, while not really being "worth it" for any moral reason, since you're still likely to get them built in China. There is no reason not to wait for China's inevitable bootleg, since the legit author simply wants everyone else to do the work, while he sits back and clicks the "send code" button in response to a check clearing. At the beginning of the video, I thought you non-sarcastically said you like programming. There must be a way to code the project into something that has a more modern purchase/delivery system that the 1980's system you have envisioned.
@MrTerrymiff
@MrTerrymiff Год назад
I know it is called sbusmixer but, in this age of gender diversity, can it identify as a crsfmixer?
@iforce2d
@iforce2d Год назад
That's on my todo list, it will not be for a while yet. New features are on hold at the moment while I set up the new server, database, website, etc.
@blacklion79
@blacklion79 Год назад
btw, now JavaScript in browsers has a USB API (facepalm.jpg)
@iforce2d
@iforce2d Год назад
I wrote up some reasoning for not using Web Serial here: www.iforce2d.net/tmp/swip/overview/webserial.html
@NikolayKolevStz
@NikolayKolevStz Год назад
"S-busler" , "S-bushler" , "Sbushler" , "sbus creator", "webSmixer" ...
@tymoteuszkazubski2755
@tymoteuszkazubski2755 Год назад
You can ask BLheli_32 dev about monetization.
@Mike4_friends
@Mike4_friends Год назад
Looking Great, Q: Would not Teensy4.1 with external IMU PCB do the same job? Similar what dRehmFlight (google !) has done. Looking forward to your reply. Mike
@iforce2d
@iforce2d Год назад
The Teensy is a rather more high spec chip that could do all this and much much more. The same could be said for hundreds of other chips out there. Just gotta pick one and work with it.
Далее
What exactly can you do with iomixer?
56:03
Просмотров 12 тыс.
Хотите поиграть в такую?😄
00:16
Просмотров 375 тыс.
Who Can Break Most Walls? Ep.2 | Brawl Stars
00:26
Просмотров 675 тыс.
Dora’s Tyla Dance is Everywhere 😨 #shorts
00:14
Просмотров 2,1 млн
Цены на iPhone и Жигули в ЕГИПТЕ!
50:12
Weeny solder bot (LinuxCNC on A4 paper size)
58:03
Просмотров 97 тыс.
How to make your own iomixer boards (JLCPCB)
29:09
Просмотров 3,8 тыс.
Build Your Own Drone Tracking Radar:  Part 1
20:08
Просмотров 483 тыс.
The Madness of Z80 I/O
22:52
Просмотров 71 тыс.
GPIO for any PC or Laptop: Adafruit FT232H
19:18
Просмотров 197 тыс.
Cheap Risc-V Supercluster for $2 (DIY, CH32V003)
9:02
Просмотров 246 тыс.
🚘 когда купил себе полик
0:35
Просмотров 1,7 млн
Попалась за конфету 🍭🙃
0:20
Просмотров 2,4 млн