Assortment of "How to xxx" I want to remember.
Getting a map for ESP in Arduino is "easy"; it is generated by default. The correct question is where to find it. We can also tell Arduino to store it in a place where we can find it more easily. See how.
Arduino had an IDE (v1.8), which started to feel outdated. Then came the IDE v2.0 with syntax highlighting and (still not working) integrated debugger. But now there is also a Command Line Interface. How does that work?
How should I name an Arduino library, so that it fits well in the Arduino IDE. Some notes.
An article about what iterators and generators are, using Python. An excellent article of how to implement generators in C. I was wondering if setjmp/longjmp would work/help here?
A small set of animation demos in html. See html-animation for soure and demo.
This pythonpackage is an empty python application which uses an empty package, all in a virtual enviroment.
I needed to connect an SPI mastering sensor to an ESP32S3. The sensor does not have an SSEL, which is a no-go for ESP. I tried various solutions, but failed - an "how not to".
SPI communication knows much more variation than e.g. I2C. This how to looks at the four modes induced by CPOL (default clock state) and CPHA (data valid phase).
The Arduino IDE is a bit poor in managing (files of) bigger projects.
The LinkedLibrary howto explains how you can use Windows' mklink
to
share libraries but store them in the same repository as the using applications.
It took many tries, but I have the debugger in the Arduino IDE running on the ESP32S3-DevKitC-1 board (without any probe). See DebuggingESP32S3Arduino.
Project esp32pwm shows how to use PWM on an ESP32, with an exponential curve and a transistor to drive a high power LED.
I was given an 128x64 LCD module from POWERTIP ("PG12864WRF"). It uses an NT7108 as controller. Took quite some time to get it running.
For an example and explanation see drag-n-drop-html. Or see it in action.
The Serial Plotter in Arduino 2.0 has a too narrow x-axis. That can be patched wider. For an example and explanation see arduino2.0-wideplot.
Computing the signal to noise ratio SNR of a series of measurements.
The NodeMCU board (ESP8266, ESP32) have several pins related to power. See NodeMCU-power-architecture for an explanation of the pins.
Unlike traditional Arduino boards, the ESP32 allows configuring its GPIO pins as open drain. For an example and explanation see esp32-opendrain.
Set or clear ESP32 GPIO pins via direct register access; this is much faster than via the Arduino API. For an example and explanation see esp32-fast-gpio.
Set or clear ATMEGA GPIO pins via direct register access; this is much faster than via the Arduino API. For an example and explanation see atmega-fast-gpio.
(end)