Electronics
I am currently working with BLE beacons -only iBeacons for now- with Espressif’s
esp-idf
libraries. The aim is to use the ESP32 as a gateway to published
detected beacons to an MQTT broker. It was surprisingly easy and I will write
something about that when the
code will be more polished.
Anyway, by curiosity and to speed up development, I wanted to try
microPython port to ESP32, and I did. Unfortunately, BLE support is not yet
reliable enough and a lot of advertisements were lost with 4 to 6 beacons. This
post is to keep track of my work and, hopefully, use in the future when
microPython port will be more reliable :-)
Step by step guide to do a custom USB HID device on STM32 using ST CubeMX. There
is already
one page
addressing it but without any details for beginners.
I will use my custom board based on STM32L0,
but any Nucleo can be used by wiring a USB cable to 5V, GND, USB_D+, USB_D-.
For a project, I need media keys (play, volume, mute, …) and a way to lock a
computer under Windows (Windows+L keys). There is a lot of HID keyboard
descriptors on the Internet, some are for keyboards + media but all contain at
least one unused byte… Not a good thing for embedded systems with constraint
memory. Why? The descriptor can be found in
USB-IF example (Appendix B)
and describe a boot compatible keyboard. So unless you need your keyboard in
boot menus, this byte can be dropped. Also, the example defines 6 simultaneous
keys, I decreased it to three as I don’t need more.
How to use printf()
function with SMT32 HAL and redirect LOG()
calls to it.
After the STM32L151, I
am now designing a board for STM32L052. Following are some notes about ST
application notes I read to design an board.