Hello everyone, the price increase of Raspberry Pi is already old news, and many people are asking if there are alternatives available. However, as the saying goes, it’s better to teach a person to fish than to give them a fish. Today, we will conduct an in-depth analysis of how to choose a development board. I hope this can provide some help to everyone.
Before buying a development board, you first need to determine your purpose, and then consider other factors. In fact, when making a choice, we are doing subtraction, narrowing down the options step by step:
For example, if I need to purchase a development board that can perform image recognition, I must first eliminate those boards that do not have an NPU. This way, the range of options has already narrowed significantly. (However, if the things you want to recognize are just simple lines, then the range of choices immediately widens a lot.)
The next step is to carefully filter:
You can filter based on budget, performance, expansion, and documentation. As for the weight of each factor, it varies from person to person, and you need to judge for yourself.
Now, let’s pose some questions:
1. How do I choose a cost-effective development board that meets basic requirements, can run Linux, and can support my software?
Answer: For this type of user, you need to pay attention to two points: one is to lock in ARM architecture development boards; RISC-V should definitely be avoided as the ecosystem is currently inadequate. As long as it can run Linux, it indicates that your documentation requirements are not high, and you do not need to engage too much with hardware. This way, your range of choices is quite large, and you can freely choose from various domestic development boards. Finally, just select a development board that you feel is well-balanced in terms of performance and price.
2. How do I choose a development board for NAS or set-top box applications?
Answer: Users in this category usually have specific requirements and are likely not first-time users. Therefore, you need to look at expansion and interfaces. For example, does the NAS require dual Ethernet ports? Is it necessary to install SSDs, and how easy is it to install them? Are there SATA interfaces? If it is for a set-top box, you need to check the version and number of supported HDMI interfaces, whether it can support the installation of Android, and whether it supports Kodi. The performance must also be quite strong, as it needs to run Android.
3. How do I choose a development board that can perform image recognition?
Answer: This type of development board depends on the complexity of the objects you want to recognize. If it’s just simple lines or simple objects, chips like K210 are sufficient, and even ESP32 might be enough. If you are working on something more complex, it is recommended to choose a development board with NPU. Another situation is if your project is based on Linux, then please also select an ARM board with NPU. Some may ask if a Raspberry Pi is suitable; yes, but it’s not recommended as it does not have a significant advantage in this area. It is advisable to choose a board with an NPU, such as the Radxa Rock 3A. If you require a lot of computation and are using NVIDIA frameworks, you just need to buy according to your budget and that’s it.
4. How do I choose a small-sized development board?
Answer: It depends on your technical level and whether you can create an expansion board for the core board. This way, since they are stacked, it can save quite a bit of space. If you find it a waste of time or lack the ability to develop, it is recommended to directly choose a small-sized development board, or you can opt for a core board plus expansion board method, both are fine. At this point, the choice mainly depends on size.
5. I need to find a development board that can perform tasks like remote control, drive motors, and connect sensors. How do I choose?
Answer: For this type, it is strongly recommended to choose an MCU development board (especially if you are connecting motors since motors require drivers and can draw significant current, making them prone to issues). If the performance is insufficient, you can add an upper computer model. This way, if the MCU fails, the cost is relatively low. Additionally, if aesthetics are a concern, you can create an expansion board that includes the MCU, or later integrate it onto a single main board. Currently, many development boards already include MCUs, but for safety, if you are worried about damaging the board during experiments, it is advisable to use them separately and then combine them later.
MCUs (Microcontrollers) have lower performance and simpler circuits but require high stability and real-time performance. For example, chips like ATmega328P, ESP32, and RP2040 are all microcontrollers. Most of these controllers cannot run a complete Linux system.
6. I am a beginner and just want to learn about development boards. What should I do?
Answer: For this type, it is recommended that you start with easy-to-use MCUs. These development boards have rich software ecosystems, and you can engage hands-on with circuits, making it more enjoyable. If you choose ARM development boards, you will need to learn a lot about Linux operations and various skills necessary to solve problems, which can greatly undermine your confidence.
So, you can start with something like Arduino UNO, then move on to ESP32. At this point, you can work on network-related applications, and then progress to learning about those boards that run Linux.
For Linux development boards, it is still recommended to use Raspberry Pi, especially if it’s your first time, as there are many tutorials available online. The domestic options have their pain points as the user base is still insufficient. Many issues can only be resolved through personal effort or community support, which can be difficult to find.
Additionally, if you want to gain a deeper understanding of the circuits or source code of development boards, make sure to visit their official websites to find the relevant documentation and technical files, and choose the most comprehensive one. English is no problem; if you want to learn this, you will definitely need to engage with it.
The next article will recommend specific models, so stay tuned.
Development Board Recommendations
Khadas VIM3
The most powerful development board, using the A311D chip with strong performance and affordable price.
https://m.tb.cn/h.fPmlOR4?tk=KsC82WquaMh