Vì sao tôi ưa chuộng RP2040
(dgroshev.com)- RP2040 của Raspberry Pi là một vi điều khiển dùng để đưa vào thiết bị điện tử tiêu dùng; giá rẻ và dễ mua số lượng lớn từ kho, giúp giảm gánh nặng lựa chọn ở giai đoạn đầu phát triển
- Thay vì nhiều biến thể, Raspberry Pi tập trung vào một linh kiện duy nhất, giảm phần tối ưu hóa thông số chi tiết nhưng tạo hiệu ứng gom câu hỏi, ví dụ, thư viện và công cụ về cùng một nơi
- Mức giá khoảng 70 xu có thể bất lợi cho tối ưu chi phí linh kiện trong sản xuất hàng loạt, nhưng với các dự án như Late Mate, việc giảm chi phí phát triển có thể mang lại lợi ích lớn hơn
- Cấu hình gồm hai lõi, 30 GPIO, USB, UART/SPI/I2C/PWM, nhiều RAM nội bộ hơn và không có flash tích hợp là một thỏa hiệp đủ dùng và linh hoạt
- PIO, bootloader chỉ đọc và thiết kế tránh bảo vệ firmware quá mức khiến RP2040 trông như một linh kiện thực dụng được điều chỉnh cho các mục đích cụ thể
Hệ sinh thái được tạo ra từ chiến lược một linh kiện
- RP2040 là vi điều khiển do Raspberry Pi tạo ra; khác với các bo mạch Raspberry Pi được biết đến rộng rãi hơn, nó dùng để nhúng vào thiết bị điện tử tiêu dùng
- Trên Mouser có hàng tồn kho sẵn sàng giao ngay ở quy mô hàng chục nghìn chiếc, với giá khoảng 70 xu
- Các nhà sản xuất vi điều khiển thông thường cung cấp rất nhiều sản phẩm tương tự nhau nhưng khác nhau đôi chút
- Vì sản phẩm vật lý có chi phí sản xuất, nên trong sản xuất hàng loạt, việc tiết kiệm 1 xu cho mỗi linh kiện cũng ảnh hưởng đến lợi nhuận
- Do đó xuất hiện động lực chọn đúng mức thông số: chọn vi điều khiển có hiệu năng vừa khớp với sản phẩm
- Với RP2040, Raspberry Pi về cơ bản tập trung vào một linh kiện
- Số lựa chọn và dư địa tinh chỉnh thông số chi tiết giảm đi
- Đổi lại, các câu hỏi trên StackExchange, bài blog, kinh nghiệm, issue trên GitHub, thư viện và công cụ đều tích lũy quanh cùng một linh kiện
- Với các dự án như Late Mate, có thể tiết kiệm chi phí phát triển nhiều hơn chi phí linh kiện, nên chiến lược một linh kiện có thể là một thỏa hiệp tốt
- Hỗ trợ Rust rất tốt, chẳng hạn như ví dụ Embassy, và cũng có các ví dụ firmware cho bàn phím, drone và robot bóng đá
Phần cứng đủ dùng và sự linh hoạt của PIO
- Thiết kế của RP2040 gần với một thỏa hiệp đa dụng chọn cấu hình đủ dùng và linh hoạt hơn là “thông số cao nhất”
- Cung cấp hai lõi khá tốt, và lõi thứ hai có thể dùng khi cần
- GPIO ở mức trung bình với 30 chân
- Không có flash onboard, và dành ngân sách nhiều hơn cho RAM nội bộ, thứ khó kết nối từ bên ngoài hơn
- ADC ở mức ổn, đồng thời cung cấp các ngoại vi phổ biến như USB và UART/SPI/I2C/PWM
- Một tính năng ít truyền thống hơn là PIO
- PIO là viết tắt của Programmable Input/Output, giống như hai bộ xử lý phụ nhỏ thực hiện IO tốc độ cao với thời điểm chính xác mà không dùng thời gian CPU
- Được dùng để triển khai các giao thức truyền thông như DShot ESC
- Pico-PIO-USB triển khai một USB stack hoàn chỉnh trên PIO, cung cấp cho RP2040 bộ điều khiển USB thứ hai
- Khi dùng cùng DMA, driver màn hình có thể offload hoàn toàn giao tiếp với màn hình và cảm ứng khỏi CPU
Bootloader và thỏa hiệp bảo mật để tránh biến thiết bị thành “cục gạch”
- RP2040 có cấu trúc không thể bị biến thành cục gạch
- Bao gồm bootloader chỉ đọc
- Có thể cập nhật bằng cách mount như thiết bị lưu trữ USB dung lượng lớn rồi sao chép firmware vào “thiết bị lưu trữ” đó
- Giao thức USB đơn giản riêng của nó được dùng trong picotool
- Dựa trên đánh giá rằng việc bảo vệ firmware trước kẻ tấn công chuyên tâm là gần như bất khả thi, và bản thân nỗ lực đó phải trả giá bằng độ phức tạp cũng như trải nghiệm của nhà phát triển, nó không thực hiện màn trình diễn bảo mật quá mức
- Những lựa chọn này có thể được xem là kết quả của việc RP2040 cân bằng một cách thực dụng, xét đến ngách mà một linh kiện silicon nhỏ bé đang chiếm giữ
1 bình luận
Ý kiến trên Hacker News
Ngôi sao thực sự của RP2040 là PIO, mang lại những khả năng mà các chip cạnh tranh như ESP32 khó lòng sánh kịp
Vì vậy nó đang được dùng ở nhiều nơi trong mảng hack console. Tuy vậy, với các ứng dụng dùng pin thì sẽ tốt hơn nếu ở V2 mức tiêu thụ điện của chế độ ngủ sâu được giảm thêm
Logic số có thể kiểm chứng trên FPGA nhìn chung vẫn ổn, nhưng các thành phần analog khó tinh chỉnh hơn nhiều, nên thường thể hiện ở chỗ tiêu thụ điện kém, ADC không tốt, không có DAC nội bộ hay op-amp. Chip không dây của Pico W cũng gần với nhóm này, nên không được tích hợp hoàn toàn như ESP32 mà là một linh kiện rời có sẵn trên thị trường
Nó rất tuyệt để hiện thực các thiết bị ngoại vi cực kỳ cơ bản, nhưng tôi đã nhiều lần bắt đầu làm thứ gì đó phức tạp hơn một chút rồi nhận ra nó quá chậm và không đủ chỗ. Nếu được nâng cấp thêm chút nữa thì có lẽ nó có thể thay thế khá dễ nhiều nhu cầu FPGA nhỏ nhặt
Nếu cần nhiều I/O thì thường người ta không nhìn sang ESP32. Điểm mạnh của ESP32 là rẻ và có WiFi tích hợp. Cũng có nhiều vi điều khiển khác lợi thế hơn khi so với RP2040, nhưng phần lớn không dành cho thị trường hobby
Trong vài năm qua, chúng tôi đã dùng RP2040 cho huy hiệu điện tử[1] của hội nghị bảo mật RVASec, và trải nghiệm viết phần mềm khá tốt
Kho GitHub của huy hiệu năm nay ở đây. Có một trình mô phỏng huy hiệu chỉ bằng phần mềm để bạn nghịch thử phần nào ngay cả khi không có phần cứng, nhưng các tính năng nhiều người chơi phụ thuộc vào giao tiếp hồng ngoại giữa các huy hiệu có thể sẽ kém vui hơn: https://github.com/HackRVA/badge2024
[1] Video huy hiệu 2023: https://www.youtube.com/watch?v=KWZriUMNpLc
[2] https://rvasec.com/
Câu nói “cùng một vi điều khiển và chỉ có hai revision sửa lỗi” là không chính xác
Thực ra đó là hoàn toàn cùng một vi điều khiển, chỉ có hai tùy chọn đóng gói. Một loại là cuộn 7 inch 500 chiếc và loại kia là cuộn 13 inch 3400 chiếc. Chỉ cần xem mục “Ordering code” trong datasheet: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.p...
Nếu dùng SDK chính thức thì hầu như không cần bận tâm mình đang ở phiên bản nào. Thư viện chuẩn cấp cao sẽ phát hiện revision phần cứng lúc chạy và bật hoặc tắt các cách обход cần thiết
RP2040 gần như đã một mình hồi sinh lại một thị trường ngách khá hẹp là controller tùy biến
Nhờ firmware gamepad mã nguồn mở gp2040[1], mọi người có thể mua fight stick và controller leverless chất lượng ổn với giá rẻ hơn rất nhiều so với sản phẩm của các hãng như Victrix hay Razer. Vì là mã nguồn mở nên trong cộng đồng đam mê controller, người ta cũng đang tạo ra đủ loại dự án và PCB RP2040 phù hợp với các ý tưởng controller kỳ lạ khác nhau
[1] https://gp2040-ce.info
Tôi tò mò không biết bao nhiêu phần trong đó thực sự có thể quy trực tiếp cho RP2040. Các dự án như QMK0 từ lâu đã dùng một codebase về mặt kỹ thuật khá tương đồng cho bàn phím DIY
Nhìn qua thì GP2040 không có gì rõ ràng là những vi điều khiển hiện đại khác không làm được. Rõ ràng RP2040 là chất xúc tác dẫn đến việc GP2040 được chấp nhận rộng rãi, nhưng có lẽ điều tương tự cũng có thể xảy ra với Pro Micro
Cũng không nên bỏ qua PhobGCC. Tôi là trưởng nhóm phát triển, và còn có các nhánh kế tiếp ít chuyên cho GameCube hơn như ProGCC V3, GC Ultimate, Phizard
Cách nói “một mình” có vẻ đã đánh giá thấp những thứ có trước đó, như các bo mạch Brook, chẳng hạn Zero-Pi[1]. Xét về mặt lịch sử thì có lẽ không hoàn toàn đúng
[1] https://www.brookaccessory.com/detail/53169470/
Nếu bạn thích điện tử như một sở thích nhưng không muốn tự làm hay thiết kế bo mạch dán bề mặt, thì có rất nhiều bo mạch RP2040 rẻ và dễ tiếp cận
Tôi đã dùng Raspberry Pi Pico($5), được gắn trên một bo mạch ổn với nhiều I/O. Bỏ thêm một ít tiền thì cũng có bản W có WiFi
Nếu chấp nhận ít I/O hơn một chút thì có thể đặt RP-2040 Zero. Tôi đã mua 6 cái trên AliExpress với giá khoảng $12. Nó chỉ có 23 chân I/O, nhưng có nút reset, USB-C và rất nhỏ (1.5cm x 2.5cm)
Điểm hay của những bo mạch này là các công cụ phát triển tiêu chuẩn của Raspberry Pi, MicroPython và C++ đều chạy tốt nguyên trạng, và có thể nạp firmware thuận tiện qua USB
Cũng muốn đề xuất pico ice. Phần lớn mức giá $30 là do có kèm UP5K, nhưng với các dự án nhúng cần hoạt động ở mức dưới micro giây thì đây là một lựa chọn tương đối rẻ, lại dùng được bộ công cụ mã nguồn mở
Rất khuyến nghị tìm thử các bo phát triển thay thế dựa trên RP2040 ở nhiều nơi. Pi Pico chính thức thật ra khá thất vọng, và gần như mọi bo thay thế đều tốt hơn ở khía cạnh nào đó
Không có reset, form factor lớn, chỉ có flash 2Mbit, lại còn micro USB; đến năm 2024 thì như vậy hơi chán. Gần như ưu điểm duy nhất là dễ mua ở khắp nơi
Các bo RP2040 nhỏ rất ổn. Tôi đã làm vài dự án nhỏ dựa trên adafruit QT Py
Sẽ hay hơn nếu có bản không dây. Dùng ESP32 QT thì có, nhưng với RP2040 thì theo tôi thấy là không có
Nếu không bị hạn chế không gian cực kỳ nghiêm ngặt thì tôi không thấy rõ ưu điểm của 2040 Zero. Tính năng ít hơn mà giá lại cao hơn. Pico vốn cũng đã khá nhỏ rồi
Dù vậy, Pico có khả năng tương thích chân thực sự tốt. Ở phía ESP, nhìn thì có vẻ nhiều chân I/O, nhưng do các chân nối với flash nội bộ hay bootloader v.v. nên may ra cuối cùng chỉ vừa đủ dùng. Tôi cũng thắc mắc sao họ lại đưa những chân đó ra ngoài. ESP32-CAM có 10 chân dữ liệu, nhưng thực tế thường chỉ dùng được 4 chân
Lý do tôi chuyển từ ESP32 sang RP2040 là vì thiết bị ổn định hơn và được tài liệu hóa tốt hơn
Mối lo duy nhất hiện tại với RP2040 là có nhiều mẫu ESP32 có SPIRAM, nhưng bo RP2040 có SPIRAM thì không dễ tìm. Thành thật mà nói, môi trường phát triển C của RP2040 tốt đến mức có thể tận dụng bộ nhớ rất hiệu quả, nhưng nếu làm dự án MicroPython lớn thì SPIRAM thực sự là một tài sản lớn. Ngoài điểm đó ra thì mọi mặt của RP2040 đều rất tuyệt
Dario Nieuwenhuis, một trong những nhân vật chủ chốt của Embassy, đã có một bài trình bày tổng quan rất hay tại RustNL: https://www.youtube.com/watch?v=H7NtzyP9q8E
JLC lắp ráp bo RP2040 với giá dưới $3 mỗi chiếc nếu làm lô 5 cái
Bản thân phép so sánh này giống như so táo với đào. RP2040 chỉ là một con chip, còn phía ESP32 thì có rất nhiều lựa chọn gắn sẵn đủ loại ngoại vi mà bạn muốn
Có thể chọn từ anten WiFi/Bluetooth, bộ điều khiển pin lithium-ion, Ethernet, cho đến đầu nối màn hình hoặc camera
Các lựa chọn CPU cũng đa dạng, và khi chạy bằng pin cúc áo thì việc có tiêu tốn điện cho lõi thứ hai hay WiFi không cũng tạo ra khác biệt
Ở biến thể C6, Espressif còn đổi lại cả ISA, đi từ 8266 qua ESP32 sang ISA dựa trên RISC-V
Rốt cuộc thì đây giống như đang so một SoC thế hệ đầu với một dòng họ có lịch sử 10 năm của SBC
Có vẻ đang nhầm giữa ESP32 devkit và bản thân ESP32. Những thứ có gắn anten, bộ điều khiển pin, hay bất kỳ đầu nối nào đều là devkit hoặc ít nhất là mô-đun. Bản thân ESP32 là một IC nhỏ giống như RP2040
Có lẽ đang nghĩ đến một devkit như thế này: https://docs.espressif.com/projects/esp-idf/en/latest/esp32s...
Bản thân bo này cũng dựa trên một mô-đun như ESP32-S3-WROOM-1, còn mô-đun đó thì gói IC ESP32-S3 cùng các tiện ích như anten WiFi hay đầu nối
Phần tương ứng ở phía RP2040 là Raspberry Pi Pico, và ở đây cũng có các tiện ích nhỏ như biến thể WiFi. Cũng có những sản phẩm được đóng gói cùng các ngoại vi khác
Cả RP2040 lẫn dòng ESP32 đều không phải SBC, và cả hai đều không có dòng dõi SBC nào. Các Raspberry Pi SBC đều dựa trên Broadcom, còn RP2040 là một IC mới do Raspberry Pi tự phát triển, và theo tôi biết thì cũng không có IP nào được cấp phép từ Broadcom
Về mặt kỹ thuật thì đúng, nhưng trọng tâm nằm ở mục đích sử dụng hơn. RP2040 thực sự là một thứ khá độc đáo, và đột nhiên đã trở thành lựa chọn tuyệt vời cho rất nhiều dự án, không chỉ trong giới hobby/giáo dục mà cả ở thiết bị nhúng chuyên nghiệp
Xét theo những gì nó làm được so với giá tiền, chỉ một phiên bản chip đơn lẻ đã bao phủ được rất nhiều lĩnh vực. Với tôi, đó chính là ý nghĩa của tiến bộ công nghệ
Có lẽ an toàn nhất là xem như cả hai bên đều đang nói về bản thân con chip. Cả hai đều có thể nối với bộ sạc pin, camera hay lò phản ứng hạt nhân, nhưng những ngoại vi đó hoàn toàn không liên quan đến phép so sánh này
Tôi tò mò không biết có lựa chọn thay thế nào ngoài Trung Quốc có thể so được với ESP về mặt tích hợp mô-đun như WiFi hay không. Đắt hơn cũng không sao
Tôi có cảm xúc lẫn lộn về RP2040
Một mặt, đây là con chip tuyệt vời cho dân phát triển hobby. Rẻ, dễ mua, thiết kế bo dễ, và cung cấp đủ những gì cần cho các ứng dụng thông thường
Mặt khác, dưới góc nhìn chuyên nghiệp thì rõ ràng nó vẫn hơi thiếu. Ngoại vi thì ổn, nhưng đi vào chi tiết là dễ đụng trần giới hạn. Giao diện XIP rất tuyệt nhưng không hỗ trợ ghi, nên không thể gắn chip FRAM để mở rộng bộ nhớ. Giao diện PIO rất ấn tượng, nhưng nếu muốn triển khai các giao diện phức tạp hơn thì giới hạn 2x32 lệnh là khá chật. Timer/Counter đâu? Không có cảm ứng điện dung à? Analog chỉ có bốn chân thôi sao? Không có ngõ vào chịu được 5V à? Sao không có đầu vào xung nhịp tốc độ cao cho mô-đun PIO? Vì sao không thể chạy bootloader bằng bộ dao động vòng nội bộ? Cũng giá mà có cả USB-C PHY
Hiệu năng ESD kém cũng khiến tôi ngạc nhiên. Atmega hay STM32 thỉnh thoảng bị sốc tĩnh điện vẫn thường không sao, và bảo vệ ESD cho các cổng lộ ra ngoài chỉ là thứ có thì tốt. Còn với RP2040, nếu không thêm bảo vệ ngoài cho mọi chân thì gần như chắc chắn sẽ thấy một vài chân chết đi trong quá trình sử dụng hằng ngày
Tóm lại thì đây là một con chip rất hay và rất tuyệt cho mục đích hobby, nhưng có lẽ không phải lựa chọn đầu tiên của tôi trong môi trường chuyên nghiệp
Tôi thắc mắc chính xác USB-C PHY có nghĩa là gì. USB-C là đầu nối, và bên trên nó có thể chạy USB 1.1/2.0/3.0/3.1. Thực tế thì RP2040 còn không thể gánh nổi ngay cả USB 2.0 PHY một cách đúng nghĩa
Ngay cả các nhà phát triển hobby rồi cũng sẽ làm những dự án phức tạp hơn, và chính lúc đó họ sẽ đụng phải các giới hạn này
Tôi tò mò FRAM hữu ích nhất trong loại ứng dụng nào. Bản thân công nghệ này trông thực sự rất hay, nhưng giá quá cao, nên khó hiểu khi nào nên dùng nó thay vì kết hợp SRAM hoặc PSRAM với NAND
Macro Synopsys DesignWare SSI trong RP2040 trên thực tế có vẻ có thể dùng với PSRAM hoặc FRAM có khả năng đọc/ghi. Tuy nhiên chỉ với bản tài liệu rút gọn của datasheet RP2040 thì có vẻ không đủ để cấu hình theo cách đó
Raspberry Pi ban đầu xuất phát từ một tổ chức phi lợi nhuận phục vụ giáo dục
RP2040 khá tuyệt, và đến giờ tôi đã dùng nó trong khoảng nửa tá dự án
Nhưng cách tiếp cận “một con làm tất cả” không hợp với tôi. Tôi thích dùng vi điều khiển nhỏ nhất có thể làm được đúng việc cần làm
Lý do tôi cố dùng vi điều khiển yếu nhất có thể không phải vì tiền mà vì ngân sách điện năng. Phần lớn dự án của tôi chạy bằng pin, nên dùng càng ít điện càng tốt là một lợi thế lớn
Tuy vậy, nếu một con 20 cent cũng làm được y như thế thì tại sao lại dùng vi điều khiển giá $1?
Dùng bộ điều khiển kém mạnh hơn để pin dùng được lâu hơn là một lý do hoàn toàn chính đáng. Rẻ thì về lý thuyết là tốt, nhưng trong các dự án làm một lần thì hầu như chẳng có ý nghĩa gì. Tôi còn chẳng nhớ lần cuối cùng mình mua thứ gì mà mức chênh vài chục cent tạo ra khác biệt đáng kể là khi nào
Tôi thích RP2040, nhưng muốn giải thích vì sao tôi rời bỏ nó trong dự án hiện tại
Thứ nhất, lùm xùm liên quan đến PlatformIO thực sự gây ấn tượng rất xấu. Tôi muốn đứng về phía các nhà phát triển đang chịu thiệt vì sự hỗn loạn về công cụ
Thứ hai, ESP32-S3 bản cao cấp nhất có dạng module, và về cơ bản chỉ cần gắn thêm vài tụ decoupling là có thể đặt lên PCB. RP2040 thì cần bố trí cẩn thận khoảng hơn chục linh kiện, bao gồm cả crystal. Module không chỉ giảm mạnh độ phức tạp khi triển khai mà còn giúp chuẩn hóa, từ đó giảm khả năng mỗi kỹ sư tự mắc những lỗi ngớ ngẩn trong bố trí linh kiện
Thứ ba, ESP32-S3 có 14 chân GPIO có thể cấu hình cho cảm ứng điện dung, còn RP2040 thì không. Phần lớn các dự án dùng RP2040 cùng cảm ứng điện dung đều phụ thuộc vào MPR121, mà IC này đã ngừng sản xuất, nên rất có thể trong vài tháng tới sẽ kéo theo hàng loạt đợt tái thiết kế gấp
Có lẽ đến một lúc nào đó RP2040 cũng sẽ có các phiên bản mạnh hơn hoặc yếu hơn, và cả phiên bản dạng module. Có thể sẽ không đến mức như tình cảnh của STM hay PIC, nhưng họ ESP32 rồi cũng không còn trông kỳ quặc nữa khi bạn đã quen với nó
Có vẻ Espressif cũng ở tình huống tương tự Pi liên quan đến PlatformIO[1]. Từ bên ngoài nhìn vào thì PlatformIO dường như đã cố đòi RPi và Espressif trả một khoản chi phí hằng năm rất lớn, và chuyện đó xảy ra sau khi hỗ trợ ban đầu đã được thêm vào và một phần cộng đồng bắt đầu sử dụng
Đây là một tình huống kỳ quặc, nhưng có vẻ PlatformIO đã hỗ trợ nhiều nền tảng, chấp nhận đóng góp từ cộng đồng và xây dựng vị thế thống trị, rồi sau đó tìm cách rút giá trị trực tiếp từ các nhà sản xuất. Họ còn chặn cả các PR từ cộng đồng để thêm board revision mới hoặc sửa lỗi. Xem thêm: [2]
[1] https://github.com/platformio/platform-espressif32/issues/12...
[2] https://github.com/platformio/platform-raspberrypi/pull/36
Nói công bằng thì RP2040 được thiết kế để việc bố trí các linh kiện đó trở nên rất dễ. Trên thực tế gần như chỉ có một cách bố trí hợp lý, và bạn có thể dễ dàng tiếp cận mọi chân mình muốn
Cộng với tài liệu rất tốt, nó gần như là một thiết kế drop-in nhiều linh kiện mà sau khi đặt vào rồi bạn không cần nghĩ lại nữa. Ban đầu nó có vẻ hơi đáng sợ, nhưng thực tế triển khai lại rất thú vị
Tôi dùng RP2040 từ lúc nó ra mắt và chưa bao giờ dùng PlatformIO, nên khá tò mò bạn đã dùng nó theo cách nào và điều gì làm bạn thấy tệ đến vậy
Phát triển cục bộ với cmake và pico sdk hoặc micropython có vẻ rất dễ, nên tôi không hiểu tại sao lại phải trộn thêm PlatformIO vào đó
Tôi không thực sự nghĩ việc biến cái này thành module sẽ tạo ra giá trị đáng kể. Ai cũng muốn form factor hơi khác nhau một chút, còn thiết kế mạch xung quanh thì quá dễ nên module khó tạo ra lợi ích nổi bật
Cảm ứng là một ngách hẹp gần như đơn chức năng, và việc không tích hợp nó lại là điều tốt hơn. Tính năng đó nên dùng IC khác, còn việc mọi người lười nên bám vào một linh kiện đã ngừng sản xuất không phải lỗi của RPi. Hoặc cũng có thể làm bằng phần mềm
Ở điểm này tôi đồng ý với bài gốc, và tôi nghĩ quỹ đã định nghĩa sản phẩm rất tốt
Tôi đã đưa các chip như Atmel, STM, TI, Ambiq, Nordic vào thiết kế suốt hàng chục năm, và không phải là không có cách giải quyết những vấn đề kiểu này. Cả cậu thực tập sinh ngồi cách tôi hai yard cũng đang vật lộn để đặt đúng các linh kiện xung quanh STM trong thiết kế PCB đầu tiên của mình. Với ai đã từng làm chút việc này thì đây không phải vấn đề khó
Dù sao thì hơn chục linh kiện đó cũng chỉ là mạch dao động/crystal, giữ reset, nguồn 3.3V và cả đống tụ decoupling. Việc tinh chỉnh ăng-ten chắc chắn có thể khó, nhưng nếu dùng chip antenna thì cũng không đến mức quá khó
Mọi thứ đều quá tiêu chuẩn, đến mức khi nhìn sơ đồ mạch adafruit RP2040 Feather tôi còn ngạc nhiên vì nhiều phần dường như được bê gần như nguyên xi từ các Feather trước đó. Khác biệt giữa RP2040 Feather và nRF52840 Feather chỉ là bản thân vi điều khiển, toàn bộ mạch timing 5 linh kiện cho RP2040, và mạch ăng-ten cho board Nordic
Module rất tiện để bán vào thị trường hobby, nhưng nếu bán sản phẩm thực tế thì bạn vẫn phải trải qua quy trình chứng nhận RF. Chi phí có thể thấp hơn, nhưng việc chi phí chứng nhận giảm có bù được chi phí ban đầu cao hơn khi dùng module hay không thì bạn phải tự cân nhắc. Dù sao đi nữa, thứ bạn thực sự tiết kiệm được cuối cùng chỉ là giai đoạn tinh chỉnh ăng-ten, và thường việc này được xử lý bằng biến thể BOM chứ không phải chỉnh sửa lớn về routing
Tương tự như STM và PIC có hàng chục loại chip, TI cũng ở trong tình trạng như vậy. Khách hàng muốn chỉ trả tiền cho đúng những gì họ cần, và các nhà sản xuất có đủ năng lực sản xuất để đáp ứng nhu cầu đó. Nếu sự khác biệt là quan trọng thì đó không phải là điều gì quá phiền phức. Rất giống với việc phàn nàn rằng Home Depot bán quá nhiều loại gỗ.