Microcontrollers
Atmel
ESP8266
Specs |
Description |
Processor |
L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro running at 80 MHz |
Memory |
32 KiB instruction RAM 32 KiB instruction cache RAM 80 KiB user-data RAM 16 KiB ETS system-data RAM |
External QSPI flash |
up to 16 MiB is supported (512 KiB to 4 MiB typically included) |
IEEE 802.11 b/g/n Wi-Fi |
|
Integrated TR switch, balun, LNA, power amplifier and matching network |
|
WEP or WPA/WPA2 authentication, or open networks |
|
GPIOs |
16 pins |
SPI |
|
I²C |
(software implementation) |
I²S |
interfaces with DMA (sharing pins with GPIO) |
UART |
on dedicated pins, plus a transmit-only UART can be enabled on GPIO2 |
10-bit ADC |
(successive approximation ADC) |
ESP32
Specs |
Description |
CPU |
Xtensa LX6 |
#core |
2 |
Architecture |
32bit |
CPU frequency |
160MHz - 240MHz |
Voltage |
2v7 - 3v3 |
Connectivity |
Bluetooth (v4.2 BR/EDR and BLE), Wi-Fi (802.11 b/g/n) |
RAM |
520KiB |
Flash |
? |
GPIOs |
34 (10 capacitive sensing) |
SPI |
4 |
I2C |
2 |
I2S |
2 |
UART |
3 |
CAN |
1 |
ADC |
12bit, 18 channels |
DAC |
8bit, 2 channels |
PWM |
Motor and LED (up to 16 channels) |
Crypto |
|
RP2040
Specs |
Description |
CPU |
Arm Cortex-M0+ |
#core |
2 |
Architecture |
32bit |
CPU frequency |
133Mhz |
Voltage |
2v7 - 3v3 |
Connectivity |
No |
RAM |
264KB |
Flash |
2MB |
GPIOs |
30 |
SPI |
2 |
I2C |
2 |
I2S |
0 |
UART |
2 |
CAN |
0 |
ADC |
12bit, 4 channels |
DAC |
0 |
Timers |
3 16bit |
PWM |
16 |
USB |
1.1 Host/Device |
STM32F103C8T6
Reference manual | datasheet
There are a couple of boards with this microcontroller on it, mainly blue
pill and black pill (note that their pinout differ)
Specs |
Description |
CPU |
Arm Cortex-M3 |
#core |
1 |
Architecture |
32bit |
CPU frequency |
72Mhz |
Voltage |
2v7 - 3v3 |
Connectivity |
No |
RAM |
20KB |
Flash |
64KB |
GPIOs |
37 |
SPI |
2 |
I2C |
2 |
I2S |
0 |
UART |
3 |
CAN |
1 |
ADC |
12bit, 10 channels |
DAC |
0 |
Timers |
3 16bit |
PWM |
1 |
ST Link
$ dmesg -w
...
[591582.793849] usb 2-10: new full-speed USB device number 99 using xhci_hcd
[591582.943077] usb 2-10: New USB device found, idVendor=0483, idProduct=3748, bcdDevice= 1.00
[591582.943089] usb 2-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[591582.943094] usb 2-10: Product: STM32 STLink
[591582.943099] usb 2-10: Manufacturer: STMicroelectronics
[591582.943103] usb 2-10: SerialNumber: Qÿp\x06I\xc2\x86IQ1E\x17\xc2\x87
$ lsusb
...
Bus 002 Device 099: ID 0483:3748 STMicroelectronics ST-LINK/V2
...
There is Debian packages available to install dyrectly from github
$ st-info --version
v1.7.0
$ st-info --probe
Found 1 stlink programmers
version: V2J17S4
serial: 51FF70064986495131451787
flash: 65536 (pagesize: 1024)
sram: 20480
chipid: 0x0410
descr: F1xx Medium-density
$ st-util
2021-04-28T18:20:32 WARN common.c: NRST is not connected
2021-04-28T18:20:32 INFO common.c: F1xx Medium-density: 20 KiB SRAM, 64 KiB flash in at least 1 KiB pages.
2021-04-28T18:20:32 INFO gdb-server.c: Listening at *:4242...
2021-04-28T18:20:34 WARN common.c: NRST is not connected
2021-04-28T18:20:34 INFO common.c: F1xx Medium-density: 20 KiB SRAM, 64 KiB flash in at least 1 KiB pages.
2021-04-28T18:20:34 INFO gdb-server.c: Found 6 hw breakpoint registers
2021-04-28T18:20:34 INFO gdb-server.c: GDB connected.
$ gdb-multiarch -n -q blink.elf
Reading symbols from blink.elf...
(gdb) target extended-remote :4242
Remote debugging using :4242
main () at blink.c:24
24 for (int i = 0; i < 500000; i++)
(gdb) load
Loading section .text, size 0x23c lma 0x8000000
Start address 0x080001b6, load size 572
Transfer rate: 3 KB/sec, 572 bytes/write.