Random libraries, examples, etc. for stm32f103c8 aka "blue pill"

boyska a6c5fde79e better readme 5 years ago
ad9850 a6c5fde79e better readme 5 years ago
rotary_tbl c5e6e28e6f initial commit 5 years ago
rotary_tbl2 c5e6e28e6f initial commit 5 years ago
ssd1306 c5e6e28e6f initial commit 5 years ago
README.md a6c5fde79e better readme 5 years ago

README.md

This is a collection of misc libraries, examples, etc. for stm32f103 (aka blue pill) + libopencm3 (+ FreeRTOS, sometimes)

AD9850

Control some DDS like AD9850 and AD9851.

This library doesn't use SPI, just regular GPIO: this is simpler (imho) to implement and understand, and gives you freedom to use whichever pin you prefer.

Notes

Support for ad9833 is completely lacking (despite some code you might find).

I am uncertain about ad9850/1: the two are similar, and I have some difficulties understanding which do I have. However, I think the implementation is correct.

Rotary TBL

Rotary encoder reading implemented with interrupts and lookup tables. This implementation uses a single interrupt, both on rising and falling.

Credits to http://makeatronics.blogspot.com/2013/02/efficiently-reading-quadrature-with.html

This is not a library, just an example

The example uses FreeRTOS just for convenience, you can easily remove it.

Rotary TBL2

Same as before, but with interrupts on both ports of the rotary encoder. It is more precise but, well, "uses" one more interrupt.

Credits to http://makeatronics.blogspot.com/2013/02/efficiently-reading-quadrature-with.html

The example uses FreeRTOS just for convenience, you can easily remove it.

This is not a library, just an example

SSD1306

Controls the oled display SSD1306.

SPI is used, so you don't have complete freedom on which pin/port to choose.