nfcAudio is an MP3 player, with audio files selected thanks to an NFC tag placed
on top of it. I build this two years ago for my kid so he can play by himself
his preferred nursery rhymes and songs, it is still used at least once a week
It is powered by an ESP8266 to play audio from a remote server, an I2S DAC
driving the speaker and an NFC reader. Thanks to WiFi we can use it to play
local files or any webradio stream from the Internet.
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
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.