We are rebooting the Dim Sum Robot project with a new head-master
Today, we start by exploring the basic design and core functions of our Dim Sum Robot, in order to take a decision on the hardware to use for this project.
Basic Design
CPU
Looking at CPU available and their characteristics to allow us to choose a good fit for the project.
PIC | ATMEGA | STM32 | EFM32 | Orange Pi Zero | Raspberry Pi 2B | ESP8266 | ESP32 | |
Architecture | PIC | Atmega | ARM | ARM | ARM/Linux | ARM/Linux | Tensilica | Tensilica |
Price | <5 USD | 2 USD | 2 USD | ~2 USD +NRE | <15 USD | 40 USD | 4 USD | 8 USD |
Programming | Very expensive/custom | custom | SWD | SWD | SDCard | SDCard | bootloader | bootloader |
Power | 18 ma | 20 ma | 18 ma | << | 100ma | 220ma | 100 ma | 150 ma |
I/O pins | 20 | 20 | 20 | 20 | ~20 | ~26 | 12 | ~20 |
ADC | Yes | Yes | Yes | Yes | No | No | No | Yes |
Wifi / Bluetooth | – | – | – | W | W | W | W, BT | |
OS | – | – | – | Linux | Linux | – | – |
Programming language
We look at the difference between:
- Python
- Arduino IDE
- C++
- C
- LUA
- ASM
- Node
- Basic
- C 89
to figure out which one was available on the different CPU, which one was accessible to noob (such as a few of us), which one was well documented, and whether we needed to install extra software such as a compiler to be able to place the software onto the chosen CPU
Homework for next week
- Figure out the process and software required to install MicroPython onto the ESP32