Skip to main content

· 2 min read

As an engineer who was not involved in the development of Duo, I received the first MilkV Duo MPU for the entire company and was told by my colleagues that my experience was critical to the subsequent optimization of Duo and that I was expected to talk about Duo's performance in application scenarios from a developer's perspective. The benefit of Duo is that he can run Linux and even AliOS at the same time, making it very simple for me to perform many control operations via software.

Smart door locks

The vast majority of smart locks today are unlocked with a password, which can be accomplished with a very common MPU. Face-recognition smart door locks are very expensive, and manufacturers must invest a significant amount of money in custom development. With the introduction of Duo, such scenarios now have a new solution.

Face recognition and door lock motor control are the two primary functional modules of smart door locks.

And because Duo runs Linux and AliOS, we can easily deploy face recognition algorithms on the system. I chose to take advantage of Duo's AMP feature. I ran the CenterFace algorithm on my PC to generate a minimal model, which I then deployed on Duo's AliOS-Things, while Linux was used to control the opening and closing of door locks and other functions, allowing the face recognition module to run more reliably and with less impact on performance. I did not optimize or validate the model's recognition accuracy, but the actual running results satisfy the smart door lock scenario. Please keep in mind that if you are training your model with PyTorch, you must convert it to an ONXX model. Because Duo only supports ONXX and Caffe at the moment.

End

In the above section, I have shared the simple idea of Duo based development. To be honest, I realized near the end of the development that a development board with such powerful features is smaller than a credit card in appearance. Thanks to the engineers who developed Duo, Duo has made it easier for me to tackle AIoT projects and to be able to finish developing smart products more easily.
Duo will be ready to meet you soon and believe me, you will experience the excitement when Duo is actually in your hands!

· 3 min read

Introduction

MilkV's team is comprised of experienced engineers who discovered in previous projects that there are very few small, general-purpose, low-power, low-cost development boards capable of running smart home systems. Because of the high demand for the AI processing capability of the development board itself, it is difficult to choose a suitable MPU for the development of AIoT, and to solve this problem, MilkV engineers decided to make their own MPU.

Beginning

The MilkV engineers began the more detailed planning process with the initial concept in mind. We decided to build our product on the RISC-V architecture to further reduce development and production costs. On the one hand, MilkV saw it as part of our mission to advance RISC-V; on the other hand, the RISC-V architecture's ease of development, small footprint, low cost, and high efficiency allowed us to launch this product with a price/performance combination.

Bob, one of our engineers, suggested: "The requirement for multi-threaded processing capability of processors is relatively high in the field of artificial intelligence combined with embedded, and a common solution is for multiple processors to work together, with each processor responsible for one type of task. And because different systems perform different tasks at different rates of efficiency, can we make each core run a system independently of the others? This could result in increased efficiency." As a result, we employ Asymmetric multiprocessing (AMP) technology.

Multiple cores running different tasks relatively independently are referred to as AMP technology. Each core may run a different operating system or bare-metal program, or a different version of the operating system. However, the system is controlled by one main core and several slave cores. This makes each core individually more efficient, without suffering too much from the negative efficiency effects of "collaboration". This relationship, like two brothers working independently but cooperatively, reminds us of the word ——Duo.

Development

The MilkV team prioritized Duo's development after refining the requirements. We thought Duo was a product that made a lot of sense for developers, and the MilkV engineers were all ecstatic.
On the hardware side, the main issue became how to improve the product's configuration and quality as much as possible while keeping costs low. We raised prices and squeezed margins repeatedly. After many rounds of testing, we finalized the version after creating several layouts. On the one hand, AMP technology is less common and more difficult to develop, and development must take into account the hardware platform and software, placing high demands on engineers; on the other hand, there is little sharing and communication between companies on AMP technology, leaving us unable to avoid falling into the trap again and again. Thanks to the tireless efforts of the engineers, the development of Duo was a complete success.

Finally,

We are overjoyed that Duo has finally become a finished product after months of collaboration. We gave one to each MilkV engineer, so the first users of Duo were our engineers. During the month of use and testing, we discovered some issues and then optimized Duo. These issues would not affect users who purchased the official version of Duo.

Every developer who has seen Duo has found it to be a very useful and cost-effective RISC-V AI MPU, and they are looking forward to using it in many of their upcoming smart home projects. We can't wait to show you Duo! We believe Duo will be ready to meet you very soon!