By Xiang-Yang Lu

In 2005, the Arduino adopted an 8-bit microcontroller unit (mcu), which had low processing capacity and can only take on a single task at a time. The newly launched Arduino development boards in recent year; in comparison, features an ARM Cortex-M. With the increased computing power, it would be a waste to only solve one task at a time. Therefore, Arduino has been trying to build a multi-tasking mechanism.

Multi-function introduced

The current Arduino program can perform multi-tasking, where there is loop() functions processed with speed, while millis() functions are also used to make sure the tasks are completed on time. Despite these features, the setbacks lie in a great increase in the amount of the codes used, adding to the workload for debugging and maintenance. Moreover, the multi-functions are carried out using a single core, where there is no support for multiple cores.

To solve this challenge, a new approach is using the scheduler library to allow multitasking. Programs can be broken down into multiple loop functions to be executed, making the codes concise, and it is easier for debugging and maintenance.

However, this design features coordinated multitasking, meaning, should a program have poorly written codes that result in the occupation of the master control of the system during execution, other tasks will be delayed or suspended. In addition, this new idea of multi-functions is still in trial stage, where multi-core system are not supported.

Also, multitasking execution that runs on a loop exhausts programs easily, while it is usually hoped that the program can be put to sleep to save power and only woken when triggered by an event or when there is data incoming. For this reason, multitasking execution can only be achieved at the expense of power saving.

In short, Arduino are still trying other ways to realize multitasking, hoping to develop a set of standard application programming interfaces. At present, Arduino has put relevant information and codes on GitHub, where there are Makers from all walks that can exchange ideas and come up with a more ideal multitasking library and interface for application programming.

USB Cable by Arduino

Recently, Arduino launched its own brand of USB cables, which attract not much attention from the public. After all, USB cables are commonly seen, while the ones by Arduino cost a bit much, with 8.4 Euros or $9.8 a piece.

That being the case, most people know that some USB cables are not very durable and will soon wear out and have bad connections. This can be especially troublesome for Makers, as they use cables mostly for power supply to their development boards and sometimes burning programs.

It is perhaps due to the above reasons, Arduino now launches a USB cable about 1 meter long, with a Type-C male end at both ends. It also comes with an adapter that can convert the Type-C host into a conventional type-A end for use on older systems.

Lastly, since it is an official brand, the cable is engraved with the word “Arduino”, which contributes to a little bit consumer vanity.



The share account of vmaker editors. Send your work to us:contact@vmaker.tw