In order to address all the feature required for the food computer(FC), it is important to choose the right hardware to power. One of the major component is controller for the food computer. As someone familiar with electronics, both embedded system (Raspberry Pi) and Micro-Controlling Unit (MCU) (Arduino/ESP32/ESP8266/SAMD21/etc,) are consider under the initial design. I would like to explain reason of choice behind.
Embedded System (Raspberry PI)
An embedded system according to my understand is something run with OS with medium amount of computing resources. Technically, you may state ESP32 or something similar are embedded system but here, I will use Raspberry Pi as an example. With Linux based system, these system are able to process complex information such as video and images with the possibility of AI. However, the hardware support for those boards are little. In the case of Raspberry Pi, the control of General Purpose Input Output(GPIO) pin required CPU time which cause slow GPIO control. In the scope of FC, such powerful feature are not implemented in the early stage so other options are selected. The Pi HAT also seldom allow stacking which limit the flexibility of hardware development with multiple functions.
MCU (ESP32)
MCU nowadays are powerful. With the acceleration in Internet of Things (IoT), the connectivity of MCU are greatly improved. In the case of ESP32, both Wi-Fi and Bluetooth Low Energy(BLE) are included. The Arduino core of ESP32 with platform.io also provided a Integrated Development Environment (IDE) for development. The great amount of shield also allow great expand-ability for different features. Therefore, ESP32 are chosen.
To reduce the development time, a esp32 with arduino form factor board is used. As the pin mapping are not the same as arduino, certain library pin assignment may need modify. A schematic is attached for reference as well as the pin assignment for current project in excel.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.