What exactly is 'iomixer' ?

Sdílet
Vložit
  • čas přidán 30. 06. 2024
  • 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
  • Zábava

Komentáře • 141

  • @iforce2d
    @iforce2d  Před rokem +6

    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 Před rokem

      what component/library are you using for diagrams (the configuration tool)?

  • @pere_gt__stgtsport5467
    @pere_gt__stgtsport5467 Před 8 měsíci

    You are an embedded wizard. Thank you! I don't know how the youtube algorythm did not suggest this earlier. Huge respect.

  • @ismzaxxon
    @ismzaxxon Před rokem

    You have given enough away over the years. I like that you will get something back.

  • @dieterweik6858
    @dieterweik6858 Před rokem

    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  Před rokem

      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 Před rokem

      @@iforce2d "I/OMixer... Sounds like the obvious choice for a name, once you hear it - which makes sense, given how GPT works.

  • @AerialWaviator
    @AerialWaviator Před rokem +2

    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.

  •  Před rokem

    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...👍👌🎄

  • @DEtchells
    @DEtchells Před rokem +2

    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 :-)

  • @agrifurb
    @agrifurb Před rokem +2

    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  Před rokem

      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.

  • @MrTerrymiff
    @MrTerrymiff Před rokem

    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 CZcams 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  Před rokem

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

  • @georgef7754
    @georgef7754 Před rokem

    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.

  • @muh1h1
    @muh1h1 Před rokem +3

    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  Před rokem

      I wrote up some reasoning for not using Web Serial here:
      www.iforce2d.net/tmp/swip/overview/webserial.html

    • @muh1h1
      @muh1h1 Před rokem

      @@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  Před rokem

      Right, that's number 7 in my list.

  • @YensR
    @YensR Před rokem

    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 Před rokem +8

    I think you should call it Flow Chart Flight Control (F2C). Very impressive project!

    • @reezlaw
      @reezlaw Před rokem

      IMHO that's nice but too specific, this could do so much more than just flight

    • @nielsencs
      @nielsencs Před rokem +1

      Good name! Or how about FlowRC or Flowtrol?

  • @tinygriffy
    @tinygriffy Před rokem

    Incredible work ! Thanks for the Video !

  • @benznote2342
    @benznote2342 Před rokem +1

    "..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 😪

  • @kattz753
    @kattz753 Před rokem

    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.

  • @siddhantrao9587
    @siddhantrao9587 Před rokem

    Great work man!!!

  • @pfeerick
    @pfeerick Před rokem

    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! :)

  • @techmakerandhacker7867

    this is super interesting and mind blowing

  • @jamesmoore2007
    @jamesmoore2007 Před rokem +1

    This thing is way cool I'd buy a few of them!

  • @KenColangelo
    @KenColangelo Před rokem

    Wow! Great work.

  • @RomanBartocci
    @RomanBartocci Před rokem

    wow, amazing! nice work man... impressive ... i wanna get started with one of these boards ....thanks

  • @norfolkflyingboyz2404

    Still doing the best videos. 😎😍

  • @georgwrede7715
    @georgwrede7715 Před rokem

    Simply amazing!

  • @peterdlynes
    @peterdlynes Před 8 měsíci

    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.

  • @arbelarad1980
    @arbelarad1980 Před rokem +4

    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  Před rokem

      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 Před rokem

      @@iforce2d Most likely it was "why micro usb" (when everyone knows everything should have USB-C on it nowadays... yeah right... whatever)

  • @encorespod2135
    @encorespod2135 Před rokem +2

    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  Před rokem

      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.

  • @NutzernameUnknown
    @NutzernameUnknown Před rokem +2

    I would definitely buy this thing even if i had to build the hardware by myself. Really impressive and high potential.

    • @iforce2d
      @iforce2d  Před rokem +2

      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 Před 9 měsíci

      @@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 !

  • @reezlaw
    @reezlaw Před rokem +1

    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

  • @SpaceWolf011
    @SpaceWolf011 Před rokem +1

    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  Před rokem

      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.

  • @deanbell5164
    @deanbell5164 Před rokem +2

    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  Před rokem +1

      The firmware is C++ using STM32CubeIDE, the bootloader is C using libopencm3 for smaller code size.

    • @deanbell5164
      @deanbell5164 Před rokem

      @@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 Před rokem +1

    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  Před rokem +1

      Thanks, much appreciated!

  • @BuzZ.
    @BuzZ. Před rokem

    I've watched your channel for a long time. And until now, I had no idea wtf sbus mixer actually did tbh.

  • @brucebaxter6923
    @brucebaxter6923 Před rokem

    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  Před rokem +1

      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.

  • @dansxmods
    @dansxmods Před rokem +1

    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

  • @ruedogs
    @ruedogs Před rokem +1

    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  Před rokem

      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 Před rokem

      @@iforce2d, fair enough.

  • @yeinierferras2721
    @yeinierferras2721 Před rokem

    Nice work!!!!😃😃😃

  • @woodrunner51
    @woodrunner51 Před rokem

    Very impressive

  • @nuxboxen
    @nuxboxen Před rokem +1

    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  Před rokem

      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.

  • @muhammadqaisarali
    @muhammadqaisarali Před 9 měsíci

    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  Před 9 měsíci +1

      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: czcams.com/channels/TXOorupCLqqQifs2jbz7rQ.htmlcommunity?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 Před 9 měsíci

      @@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 😉.

  • @AndyRutter
    @AndyRutter Před rokem

    I hadn't seen this until CZcams 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  Před rokem

      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.

  • @skelethornbro
    @skelethornbro Před rokem

    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  Před rokem +1

      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: czcams.com/video/fA5sFRh3OkY/video.html

  • @janp5775
    @janp5775 Před rokem

    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  Před rokem +1

      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:
      czcams.com/video/7Flc1PRYDoo/video.html

  • @spleenware
    @spleenware Před rokem

    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? :-)

  • @emovard3n
    @emovard3n Před rokem

    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

  • @BuzZ.
    @BuzZ. Před rokem

    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"

  • @Lux158
    @Lux158 Před rokem

    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  Před rokem

      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.

  • @kontrolmikro1314
    @kontrolmikro1314 Před rokem

    amazing...

  • @lunacyworks
    @lunacyworks Před rokem

    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.

  • @blacklion79
    @blacklion79 Před rokem +1

    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  Před rokem +1

      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!)

  • @mattiasfagerlund
    @mattiasfagerlund Před rokem

    Very cool! What's the web app developed in?

    • @iforce2d
      @iforce2d  Před rokem

      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 Před rokem

      @@iforce2d Nice - I can't do js no more, gotta be TypeScript or I drive myself crazy with all the type freedom.

  • @AlJay0032
    @AlJay0032 Před 10 měsíci

    Great project, hope you will be able to somehow monetize it.

  • @nohokum1944
    @nohokum1944 Před rokem

    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.

  • @altimmons
    @altimmons Před rokem

    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

  • @RandomTorok
    @RandomTorok Před 9 měsíci

    Where can we buy an Iomixer and where do we find the software you are using to program the thing?

  • @Brian-S
    @Brian-S Před rokem

    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  Před rokem

      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  Před rokem

      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

  • @spleenware
    @spleenware Před rokem

    You should make the Configurator a cloud based product, and charge a subscription. Easiest way to manage/enforce monetisation

  • @nickldominator
    @nickldominator Před rokem

    6:43 Web Browsers can actually talk to serial ports using the Web Serial API. Def. worth a look.

    • @iforce2d
      @iforce2d  Před rokem +1

      I wrote up some reasoning for not using Web Serial here:
      www.iforce2d.net/tmp/swip/overview/webserial.html

    • @nickldominator
      @nickldominator Před rokem +1

      ​@@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, CZcams, CZcams 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.

  • @feiyang8471
    @feiyang8471 Před rokem

    Can the ui framework be open source? Or included in rube?

  • @Bassem.Boshra
    @Bassem.Boshra Před rokem

    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.

  • @marcelpost4052
    @marcelpost4052 Před rokem

    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  Před rokem +1

      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.

  • @mahoneytechnologies657
    @mahoneytechnologies657 Před 10 měsíci +1

    Is this product available to buy?

  • @user-zg2kr6ph9z
    @user-zg2kr6ph9z Před rokem

    Nice

  • @alexsam3490
    @alexsam3490 Před 10 měsíci

    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

  • @russcole5685
    @russcole5685 Před rokem

    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  Před rokem +2

      Right. Hopefully it would be easier to set up too.

  • @fiveangle
    @fiveangle Před rokem

    Holy crap !

  • @BuzZ.
    @BuzZ. Před rokem +1

    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  Před rokem +1

      Right. I wrote up some reasoning for not using Web Serial here:
      www.iforce2d.net/tmp/swip/overview/webserial.html

  • @alexsam3490
    @alexsam3490 Před 10 měsíci

    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  Před 10 měsíci

      This is not ready for full release yet. Contact me iforce2d at gmail if you're interested to try an early prototype.

    • @alexsam3490
      @alexsam3490 Před 10 měsíci

      @@iforce2d Sir i emailed you)) I will be very grateful for your reply

  • @tenns
    @tenns Před rokem

    let's gooooooooooooooooooooooooooooooooooo

  • @blacklion79
    @blacklion79 Před rokem

    If it has a PID node and AHRS node, it can be programmed as a full flight controller :-)

    • @iforce2d
      @iforce2d  Před rokem +1

      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 Před rokem

    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  Před rokem +1

      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 Před rokem

      @@iforce2d sounds like a dielectric Phoenix to me

  • @stevefox3763
    @stevefox3763 Před rokem

    The omnibus F4 pro has 8 pwm outputs, not 4.

  • @MrTidangerous
    @MrTidangerous Před rokem

    I would call the programming environment Micro Control Builder.

  • @deSloleye
    @deSloleye Před rokem

    Something totally proprietary, Dauntless.
    SBM Dauntless.... That's right isn't it? Or is it the Avenger?

  • @wayland7150
    @wayland7150 Před rokem

    It looks similar to Node-Red.

  • @tec4303
    @tec4303 Před rokem

    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  Před rokem

      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.

  • @ahmedmoustafa6829
    @ahmedmoustafa6829 Před rokem

    Why not RP2040 instead of STM32?/

    • @iforce2d
      @iforce2d  Před rokem +1

      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 Před rokem

      @@iforce2d it cheaper, faster , larger flash,..

    • @iforce2d
      @iforce2d  Před rokem +1

      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.

  • @DesertVox
    @DesertVox Před rokem

    This can program a boeing 747 to fly autonomously.

  • @techmakerandhacker7867

    how about a name like " signal mix RC "

  • @chnstark458
    @chnstark458 Před rokem

    Sir

  • @goobisoft4873
    @goobisoft4873 Před rokem +1

    First

  • @buckstarchaser2376
    @buckstarchaser2376 Před rokem

    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.

  • @blacklion79
    @blacklion79 Před rokem

    btw, now JavaScript in browsers has a USB API (facepalm.jpg)

    • @iforce2d
      @iforce2d  Před rokem +1

      I wrote up some reasoning for not using Web Serial here:
      www.iforce2d.net/tmp/swip/overview/webserial.html

  • @MrTerrymiff
    @MrTerrymiff Před rokem

    I know it is called sbusmixer but, in this age of gender diversity, can it identify as a crsfmixer?

    • @iforce2d
      @iforce2d  Před rokem

      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.

  • @NikolayKolevStz
    @NikolayKolevStz Před rokem

    "S-busler" , "S-bushler" , "Sbushler" , "sbus creator", "webSmixer" ...

  • @tymoteuszkazubski2755

    You can ask BLheli_32 dev about monetization.

  • @Mike4_friends
    @Mike4_friends Před rokem

    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  Před rokem

      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.