方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)

C++

built-in(C++)

[ESP32] How to migrate from Arduino IDE to Platform IO

After switching from Arduino to PlatformIO, I can now use VSCode to centralise all code creation, Build and Upload, and I feel that the Build speed is about twice as fast as with Arduino. It's also good that it automatically searches for ports.
application(Flutter)

[Flutter × Go × ESP32] How to add mute function to Mia.

After the release of the beta version of Mia, several users who actually used it asked for a 'no talking mode' for the frequency of talking, so the implementation of this feature is described in this report. For reference, we looked at Alexa and found that mute (in this case, goodnight mode) was indeed displayed on the home screen with a toggle icon.
application(Flutter)

[ESP32 x Flutter] How to send Wi-Fi scan results in chunks via BLE

Describes how to use ESP32 and Flutter (flutter_blue_plus) to split and send the results of a Wi-Fi scan to a smartphone via BLE, using BLE's Notify function to split large data into smaller packets and reconstruct the received data.
Development/Design

[ST7735] Guide to solving drawing problems on TFT LCDs: how to set Green Tab.

Describes drawing problems encountered with ST7735 TFT LCD displays and their solutions, as ST7735 displays use the same basic chip but have minor specification differences between different manufacturers and production batches, resulting in many variations such as "Green Tab", "Red Tab", "Black Tab " and many other variations exist.
Development/Design

[C++] Difference between pointer and reference, value passing and reference passing, function pointer, smart pointer

A pointer is a variable that stores an address (position in memory space). When a variable is declared, memory for the variable is allocated and placed in the memory space. However, immediately after the variable declaration, the pointer contains an undefined value and it is not known where it points. The address of the variable can be obtained by preceding the variable name with the `&` symbol.
Development/Design

[ESP32 x PlatformIO] Move the configuration file (AWS IoT) from LittleFS to the NVS area.

Currently, the configuration file is placed under the data directory and included in the SPIFFS area at the time of build, but when LittleFS storage overflows due to a problem in the download process, etc., there is a possibility of failure, such as reading certificates, so change to writing and reading in the NVS area.
Development/Design

[ESP32] Create NVS encryption key and encrypt NVS partition

Create a new NVS key partition as a dedicated partition for storing the encryption keys required to use the NVS encryption function of ESP32 As an NVS key partition, Type must be data and Subtype must be nvs_keys.
Development/Design

[ESP32] OTA update: Firmware update using MQTT and AWS IoT device shadow

When the user accepts the update, the app sends an API request to the server, which reflects the change in the AWS IoT device shadow. The device detects this change via MQTT and performs a firmware download and upgrade.
Development/Design

[ESP32] How to initialize firmware with a hardware trigger.

Describes the procedure for firmware initialisation using hardware triggering with the TTP223 touch sensor on the ESP32, utilising PlatformIO and TFT_eSPI to display status using the display in safe mode and to perform OTA updates.