一、开箱
感谢本次电源网与得捷组织的活动,终于体验到了这次的一个没有预料到突然出世的ARDUINO UNO Q。其实时间过去也得有两个多月了吧,高通宣布收购Arduino,高通以“赋能开发者”为旗号,将3300万Arduino社区用户纳入其技术版图时,整个行业都在屏息等待:这场收购将如何重塑开源硬件的未来?然后就是Arduino UNO Q的横空出世,明显实际收购还要早很多,当时这个板子被抢的很厉害,一度断货。不过现在货源相对还算充足了,还有个4G版的相抵没有出来。
既然是Arduino出品的,不管是否被收购了,其基本的风格还是没有什么变化的,可以看到,其外观的盒子还是之前的尺寸:

打开之后看到的开发板依然保留了很多的Arduino的元素,比如通用的接口和LED矩阵,以及qwiic接口:

对比一下和上一代R4的对比,可以看到UNO Q深邃了很多:

当然不同之处也很明显,毕竟多了高通的高性能核心,还有一个U5的控制端,其背面也多了一个接口,估计后续会出来新的接口板子吧:

Arduino社区目前呈现出一种鲜明的两极分化态势:一部分用户心怀忧虑,担心“开源精神”会逐渐被商业利益所侵蚀;而另一部分用户则对技术的不断升级满怀憧憬与期待。不过,这种矛盾在UNO Q发布之后逐渐得到了化解——高通方面明确给出了承诺,Arduino将会维持其独立的品牌、工具以及使命,持续支持多供应商芯片的生态系统。与此同时,UNO Q的源代码也实现了完全开源,并成功集成到了上游仓库之中。看来arduino的使命还是继续延续下去。
UNO Q的最大突破在于其“双处理器(Hybrid MPU+MCU)”架构:
主处理器(MPU):高通Dragonwing™ QRB2210 SoC,集成4核Arm Cortex-A53(2.0GHz)、Adreno 702 GPU(845MHz)、双ISP(支持25MP摄像头)和Wi-Fi 5/蓝牙5.1模块,运行Debian Linux系统。这一配置使其能直接运行Python脚本、Web服务,甚至轻量级AI模型(如通过Edge Impulse优化的物体检测模型)。
微控制器(MCU):STM32U585(Cortex-M33内核),运行Zephyr实时操作系统和Arduino Core,专责处理PWM、ADC、CAN总线等实时控制任务,时延低于1ms。
两者通过Arduino Bridge(RPC远程调用层)实现无缝协作。例如,当Linux侧的摄像头检测到人脸时,可通过RPC调用MCU控制舵机解锁门禁;而MCU采集的传感器数据(如温度、湿度)也能实时上传至Linux侧进行数据分析。这种“高层逻辑+实时控制”的分工,让单块开发板同时具备树莓派的计算能力和Arduino的实时响应能力。
二、开发环境的变化
统一了开发环境,UNO Q的另一大创新是Arduino App Lab——一个集Arduino Sketch、Python脚本、AI模型训练和容器化部署于一体的全栈开发环境。开发者无需在Arduino IDE、PyCharm、Jupyter Notebook等工具间切换,即可完成从传感器数据采集到AI推理的全流程开发。
例如,开发一个智能垃圾分类系统:
硬件层:通过Qwiic接口连接摄像头模块和舵机;
数据层:在App Lab中调用Edge Impulse工具链,用真实垃圾图像训练分类模型;
逻辑层:用Python编写图像识别代码,通过RPC调用MCU控制舵机开合;
部署层:将整个应用打包为容器,一键部署到UNO Q或云端。
这种“所见即所得”的开发体验,大幅降低了AI应用的门槛。不过对于单一方面使用的用户来说可能还需要继续熟悉一下,毕竟对于之前只接触过arduino IDE的我来说需要进一步的体验一下。对于这块开发板的软件开发建议可以采用官方提供的 Arduino App Lab 软件进行开发,这个软件很小,只有50多M,不用安装直接就可以运行,打开软件会自动扫描是否连接到了 Uno Q 开发板,这里扫描到了 USB 连接到的开发板,稍微识别可能会慢一点:

首次安装需要更新不少的内容,Arduino App Lab是安装的,直接就安装到了C盘,可能比较小,安装的太快直接打开了,这样其实不太好,软件其实不希望装到C盘。需要更新这个部分:

接下来就继续配置,比如直接配置网络,配置板子信息,配置linux账号(arduino admin123),然后进入首先看到的就是很多例程:

接下来我们继续进行一下例程的体验,最简单的bilink的例程:

这块依然式ino的文件,不过里面的写法稍微还是有点不一样的,然后就是编译,其双核之间是进行联合编译的,如果对于一般开发者来说只是用类似于之前的arduino来开发的话,其整体的编译效率是降低的,其主核的编译是linux,时间需要的比较长,整体的运行显示基本还是分开的:

还有一点,如果想要实现控制,需要在ino中创建接口,然后再python中进行实际的调用控制。
初步体验下来,Arduino UNO Q 这款开发板的性能确实是十分的强大,在 MCU 端使用 ino 也就是 C 代码进行开发、在 MPU 端采用了 Python 代码进行开发,然后统一进行的编译、烧录、部署、运行,不过对于不会进行linux开发的人来说还是需要进行不得学习体验,尤其是写法上要进行进一步得练习。
