In Search of the Perfect Hardware Platform: The PlatformPicker Tool
Last month, I quietly wrote a tool to make platform selection easier: PlatformPicker.
The Idea
"And so he set out on a quest, one that would occupy many years of his life": Some search for the meaning of life, others for the right platform for a project that is currently being planned. While the former will probably end up at "42" sooner or later, there is not nearly as much help for the latter in their search. Because of course, every project has different requirements and constraints, which means the decision of whether to use an Arduino, Raspberry Pi, or perhaps a NodeMCU cannot be answered universally.
To offer at least a bit of help with the decision-making process, I developed a small tool as my first project of 2021 that could at least provide some guidance in the jungle of development platforms.


More development platforms for PlatformPicker are planned, see further below in this post.
Using the tool works as follows: After selecting the language, you are redirected to the question page, where you can respond to 13 questions. After confirming the results, you are automatically redirected to one of 16 subpages, each highlighting a different microcontroller or microprocessor board.
The detail pages themselves then contain a short description of the platform that best fits according to the tool, along with a table of the board's properties. Among other things, the table includes the platform's chip, the number of I/O pins, and tips on which programming languages are most commonly used.
Finally, there are links to the board (both to shop pages and to further data, if available) and a button to reload the page.
The Result
In version 1.0, which I am presenting today with the Pi and More talk, there are 13 questions and 16 boards that can be suggested: Various members of the Arduino family, Raspberry Pis, as well as NodeMCUs and Teensy boards make up the tool's initial set. From the smallest Atmel microcontrollers to the most modern Armv8 Cortex-A72 (in the form of the BCM2711 in the Raspberry Pi 4), everything a developer's heart could desire is included.

An overview of the various boards in version 1.0
The Arduino family:
- Arduino Leonardo
- Arduino Mega 2560
- Arduino Mega 2560 Pro
- Arduino Nano
- Arduino Pro Mini
- Arduino Uno
- Arduino Zero
The Raspberry Pi boards:
- Raspberry Pi 3 Model B+
- Raspberry Pi 4 Model B
- Raspberry Pi Zero
- Raspberry Pi Zero W/WH
- Raspberry Pi Pico
Other development boards:
In short: The technology behind the site
The site is built with Bootstrap 5, with JavaScript embedded into it. The tool runs completely without a backend, making it possible to host the site on GitHub Pages. The functionality is implemented with JavaScript.
The question logic is loosely based on a personality test by Danube Phan, but it was heavily revised and rewritten from the ground up in terms of style so that it could be used for this project.
Outlook: What's next for PlatformPicker?
The wishlist is long, time is short: I would really like to translate the whole site into English, but that will only happen after the German version is fully finished. On that front, I especially plan to improve the question logic significantly: A look at the source code shows that, above all, the questions marked as "Essential" are counted in the selection, while the other questions are currently used more as a fallback. I would also like to rebuild the subpages and ideally outsource them. Once that is done, the path will be clear for adding more microcontrollers to the tool; at the moment, creating the various subpages involves quite a bit of effort.
That is why my plan is, as soon as I have some time again and rent an externally hosted server, to move these subpages into a MediaWiki. As far as I know, there is currently no such central hub for microcontroller/microprocessor boards.
Otherwise, I would leave the website's foundation untouched for now; thanks to Bootstrap V5, it should remain up to date for the next few years as well.
Your help is needed!
I appreciate any help in moving the tool forward; the complete source code is, as always, fully open. Just create a pull request on GitHub, and I usually merge the code within a few days.
PlatformPicker The source code
Post scriptum
As one or another observant reader of this post may perhaps have noticed, I switch quite often between the terms "hardware platforms," "development platforms," and simply "platform." That is because I could not find a clearly defined umbrella term for this category of development platforms: Admittedly, there are worlds between a Raspberry Pi as a single-board computer and an Arduino Pro Mini as a "microcontroller with breakout board," yet both solutions are used in the maker scene for similar purposes (both can handle switching LED strips quite well, though the Raspberry Pi can also train a neural network and run a web server at the same time) and therefore should also be able to be grouped under a single umbrella term.