Hi Unique_Letterhead,
My pleasure to reply and have conversations with makers like you! Always nice to hear some feedback first-hand.
Regarding the AI aspect, I can’t disclose the full details like the implementation. I’ll try my best to clarify the user side’s workflow for you. BTW, this information will be publicly available in the user guide & API document when the product ships, as we are currently polishing them to be suitable for all users. The following is more like a “tech talk” between engineers/makers.
Let’s start with a bit of context:
We’ve provided a “framework” for RC application written in MicroPython, which is universal across 99% of RC-related models. On top of this framework, there is a “control configuration” JSON file that contains the data for channel binding, and it embeds a small custom code block also written in MicroPython.
Most of the creators only need to configure this exchangeable JSON file through our GUI-enabled Apps for their RC project, covering different channel binding (for the different physical layouts and preferences like mode 1 vs. mode 2). If they want some advanced function, such as the Turbo Mode in soccer bots, or a programmed light pattern like police light, they can use this custom code block to achieve it. The above falls within the “playground” that our apps support with GUI and wireless tuning, etc. So, we encourage most creators to build their projects at this level for better shareability and ease of use for final users.
For another level “deeper”, policy-wise, we allow any user to look into the MicroPython code we’ve written for the RC framework, such as functions for motor & servo control, communication between TX and RX, etc… Ambitious creators can certainly delve into the framework and modify or even fully reconstruct it if necessary for additional functionality. However, this will more or less compromise the player’s user experience, as they won’t be able to easily modify several parameters inside of it with a GUI.
Now to (finally) answer your question about AI’s role here: it’s mostly for coding within the “playground”, where the user essentially only need to select the right functions we’ve prepared in our library, and feed the right parameters into them. For this particular task, we’ve tested and AI can certainly help out, often working out in several or even the first try. In this regard, I think it’s fair to call it “AI assisted” - but not “no-coding-needed”. At least, not yet. I won’t lie and say we developed a State-of-the-art coding AI that beats all the others, and it would be an overkill for a 3DP toy project, eh?
For modifying or reconstructing at the framework level, it still takes certain programming skill level. We’re yet to know how many of the creators will be willing to / capable of doing that, but we will follow up with more support if we see a creative new idea demanding that.
So far, we’ve planned the modules to be used alone (within the CyberBrick ecosystem). However, there are various interfaces that you could potentially utilize, say I2C, serial, or even websockets to integrate with your RPi. Maybe you can tell me a bit more about the application / project you want to do and we can discuss further. Again. there’s quite much more possibilities to explore, but during this very first stage of CyberBrick, as you step further from the RC-themed “playground” you might have to spend a bit more effort in implementing stuff.
Hope this answer helps! See you on Kickstarter!