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

Development/Design

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

[Mia] I actually assembled 18 of them, and I didn’t expect half of them to work!

This time, I will also fix the production firmware write version and actually assemble it. At this point, I'll power it up with a USB TypeC power supply and see if it actually works. Well, everything should work! I thought, but I didn't expect it to work nearly half the time!"
Development/Design

[Stripe] Testing in the production environment should be done with a settlement amount of at least 50 yen.

When testing Stripe production payments with the Wordpress (WooCommerce) + Stripe combination, we encountered an unexpected pitfall. In the production environment, if the purchase amount is not set to more than 50 yen, the credit input field does not appear and the user cannot make a payment.
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

[Electronic Circuit] Found defective products after 100 boards were installed and filed a Quality Complaint with JLCPCB.

The order was placed with JLCPCB for 100 boards, but in reality some of the pin headers were slightly out of level, resulting in LCD displays interfering with each other and not fitting together The JLCPCB order history section has a 'Quality Complaint' field where you can enter the nature of the fault and the number of faulty boards. and the number of defective boards.
Development/Design

[ESP32] How to deal with stack overflow error after MQTT communication that occurred after migration to ESP-IDF

Stack overflow is a phenomenon in which a task runs out of allocated stack memory Stack overflows can occur due to the receiving or parsing process of MQTT messages Sometimes it can be solved by changing the stack size setting in the sdkconfig file. This can be resolved by changing the stack size setting in the sdkconfig file.
Development/Design

[JLCPCB] I received a confirmation email after ordering 100 boards. PCB operation is not checked

If there is no problem with the PCB layout, you will not receive an email from JLCPCB, so if you receive an email, it is when there is a problem, such as an incomplete circuit. Also, JLCPCB does not check the functionality of your own PCB, so you need to look at the schematic and PCB yourself to determine if the order is correct.
Development/Design

[Docker] Understanding inter-container communication. external configuration and access methods

For inter-container communication in Docker, you first need to manually create an existing Docker network. Afterwards, set external: true in docker-compose.yml.For inter-container communication, the port mapping of the host is irrelevant and the internal port is used directly.
Development/Design

[Docker] Port mapping. port numbers appear a lot, so I organized them.

When Dockerising and accessing services inside the container, the Docker container itself is an environment that is also independent of the host machine, so access is only possible via the container port.There are two ways to configure Docker port mapping: using the docker run command or using docker-compose.yml.
Development/Design

[ESP32 x PlatformIO] How to coexist the framework with Arduino and ESP-IDF

PlatformIO allows the Arduino and ESP-IDF frameworks to be used together: by setting framework = arduino, espidf in platform.ini, many existing Arduino libraries can be used directly, thus reducing the need for code porting This saves time and effort in porting and rewriting code.