WT32-SC01 Plus
Model: WT32-SC01 Plus
Loxin ESP32-S3 (WT32-S3-Wrover-N16R2 module), WiFi + BT + BLE MCU module, 16MB SPI flash and 2MB PSRAM configured in.
3.5-inch IPS LCD screen with a resolution of 320×480 pixels and a capacitive touchpad
ESP32 development board With 3.5 Inch LCD IPS Display Touch Screen.
LCD uses ST7701 driver, MCU8080 8Bit interface, RGB565 color
capacitive touch uses FT6336U driver, I2C interface, G+F structure, single touch mode
The development board adds a speaker, RS485, SD card and an interface for debugging.
back to microcontrollers page.
Links
Seed Studio WT32-SC01 Plus,
local links
History
2023-05-21: vm4 - try flashing an image
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ ../espflash/target/release/espflash flash --monitor target/xtensa-esp32s3-none-elf/debug/esp32s3_example [2023-05-20T23:20:01Z INFO ] Detected 2 serial ports [2023-05-20T23:20:01Z INFO ] Ports which match a known common dev board are highlighted [2023-05-20T23:20:01Z INFO ] Please select a port [2023-05-20T23:20:02Z INFO ] Serial port: '/dev/ttyACM0' [2023-05-20T23:20:02Z INFO ] Connecting... [2023-05-20T23:20:02Z INFO ] Attempting UnixTight reset with default delay... ^C[2023-05-20T23:20:04Z INFO ] Attempting Classic reset with default delay... [2023-05-20T23:20:04Z INFO ] Using flash stub Chip type: esp32s3 (revision v0.1) Crystal frequency: 40MHz Flash size: 16MB Features: WiFi, BLE MAC address: 68:b6:b3:36:a5:a8 App/part. size: 199,248/16,711,680 bytes, 1.19% [00:00:00] [========================================] 13/13 0x0 [00:00:00] [========================================] 1/1 0x8000 [00:00:01] [========================================] 74/74 0x10000 [2023-05-20T23:20:06Z INFO ] Flashing has completed! Commands: CTRL+R Reset chip CTRL+C Exit ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x15 (USB_UART_CHIP_RESET),boot:0xa (SPI_FAST_FLASH_BOOT) Saved PC:0x40378c3e 0x40378c3e - core::num::<impl u128>::trailing_zeros at /zs/tingo/.rustup/toolchains/esp/lib/rustlib/src/rust/library/core/src/num/uint_macros.rs:170 SPIWP:0xee mode:DIO, clock div:2 load:0x3fce3810,len:0x1690 0x3fce3810 - _stack_end_cpu0 at ??:?? load:0x403c9700,len:0xbd0 0x403c9700 - __user_exception at ??:?? load:0x403cc700,len:0x2dc8 0x403cc700 - __user_exception at ??:?? SHA-256 comparison failed: Calculated: b600aa623d1ae40872203a959e6e33509afa9ba9db4ad3e3f76e5c4238b90152 Expected: d1c78d7325094d95e7bb525e04f54c3212a0971c36efb48e3f3f056daece1a5e Attempting to boot anyway... entry 0x403c9900 0x403c9900 - __user_exception at ??:?? I (45) boot: ESP-IDF v5.0-beta1-764-gdbcf640261 2nd stage bootloader I (45) boot: compile time 11:32:39 I (45) boot: chip revision: V001 I (48) boot_comm: chip revision: 1, min. bootloader chip revision: 0 I (56) boot.esp32s3: Boot SPI Speed : 40MHz I (60) boot.esp32s3: SPI Mode : DIO I (65) boot.esp32s3: SPI Flash Size : 16MB I (70) boot: Enabling RNG early entropy source... I (75) boot: Partition Table: I (79) boot: ## Label Usage Type ST Offset Length I (86) boot: 0 nvs WiFi data 01 02 00009000 00006000 I (94) boot: 1 phy_init RF data 01 01 0000f000 00001000 I (101) boot: 2 factory factory app 00 00 00010000 00ff0000 I (109) boot: End of partition table I (113) boot_comm: chip revision: 1, min. application chip revision: 0 I (120) esp_image: segment 0: paddr=00010020 vaddr=3c030020 size=06d34h ( 27956) map I (136) esp_image: segment 1: paddr=00016d5c vaddr=40378000 size=019b0h ( 6576) load I (139) esp_image: segment 2: paddr=00018714 vaddr=00000000 size=07904h ( 30980) I (153) esp_image: segment 3: paddr=00020020 vaddr=42000020 size=20a0ch (133644) map I (187) boot: Loaded app from partition at offset 0x10000 I (188) boot: Disabling RNG early entropy source... Hello world!
yes, that worked.
2023-05-20: vm4 - try with espflash from the espflash repository, and pull request 387.
git fetch origin pull/387/head:unix_tight git switch unix_tight
try it
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/espflash$ target/debug/cargo-espflash espflash board-info [2023-05-20T20:14:47Z INFO ] Detected 2 serial ports [2023-05-20T20:14:47Z INFO ] Ports which match a known common dev board are highlighted [2023-05-20T20:14:47Z INFO ] Please select a port [2023-05-20T20:14:49Z INFO ] Serial port: '/dev/ttyACM0' [2023-05-20T20:14:49Z INFO ] Connecting... [2023-05-20T20:14:49Z INFO ] Attempting UnixTight reset with default delay... ^C[2023-05-20T20:17:07Z INFO ] Attempting Classic reset with default delay... [2023-05-20T20:17:07Z INFO ] Using flash stub Chip type: esp32s3 (revision v0.1) Crystal frequency: 40MHz Flash size: 16MB Features: WiFi, BLE MAC address: 68:b6:b3:36:a5:a8
hmm, I still need to break (Ctrl-C) out of the first try. If I specify the port, the program just quits after Ctrl-C
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/espflash$ target/release/espflash board-info --port /dev/ttyACM0 [2023-05-20T20:57:10Z INFO ] Serial port: '/dev/ttyACM0' [2023-05-20T20:57:10Z INFO ] Connecting... [2023-05-20T20:57:10Z INFO ] Attempting UnixTight reset with default delay... ^C
esptool works, as before
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/espflash$ ~/dl/esptool-v4.5.1-linux-amd64/esptool --port /dev/ttyACM0 chip_id esptool.py v4.5.1 Serial port /dev/ttyACM0 Connecting... Detecting chip type... ESP32-S3 Chip is ESP32-S3 (revision v0.1) Features: WiFi, BLE Crystal is 40MHz MAC: 68:b6:b3:36:a5:a8 Uploading stub... Running stub... Stub running... Warning: ESP32-S3 has no Chip ID. Reading MAC instead. MAC: 68:b6:b3:36:a5:a8 Hard resetting via RTS pin...
2023-05-15: vm4 - download the latest release of esptool, and try it
tingo@kg-vm4:~/dl/esptool-v4.5.1-linux-amd64$ cd tingo@kg-vm4:~$ ~/dl/esptool-v4.5.1-linux-amd64/esptool --port /dev/ttyACM0 chip_id esptool.py v4.5.1 Serial port /dev/ttyACM0 Connecting... Detecting chip type... ESP32-S3 Chip is ESP32-S3 (revision v0.1) Features: WiFi, BLE Crystal is 40MHz MAC: 68:b6:b3:36:a5:a8 Uploading stub... Running stub... Stub running... Warning: ESP32-S3 has no Chip ID. Reading MAC instead. MAC: 68:b6:b3:36:a5:a8 Hard resetting via RTS pin...
so that works. Works without a powered external hub also.
2023-05-15: vm4 - try esptool on this Debian workstation
tingo@kg-vm4:~$ esptool chip_id esptool.py v2.8 Found 2 serial ports Serial port /dev/ttyS0 Connecting........_____....._____....._____....._____....._____....._____....._____ /dev/ttyS0 failed to connect: Failed to connect to Espressif device: Timed out waiting for packet header Serial port /dev/ttyACM0 Connecting... /dev/ttyACM0 failed to connect: Write timeout A fatal error occurred: Could not connect to an Espressif device on any of the 2 available serial ports.
specify port
tingo@kg-vm4:~$ esptool --port /dev/ttyACM0 chip_id esptool.py v2.8 Serial port /dev/ttyACM0 Connecting... Traceback (most recent call last): File "/usr/bin/esptool", line 3101, in <module> _main() File "/usr/bin/esptool", line 3094, in _main main() File "/usr/bin/esptool", line 2885, in main esp = ESPLoader.detect_chip(each_port, initial_baud, args.before, args.trace) File "/usr/bin/esptool", line 274, in detect_chip detect_port.connect(connect_mode) File "/usr/bin/esptool", line 475, in connect last_error = self._connect_attempt(mode=mode, esp32r0_delay=False) File "/usr/bin/esptool", line 455, in _connect_attempt self.sync() File "/usr/bin/esptool", line 393, in sync self.command(self.ESP_SYNC, b'\x07\x07\x12\x20' + 32 * b'\x55', File "/usr/bin/esptool", line 337, in command self.write(pkt) File "/usr/bin/esptool", line 300, in write self._port.write(buf) File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 618, in write raise SerialTimeoutException('Write timeout') serial.serialutil.SerialTimeoutException: Write timeout ^C
I also tried using a powered externl hub, but no difference.
2023-05-15: c1 - try esptool on a FreeBSD workstation
root@kg-core2:~ # esptool.py chip_id esptool.py v4.5 Found 2 serial ports Serial port /dev/cuau0 Connecting...................................... /dev/cuau0 failed to connect: Failed to connect to Espressif device: No serial data received. For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html Serial port /dev/cuaU0 Connecting..... Detecting chip type... ESP32-S3 Chip is ESP32-S3 (revision v0.1) Features: WiFi, BLE Crystal is 40MHz MAC: 68:b6:b3:36:a5:a8 Uploading stub... Running stub... Stub running... Warning: ESP32-S3 has no Chip ID. Reading MAC instead. MAC: 68:b6:b3:36:a5:a8 Hard resetting via RTS pin...
with specified port
root@kg-core2:~ # esptool.py --port /dev/cuaU0 chip_id esptool.py v4.5 Serial port /dev/cuaU0 Connecting.... Detecting chip type... ESP32-S3 Chip is ESP32-S3 (revision v0.1) Features: WiFi, BLE Crystal is 40MHz MAC: 68:b6:b3:36:a5:a8 Uploading stub... Running stub... Stub running... Warning: ESP32-S3 has no Chip ID. Reading MAC instead. MAC: 68:b6:b3:36:a5:a8 Hard resetting via RTS pin...
2023-05-15: vm4 - try it
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ cargo espflash --version cargo-espflash-espflash 2.0.0-rc.3
default
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ cargo espflash board-info [2023-05-15T18:31:12Z INFO ] Detected 2 serial ports [2023-05-15T18:31:12Z INFO ] Ports which match a known common dev board are highlighted [2023-05-15T18:31:12Z INFO ] Please select a port [2023-05-15T18:31:15Z INFO ] Serial port: '/dev/ttyACM0' [2023-05-15T18:31:15Z INFO ] Connecting... [2023-05-15T18:33:36Z INFO ] Unable to connect, retrying with extra delay... [2023-05-15T18:33:36Z INFO ] Unable to connect, retrying with default delay... [2023-05-15T18:33:36Z INFO ] Unable to connect, retrying with extra delay... [2023-05-15T18:33:36Z INFO ] Unable to connect, retrying with default delay... [2023-05-15T18:33:36Z INFO ] Unable to connect, retrying with extra delay... [2023-05-15T18:33:36Z INFO ] Unable to connect, retrying with default delay... [2023-05-15T18:33:36Z INFO ] Unable to connect, retrying with extra delay... Error: espflash::connection_failed × Error while connecting to device ╰─▶ Failed to connect to the device help: Ensure that the device is connected and the reset and boot pins are not being held down
parameters
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ cargo espflash board-info --help Display information about the connected board and exit without flashing Usage: cargo espflash board-info [OPTIONS] Options: -b, --baud <BAUD> Baud rate at which to communicate with target device [env: ESPFLASH_BAUD=] -p, --port <PORT> Serial port connected to target device --no-stub Do not use the RAM stub for loading -h, --help Print help -V, --version Print version
with port specified
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ cargo espflash board-info --port /dev/ttyACM0 [2023-05-15T18:35:45Z INFO ] Serial port: '/dev/ttyACM0' [2023-05-15T18:35:45Z INFO ] Connecting... ^C
just hangs.
2023-05-15: vm4 - try the latest espflash version
tingo@kg-vm4:~$ cargo install cargo-espflash@2.0.0-rc.3 Downloaded cargo-espflash v2.0.0-rc.3 Downloaded 1 crate (27.1 KB) in 1.12s Updating crates.io index Installing cargo-espflash v2.0.0-rc.3 Downloaded lazycell v1.3.0 Downloaded pathdiff v0.2.1 Downloaded rand_xoshiro v0.6.0 Downloaded shell-escape v0.1.5 Downloaded rustfix v0.6.1 Downloaded strip-ansi-escapes v0.1.1 Downloaded vte_generate_state_changes v0.1.1 Downloaded vte v0.10.1 Downloaded toml_edit v0.14.4 Downloaded unicode-xid v0.2.4 Downloaded bytesize v1.2.0 Downloaded bitmaps v2.1.0 Downloaded sized-chunks v0.6.5 Downloaded arrayvec v0.5.2 Downloaded crates-io v0.34.0 Downloaded glob v0.3.1 Downloaded curl v0.4.44 Downloaded im-rc v15.1.0 Downloaded git2 v0.15.0 Downloaded hex v0.3.2 Downloaded opener v0.5.2 Downloaded libssh2-sys v0.2.23 Downloaded git2-curl v0.16.0 Downloaded libgit2-sys v0.14.2+1.5.1 Downloaded rustc-workspace-hack v1.0.0 Downloaded crypto-hash v0.3.4 Downloaded cargo-util v0.2.3 Downloaded curl-sys v0.4.61+curl-8.0.1 Downloaded libnghttp2-sys v0.1.7+1.45.0 Downloaded serde_ignored v0.1.7 Downloaded os_info v3.7.0 Downloaded combine v4.6.6 Downloaded env_logger v0.9.3 Downloaded cargo v0.66.0 Downloaded 34 crates (13.0 MB) in 1.85s (largest was `libnghttp2-sys` at 4.5 MB) Compiling libc v0.2.144 Compiling proc-macro2 v1.0.57 Compiling quote v1.0.27 Compiling unicode-ident v1.0.8 Compiling cfg-if v1.0.0 Compiling pkg-config v0.3.27 Compiling version_check v0.9.4 Compiling memchr v2.5.0 Compiling syn v2.0.16 Compiling once_cell v1.17.1 Compiling jobserver v0.1.26 Compiling cc v1.0.79 Compiling autocfg v1.1.0 Compiling bitflags v1.3.2 Compiling ahash v0.7.6 Compiling serde v1.0.163 Compiling libz-sys v1.1.9 Compiling openssl-src v111.25.3+1.1.1t Compiling log v0.4.17 Compiling openssl-sys v0.9.87 Compiling io-lifetimes v1.0.10 Compiling crc32fast v1.3.2 Compiling rustix v0.37.19 Compiling linux-raw-sys v0.3.7 Compiling getrandom v0.2.9 Compiling syn v1.0.109 Compiling serde_derive v1.0.163 Compiling indexmap v1.9.3 Compiling hashbrown v0.12.3 Compiling typenum v1.16.0 Compiling adler v1.0.2 Compiling tinyvec_macros v0.1.1 Compiling tinyvec v1.6.0 Compiling miniz_oxide v0.7.1 Compiling libnghttp2-sys v0.1.7+1.45.0 Compiling ring v0.16.20 Compiling ryu v1.0.13 Compiling itoa v1.0.6 Compiling flate2 v1.0.26 Compiling unicode-normalization v0.1.22 Compiling is-terminal v0.4.7 Compiling unicode-bidi v0.3.13 Compiling smallvec v1.10.0 Compiling percent-encoding v2.2.0 Compiling serde_json v1.0.96 Compiling form_urlencoded v1.1.0 Compiling idna v0.3.0 Compiling aho-corasick v1.0.1 Compiling curl-sys v0.4.61+curl-8.0.1 Compiling libssh2-sys v0.2.23 Compiling unicode-width v0.1.10 Compiling rustversion v1.0.12 Compiling spin v0.5.2 Compiling regex-syntax v0.7.1 Compiling untrusted v0.7.1 Compiling utf8parse v0.2.1 Compiling regex v1.8.1 Compiling url v2.3.1 Compiling generic-array v0.14.7 Compiling cpp_demangle v0.4.1 Compiling ident_case v1.0.1 Compiling heck v0.4.1 Compiling strsim v0.10.0 Compiling fnv v1.0.7 Compiling darling_core v0.14.4 Compiling libgit2-sys v0.14.2+1.5.1 Compiling lock_api v0.4.9 Compiling stable_deref_trait v1.2.0 Compiling radium v0.7.0 Compiling lazy_static v1.4.0 Compiling signal-hook v0.3.15 Compiling anyhow v1.0.71 Compiling thiserror v1.0.40 Compiling semver v1.0.17 Compiling toml_datetime v0.6.1 Compiling fallible-iterator v0.2.0 Compiling winnow v0.4.6 Compiling parking_lot_core v0.9.7 Compiling gimli v0.27.2 Compiling darling_macro v0.14.4 Compiling toml_edit v0.19.8 Compiling unicode-linebreak v0.1.4 Compiling webpki v0.22.0 Compiling object v0.30.3 Compiling thiserror-impl v1.0.40 Compiling backtrace v0.3.67 Compiling num-traits v0.2.15 Compiling signal-hook-registry v1.4.1 Compiling libudev-sys v0.1.4 Compiling foreign-types-shared v0.1.1 Compiling openssl v0.10.52 Compiling rustc-demangle v0.1.23 Compiling termcolor v1.2.0 Compiling openssl-probe v0.1.5 Compiling curl v0.4.44 Compiling tap v1.0.1 Compiling fastrand v1.9.0 Compiling maybe-uninit v2.0.0 Compiling scopeguard v1.1.0 Compiling rustls v0.20.8 Compiling portable-atomic v1.3.2 Compiling regex-automata v0.1.10 Compiling bstr v1.4.0 Compiling tempfile v3.5.0 Compiling wyz v0.5.1 Compiling addr2line v0.19.0 Compiling foreign-types v0.3.2 Compiling proc-macro-crate v1.3.1 Compiling darling v0.14.4 Compiling strum_macros v0.24.3 Compiling sct v0.7.0 Compiling anstyle-parse v0.2.0 Compiling miniz_oxide v0.6.2 Compiling openssl-macros v0.1.1 Compiling mio v0.8.6 Compiling filetime v0.2.21 Compiling socket2 v0.4.9 Compiling humantime v2.1.0 Compiling portable-atomic v0.3.20 Compiling colorchoice v1.0.0 Compiling anstyle v1.0.0 Compiling funty v2.0.0 Compiling anstyle-query v1.0.0 Compiling same-file v1.0.6 Compiling anstream v0.3.2 Compiling walkdir v2.3.3 Compiling bitvec v1.0.1 Compiling strum v0.24.1 Compiling tar v0.4.38 Compiling signal-hook-mio v0.2.3 Compiling parking_lot v0.12.1 Compiling deku_derive v0.15.1 Compiling webpki-roots v0.22.6 Compiling crypto-common v0.1.6 Compiling block-buffer v0.10.4 Compiling console v0.15.5 Compiling bitmaps v2.1.0 Compiling csv-core v0.1.10 Compiling aho-corasick v0.7.20 Compiling dirs-sys v0.3.7 Compiling atty v0.2.14 Compiling vte_generate_state_changes v0.1.1 Compiling im-rc v15.1.0 Compiling static_assertions v1.1.0 Compiling rand_core v0.6.4 Compiling bytes v1.4.0 Compiling nodrop v0.1.14 Compiling camino v1.1.4 Compiling arrayvec v0.5.2 Compiling clap_lex v0.4.1 Compiling is_ci v1.1.1 Compiling smawk v0.3.1 Compiling either v1.8.1 Compiling base64 v0.13.1 Compiling os_str_bytes v6.5.0 Compiling hex v0.3.2 Compiling itertools v0.10.5 Compiling clap_lex v0.2.4 Compiling ureq v2.6.2 Compiling binread_derive v2.1.0 Compiling textwrap v0.15.2 Compiling supports-color v2.0.0 Compiling vte v0.10.1 Compiling clap_builder v4.2.7 Compiling array-init v0.0.4 Compiling combine v4.6.6 Compiling rand_xoshiro v0.6.0 Compiling globset v0.4.10 Compiling kstring v2.0.0 Compiling directories v4.0.1 Compiling csv v1.2.1 Compiling sized-chunks v0.6.5 Compiling digest v0.10.6 Compiling smallvec v0.6.14 Compiling parse_int v0.6.0 Compiling libudev v0.3.0 Compiling cargo v0.66.0 Compiling deku v0.15.1 Compiling crossterm v0.25.0 Compiling backtrace-ext v0.2.1 Compiling clap_derive v4.2.0 Compiling supports-hyperlinks v2.1.0 Compiling supports-unicode v2.0.0 Compiling serde_plain v1.0.1 Compiling cargo-platform v0.1.2 Compiling bytemuck_derive v1.4.1 Compiling miette-derive v5.8.0 Compiling nix v0.24.3 Compiling thread_local v1.1.7 Compiling dirs-sys-next v0.1.2 Compiling terminal_size v0.1.17 Compiling shell-escape v0.1.5 Compiling zero v0.1.3 Compiling shell-words v1.1.0 Compiling zeroize v1.6.0 Compiling textwrap v0.16.0 Compiling owo-colors v3.5.0 Compiling cpufeatures v0.2.7 Compiling md5 v0.7.0 Compiling number_prefix v0.4.0 Compiling hex v0.4.3 Compiling indicatif v0.17.3 Compiling miette v5.8.0 Compiling esp-idf-part v0.1.2 Compiling clap v3.2.25 Compiling sha2 v0.10.6 Compiling crypto-hash v0.3.4 Compiling dialoguer v0.10.4 Compiling cargo-util v0.2.3 Compiling xmas-elf v0.9.0 Compiling serialport v4.2.0 Compiling directories-next v2.0.0 Compiling ignore v0.4.20 Compiling clap v4.2.7 Compiling bytemuck v1.13.1 Compiling comfy-table v6.1.4 Compiling serde-hex v0.1.0 Compiling update-informer v0.6.0 Compiling toml_edit v0.14.4 Compiling strip-ansi-escapes v0.1.1 Compiling binread v2.2.0 Compiling env_logger v0.9.3 Compiling env_logger v0.10.0 Compiling rustfix v0.6.1 Compiling opener v0.5.2 Compiling serde_ignored v0.1.7 Compiling toml v0.5.11 Compiling os_info v3.7.0 Compiling rustc-workspace-hack v1.0.0 Compiling pathdiff v0.2.1 Compiling lazycell v1.3.0 Compiling base64 v0.21.0 Compiling slip-codec v0.3.4 Compiling glob v0.3.1 Compiling bytesize v1.2.0 Compiling unicode-xid v0.2.4 Compiling home v0.5.5 Compiling espflash v2.0.0-rc.3 Compiling cargo_metadata v0.15.4 Compiling crates-io v0.34.0 Compiling git2 v0.15.0 Compiling git2-curl v0.16.0 Compiling cargo-espflash v2.0.0-rc.3 Finished release [optimized] target(s) in 8m 34s Replacing /home/tingo/.cargo/bin/cargo-espflash Replaced package `cargo-espflash v1.7.0` with `cargo-espflash v2.0.0-rc.3` (executable `cargo-espflash`)
2023-05-15: vm4 - try with cargo espflash
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ cargo espflash --version New version of cargo-espflash is available: v2.0.0-rc.3 cargo-espflash 1.7.0
try it
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ cargo espflash board-info New version of cargo-espflash is available: v2.0.0-rc.3 ✔ Use serial port '/dev/ttyS0'? · no Error: espflash::serial_not_found × The serial port '/dev/ttyS0' could not be found help: Make sure the correct device is connected to the host system
specify port
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ cargo espflash /dev/ttyACM0 board-info New version of cargo-espflash is available: v2.0.0-rc.3 ✔ Use serial port '/dev/ttyS0'? · no Error: espflash::serial_not_found × The serial port '/dev/ttyS0' could not be found help: Make sure the correct device is connected to the host system
didn't help. Groups and permissions seems to be in order
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ groups tingo adm lp dialout cdrom floppy sudo audio dip video plugdev netdev lpadmin scanner libvirt bsdusers libvirt-qemu tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ ll /dev/ttyACM0 crw-rw---- 1 root dialout 166, 0 May 15 19:53 /dev/ttyACM0
2023-05-15: vm4 - connect the WT32-SC01 Plus board
tingo@kg-vm4:~$ lsusb -d 303a:1001 Bus 009 Device 002: ID 303a:1001 Espressif USB JTAG/serial debug unit
usb serial port
tingo@kg-vm4:~$ ls -l /dev/tty[ACU]* crw-rw---- 1 root dialout 166, 0 May 15 19:53 /dev/ttyACM0
2023-05-15: vm4 - try to build the example
tingo@kg-vm4:~/personal/projects/2023/embedded/rust/esp32s3-example$ cargo build Updating crates.io index Downloaded darling v0.14.4 Downloaded stable_deref_trait v1.2.0 Downloaded esp-synopsys-usb-otg v0.3.1 Downloaded xtensa-lx v0.8.0 Downloaded xtensa-lx-rt v0.15.0 Downloaded nb v1.1.0 Downloaded critical-section v1.1.1 Downloaded darling_macro v0.14.4 Downloaded esp-backtrace v0.7.0 Downloaded basic-toml v0.1.2 Downloaded usb-device v0.2.9 Downloaded r0 v1.0.0 Downloaded nb v0.1.3 Downloaded ident_case v1.0.1 Downloaded proc-macro-error-attr v1.0.4 Downloaded xtensa-lx-rt-proc-macros v0.2.0 Downloaded mutex-trait v0.2.0 Downloaded vcell v0.1.3 Downloaded esp-println v0.5.0 Downloaded bare-metal v1.0.0 Downloaded gcd v2.3.0 Downloaded fugit v0.3.6 Downloaded enum-as-inner v0.4.0 Downloaded void v1.0.2 Downloaded proc-macro-error v1.0.4 Downloaded embedded-hal v0.2.7 Downloaded proc-macro-crate v1.3.1 Downloaded spin v0.9.8 Downloaded bitflags v2.2.1 Downloaded darling_core v0.14.4 Downloaded embedded-dma v0.2.0 Downloaded esp-hal-procmacros v0.5.0 Downloaded minijinja v0.15.0 Downloaded esp-hal-common v0.9.0 Downloaded core-isa-parser v0.2.0 Downloaded esp32s3-hal v0.9.0 Downloaded esp32s3 v0.18.1 Downloaded 37 crates (2.0 MB) in 2.34s Downloaded getopts v0.2.21 Downloaded cc v1.0.77 Downloaded rustc-demangle v0.1.21 Downloaded miniz_oxide v0.5.3 Downloaded object v0.29.0 Downloaded libc v0.2.139 Downloaded gimli v0.26.2 Downloaded compiler_builtins v0.1.87 Downloaded addr2line v0.17.0 Downloaded 9 crates (2.0 MB) in 0.44s Compiling compiler_builtins v0.1.87 Compiling core v0.0.0 (/zs/tingo/.rustup/toolchains/esp/lib/rustlib/src/rust/library/core) Compiling proc-macro2 v1.0.57 Compiling unicode-ident v1.0.8 Compiling quote v1.0.27 Compiling syn v1.0.109 Compiling autocfg v1.1.0 Compiling serde v1.0.163 Compiling rustversion v1.0.12 Compiling syn v2.0.16 Compiling memchr v2.5.0 Compiling version_check v0.9.4 Compiling heck v0.4.1 Compiling anyhow v1.0.71 Compiling aho-corasick v1.0.1 Compiling serde_derive v1.0.163 Compiling lock_api v0.4.9 Compiling indexmap v1.9.3 Compiling regex-syntax v0.7.1 Compiling rustc-std-workspace-core v1.99.0 (/zs/tingo/.rustup/toolchains/esp/lib/rustlib/src/rust/library/rustc-std-workspace-core) Compiling strum_macros v0.24.3 Compiling xtensa-lx v0.8.0 Compiling critical-section v1.1.1 Compiling scopeguard v1.1.0 Compiling enum-as-inner v0.4.0 Compiling regex v1.8.1 Compiling proc-macro-error-attr v1.0.4 Compiling strum v0.24.1 Compiling hashbrown v0.12.3 Compiling strsim v0.10.0 Compiling ident_case v1.0.1 Compiling fnv v1.0.7 Compiling darling_core v0.14.4 Compiling minijinja v0.15.0 Compiling core-isa-parser v0.2.0 Compiling bare-metal v1.0.0 Compiling nb v1.1.0 Compiling proc-macro-error v1.0.4 Compiling winnow v0.4.6 Compiling toml_datetime v0.6.1 Compiling nb v0.1.3 Compiling spin v0.9.8 Compiling basic-toml v0.1.2 Compiling toml_edit v0.19.8 Compiling darling_macro v0.14.4 Compiling vcell v0.1.3 Compiling void v1.0.2 Compiling mutex-trait v0.2.0 Compiling once_cell v1.17.1 Compiling esp32s3 v0.18.1 Compiling esp-synopsys-usb-otg v0.3.1 Compiling paste v1.0.12 Compiling darling v0.14.4 Compiling proc-macro-crate v1.3.1 Compiling embedded-hal v0.2.7 Compiling esp-hal-common v0.9.0 Compiling usb-device v0.2.9 Compiling r0 v1.0.0 Compiling gcd v2.3.0 Compiling stable_deref_trait v1.2.0 Compiling xtensa-lx-rt-proc-macros v0.2.0 Compiling esp-println v0.5.0 Compiling fugit v0.3.6 Compiling embedded-dma v0.2.0 Compiling xtensa-lx-rt v0.15.0 Compiling bitflags v2.2.1 Compiling cfg-if v1.0.0 Compiling esp-backtrace v0.7.0 Compiling esp32s3-hal v0.9.0 Compiling esp-hal-procmacros v0.5.0 Compiling esp32s3_example v0.1.0 (/zs/personal/projects/2023/embedded/rust/esp32s3-example) Finished dev [unoptimized + debuginfo] target(s) in 1m 58s
2023-05-15: vm4 - rust - use cargo generate to configure an example
tingo@kg-vm4:~/personal/projects/2023/embedded/rust$ cargo generate --git https://github.com/esp-rs/esp-template 🤷 Project Name: esp32s3-example 🔧 Destination: /zs/personal/projects/2023/embedded/rust/esp32s3-example ... 🔧 project-name: esp32s3-example ... 🔧 Generating template ... ✔ 🤷 Which MCU to target? · esp32s3 ✔ 🤷 Use template default values? · true ✔ 🤷 The template is requesting to run the following command. Do you agree? cargo fmt · yes 💡 When using `espflash` version 1.x you need to edit `.cargo/config.toml` 💡 Make the runner look like this `runner = "espflash --monitor"` Use `cargo run` to flash and run your code 🔧 Moving generated files into: `/zs/personal/projects/2023/embedded/rust/esp32s3-example`... Initializing a fresh Git repository ✨ Done! New project created /zs/personal/projects/2023/embedded/rust/esp32s3-example
2023-05-13: c1 - rust - rustup info
tingo@kg-core1:~/personal/projects/2023/rust/embedded $ rustup show Default host: x86_64-unknown-freebsd rustup home: /home/tingo/.rustup installed toolchains -------------------- stable-x86_64-unknown-freebsd (default) nightly-2022-07-10-x86_64-unknown-freebsd nightly-x86_64-unknown-freebsd installed targets for active toolchain -------------------------------------- riscv32imac-unknown-none-elf riscv32imc-unknown-none-elf thumbv6m-none-eabi thumbv7m-none-eabi thumbv8m.main-none-eabihf x86_64-unknown-freebsd active toolchain ---------------- stable-x86_64-unknown-freebsd (default) rustc 1.68.2 (9eb3afe9e 2023-03-27)
2023-05-13: c1 - rust - try the old installer
tingo@kg-core1:~/work/rust/esp $ curl -LO https://github.com/esp-rs/rust-build/releases/download/v1.69.0.0/install-rust-toolchain.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 25990 100 25990 0 0 51371 0 --:--:-- --:--:-- --:--:-- 746k tingo@kg-core1:~/work/rust/esp $ chmod +x install-rust-toolchain.sh
does it work?
tingo@kg-core1:~/work/rust/esp $ ./install-rust-toolchain.sh --help WARNING: This installation script is deprecated. Use espup(https://github.com/esp-rs/espup) instead. Usage: install-rust-toolchain.sh <arguments> Arguments: -b|--build-target Comma separated list of targets [esp32,esp32s2,esp32s3,esp32c3,all]. Defaults to: esp32,esp32s2,esp32s3 -c|--cargo-home Cargo path -d|--toolchain-destination Toolchain installation folder. -e|--extra-crates Extra crates to install. Defaults to: ldproxy cargo-espflash -f|--export-file Destination of the export file generated. Defaults to: export-esp.sh -i|--installation-mode Installation mode: [install, reinstall, uninstall]. Defaults to: install -k|--minified-llvm Use minified LLVM. Possible values [YES, NO] -l|--llvm-version LLVM version -m|--minified-esp-idf [Only applies if using -s|--esp-idf-version]. Deletes some esp-idf folder to save space. Possible values [YES, NO] -n|--nightly-version Nightly Rust toolchain version -r|--rustup-home Path to .rustup -s|--esp-idf-version ESP-IDF version. When empty, no esp-idf is installed. Default: "" -t|--toolchain-version Xtensa Rust toolchain version -x|--clear-cache Removes cached distribution files. Possible values [YES, NO]
ok, try to install
tingo@kg-core1:~/work/rust/esp $ ./install-rust-toolchain.sh WARNING: This installation script is deprecated. Use espup(https://github.com/esp-rs/espup) instead. Processing configuration: --build-target = esp32,esp32s2,esp32s3 --cargo-home = /home/tingo/.cargo --clear-cache = YES --esp-idf-version = --export-file = export-esp.sh --extra-crates = ldproxy cargo-espflash --installation-mode = install --llvm-version = esp-15.0.0-20221201 --minified-esp-idf = NO --minified-llvm = YES --nightly-version = nightly --rustup-home = /home/tingo/.rustup --toolchain-version = 1.69.0.0 --toolchain-destination = /home/tingo/.rustup/toolchains/esp /home/tingo/.cargo/bin/rustup nightly-2022-07-10-x86_64-unknown-freebsd nightly-x86_64-unknown-freebsd Processing toolchain for x86_64-unknown-freebsd - operation: install ./install-rust-toolchain.sh: line 566: LLVM_ARCH: unbound variable
nope, didn't work.
2023-05-13: c1 - rust - try to install the espup tool for installing rust for ESP
tingo@kg-core1:~/personal/projects/2023/rust/embedded $ cargo install espup Updating crates.io index Downloaded espup v0.4.0 Downloaded 1 crate (42.1 KB) in 0.52s Installing espup v0.4.0 Downloaded foreign-types v0.3.2 Downloaded dirs-sys v0.4.1 Downloaded h2 v0.3.19 Downloaded httpdate v1.0.2 Downloaded mime v0.3.17 Downloaded ipnet v2.7.2 Downloaded constant_time_eq v0.1.5 Downloaded mio v0.8.6 Downloaded pin-utils v0.1.0 Downloaded pin-project v1.0.12 Downloaded http-body v0.4.5 Downloaded regex v1.8.1 Downloaded subtle v2.4.1 Downloaded zstd-safe v5.0.2+zstd.1.5.2 Downloaded slab v0.4.8 Downloaded socket2 v0.4.9 Downloaded httparse v1.8.0 Downloaded sct v0.7.0 Downloaded smawk v0.3.1 Downloaded strum_macros v0.24.3 Downloaded sha1 v0.10.5 Downloaded reqwest v0.11.17 Downloaded is_ci v1.1.1 Downloaded guess_host_triple v0.1.3 Downloaded tower-service v0.3.2 Downloaded tokio-native-tls v0.3.1 Downloaded unicode-linebreak v0.1.4 Downloaded terminal_size v0.1.17 Downloaded tokio-retry v0.3.0 Downloaded tokio-macros v2.1.0 Downloaded update-informer v0.6.0 Downloaded tokio-util v0.7.8 Downloaded ureq v2.6.2 Downloaded try-lock v0.2.4 Downloaded lzma-sys v0.1.20 Downloaded xz2 v0.1.7 Downloaded xattr v0.2.3 Downloaded webpki v0.22.0 Downloaded webpki-roots v0.22.6 Downloaded supports-unicode v2.0.0 Downloaded supports-hyperlinks v2.1.0 Downloaded strum v0.24.1 Downloaded tracing-core v0.1.31 Downloaded textwrap v0.15.2 Downloaded tar v0.4.38 Downloaded winnow v0.4.6 Downloaded quote v1.0.27 Downloaded pbkdf2 v0.11.0 Downloaded miette-derive v5.8.0 Downloaded ahash v0.7.6 Downloaded supports-color v2.0.0 Downloaded hyper v0.14.26 Downloaded zstd v0.11.2+zstd.1.5.2 Downloaded bzip2 v0.4.4 Downloaded futures-core v0.3.28 Downloaded futures-util v0.3.28 Downloaded serde_derive v1.0.163 Downloaded futures-sink v0.3.28 Downloaded foreign-types-shared v0.1.1 Downloaded want v0.3.0 Downloaded miette v5.8.0 Downloaded retry v2.0.0 Downloaded untrusted v0.7.1 Downloaded openssl v0.10.52 Downloaded serde v1.0.163 Downloaded regex-syntax v0.7.1 Downloaded rustls v0.20.8 Downloaded serde_urlencoded v0.7.1 Downloaded filetime v0.2.21 Downloaded futures-io v0.3.28 Downloaded owo-colors v3.5.0 Downloaded opaque-debug v0.3.0 Downloaded bytes v1.4.0 Downloaded http v0.2.9 Downloaded clap_complete v4.2.3 Downloaded password-hash v0.4.2 Downloaded base64ct v1.6.0 Downloaded zip v0.6.5 Downloaded spin v0.5.2 Downloaded option-ext v0.2.0 Downloaded native-tls v0.2.11 Downloaded pin-project-internal v1.0.12 Downloaded num_cpus v1.15.0 Downloaded backtrace-ext v0.2.1 Downloaded futures-task v0.3.28 Downloaded directories v5.0.1 Downloaded errno v0.2.8 Downloaded directories v4.0.1 Downloaded openssl-macros v0.1.1 Downloaded cipher v0.3.0 Downloaded aho-corasick v1.0.1 Downloaded tokio v1.28.1 Downloaded zstd-sys v2.0.8+zstd.1.5.5 Downloaded base64 v0.13.1 Downloaded async-trait v0.1.68 Downloaded hyper-tls v0.5.0 Downloaded hmac v0.12.1 Downloaded libc v0.2.144 Downloaded encoding_rs v0.8.32 Downloaded bzip2-sys v0.1.11+1.0.8 Downloaded futures-channel v0.3.28 Downloaded aes v0.7.5 Downloaded dirs-sys v0.3.7 Downloaded ring v0.16.20 Downloaded openssl-src v111.25.3+1.1.1t Downloaded 105 crates (19.8 MB) in 1.48s (largest was `openssl-src` at 5.1 MB) Compiling libc v0.2.144 Compiling cfg-if v1.0.0 Compiling proc-macro2 v1.0.56 Compiling quote v1.0.27 Compiling unicode-ident v1.0.8 Compiling pkg-config v0.3.27 Compiling jobserver v0.1.26 Compiling cc v1.0.79 Compiling syn v2.0.15 Compiling autocfg v1.1.0 Compiling version_check v0.9.4 Compiling memchr v2.5.0 Compiling once_cell v1.17.1 Compiling log v0.4.17 Compiling bitflags v1.3.2 Compiling io-lifetimes v1.0.10 Compiling typenum v1.16.0 Compiling rustix v0.37.19 Compiling generic-array v0.14.7 Compiling errno v0.3.1 Compiling lock_api v0.4.9 Compiling pin-project-lite v0.2.9 Compiling parking_lot_core v0.9.7 Compiling serde v1.0.163 Compiling openssl-src v111.25.3+1.1.1t Compiling itoa v1.0.6 Compiling scopeguard v1.1.0 Compiling bytes v1.4.0 Compiling smallvec v1.10.0 Compiling openssl-sys v0.9.87 Compiling is-terminal v0.4.7 Compiling ring v0.16.20 Compiling tokio v1.28.1 Compiling adler v1.0.2 Compiling futures-core v0.3.28 Compiling parking_lot v0.12.1 Compiling serde_derive v1.0.163 Compiling tokio-macros v2.1.0 Compiling mio v0.8.6 Compiling ahash v0.7.6 Compiling signal-hook-registry v1.4.1 Compiling num_cpus v1.15.0 Compiling getrandom v0.2.9 Compiling socket2 v0.4.9 Compiling indexmap v1.9.3 Compiling rand_core v0.6.4 Compiling slab v0.4.8 Compiling subtle v2.4.1 Compiling syn v1.0.109 Compiling hashbrown v0.12.3 Compiling tinyvec_macros v0.1.1 Compiling futures-task v0.3.28 Compiling spin v0.5.2 Compiling untrusted v0.7.1 Compiling tinyvec v1.6.0 Compiling aho-corasick v1.0.1 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.6 Compiling zstd-sys v2.0.8+zstd.1.5.5 Compiling tracing-core v0.1.31 Compiling crc32fast v1.3.2 Compiling openssl v0.10.52 Compiling futures-util v0.3.28 Compiling foreign-types-shared v0.1.1 Compiling fnv v1.0.7 Compiling regex-syntax v0.7.1 Compiling percent-encoding v2.2.0 Compiling form_urlencoded v1.1.0 Compiling http v0.2.9 Compiling foreign-types v0.3.2 Compiling regex v1.8.1 Compiling tracing v0.1.37 Compiling digest v0.10.6 Compiling unicode-normalization v0.1.22 Compiling openssl-macros v0.1.1 Compiling native-tls v0.2.11 Compiling httparse v1.8.0 Compiling futures-sink v0.3.28 Compiling pin-utils v0.1.0 Compiling unicode-bidi v0.3.13 Compiling futures-io v0.3.28 Compiling cpufeatures v0.2.7 Compiling utf8parse v0.2.1 Compiling heck v0.4.1 Compiling futures-channel v0.3.28 Compiling ryu v1.0.13 Compiling anstyle-parse v0.2.0 Compiling idna v0.3.0 Compiling tokio-util v0.7.8 Compiling unicode-linebreak v0.1.4 Compiling miniz_oxide v0.7.1 Compiling bzip2-sys v0.1.11+1.0.8 Compiling backtrace v0.3.67 Compiling anstyle v1.0.0 Compiling openssl-probe v0.1.5 Compiling try-lock v0.2.4 Compiling colorchoice v1.0.0 Compiling ppv-lite86 v0.2.17 Compiling anstyle-query v1.0.0 Compiling rustversion v1.0.12 Compiling zstd-safe v5.0.2+zstd.1.5.2 Compiling rustls v0.20.8 Compiling serde_json v1.0.96 Compiling gimli v0.27.2 Compiling rand_chacha v0.3.1 Compiling anstream v0.3.2 Compiling want v0.3.0 Compiling flate2 v1.0.26 Compiling h2 v0.3.19 Compiling webpki v0.22.0 Compiling addr2line v0.19.0 Compiling sct v0.7.0 Compiling url v2.3.1 Compiling http-body v0.4.5 Compiling miniz_oxide v0.6.2 Compiling object v0.30.3 Compiling lzma-sys v0.1.20 Compiling unicode-width v0.1.10 Compiling strsim v0.10.0 Compiling rustc-demangle v0.1.23 Compiling tower-service v0.3.2 Compiling thiserror v1.0.40 Compiling base64ct v1.6.0 Compiling clap_lex v0.4.1 Compiling httpdate v1.0.2 Compiling semver v1.0.17 Compiling hyper v0.14.26 Compiling password-hash v0.4.2 Compiling clap_builder v4.2.7 Compiling webpki-roots v0.22.6 Compiling rand v0.8.5 Compiling pin-project-internal v1.0.12 Compiling clap_derive v4.2.0 Compiling sha2 v0.10.6 Compiling hmac v0.12.1 Compiling toml_datetime v0.6.1 Compiling serde_spanned v0.6.1 Compiling thiserror-impl v1.0.40 Compiling cipher v0.3.0 Compiling dirs-sys v0.3.7 Compiling winnow v0.4.6 Compiling opaque-debug v0.3.0 Compiling base64 v0.13.1 Compiling option-ext v0.2.0 Compiling is_ci v1.1.1 Compiling time-core v0.1.1 Compiling smawk v0.3.1 Compiling async-trait v0.1.68 Compiling textwrap v0.15.2 Compiling time v0.3.21 Compiling supports-color v2.0.0 Compiling dirs-sys v0.4.1 Compiling ureq v2.6.2 Compiling aes v0.7.5 Compiling toml_edit v0.19.8 Compiling directories v4.0.1 Compiling clap v4.2.7 Compiling pbkdf2 v0.11.0 Compiling pin-project v1.0.12 Compiling strum_macros v0.24.3 Compiling backtrace-ext v0.2.1 Compiling serde_urlencoded v0.7.1 Compiling sha1 v0.10.5 Compiling miette-derive v5.8.0 Compiling supports-hyperlinks v2.1.0 Compiling supports-unicode v2.0.0 Compiling errno v0.2.8 Compiling terminal_size v0.1.17 Compiling filetime v0.2.21 Compiling xattr v0.2.3 Compiling encoding_rs v0.8.32 Compiling humantime v2.1.0 Compiling ipnet v2.7.2 Compiling constant_time_eq v0.1.5 Compiling termcolor v1.2.0 Compiling owo-colors v3.5.0 Compiling fastrand v1.9.0 Compiling byteorder v1.4.3 Compiling lazy_static v1.4.0 Compiling base64 v0.21.0 Compiling mime v0.3.17 Compiling console v0.15.5 Compiling miette v5.8.0 Compiling tempfile v3.5.0 Compiling env_logger v0.10.0 Compiling tar v0.4.38 Compiling guess_host_triple v0.1.3 Compiling update-informer v0.6.0 Compiling xz2 v0.1.7 Compiling strum v0.24.1 Compiling tokio-retry v0.3.0 Compiling clap_complete v4.2.3 Compiling toml v0.7.3 Compiling directories v5.0.1 Compiling retry v2.0.0 Compiling bzip2 v0.4.4 Compiling zstd v0.11.2+zstd.1.5.2 Compiling zip v0.6.5 Compiling tokio-native-tls v0.3.1 Compiling hyper-tls v0.5.0 Compiling reqwest v0.11.17 Compiling espup v0.4.0 Finished release [optimized] target(s) in 4m 11s Installing /home/tingo/.cargo/bin/espup Installed package `espup v0.4.0` (executable `espup`)
cool. Now try to install
tingo@kg-core1:~/personal/projects/2023/rust/embedded $ espup install [2023-05-12T19:52:19Z INFO ] 💽 Installing the Espressif Rust ecosystem [2023-05-12T19:52:19Z WARN ] uname returned unrecognised machine "amd64" [2023-05-12T19:52:19Z WARN ] Could not guess triple for (Unknown, Little, FreeBsd) thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /home/tingo/.cargo/registry/src/github.com-1ecc6299db9ec823/espup-0.4.0/src/host_triple.rs:37:29 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
ah, that didn't work.
2023-05-13: I created this page.
2023-01-31: I picked up the package at PIB Extra Trondheimsveien this evening.
2023-01-30: I got a (paper) pick up note in the mail.
2023-01-12: I ordered 2 x WT32-SC01 Plus from Seed Studio at USD 25.90 each, plus USD 15.88 in shipping and handling.