Difference between revisions of "VFO-001"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 58: | Line 58: | ||
* [https://github.com/etherkit/Si5351Arduino Si5351 Library for Arduino] | * [https://github.com/etherkit/Si5351Arduino Si5351 Library for Arduino] | ||
* [https://www.best-microcontroller-projects.com/rotary-encoder.html Rotary Encoder] - Software debounced | * [https://www.best-microcontroller-projects.com/rotary-encoder.html Rotary Encoder] - Software debounced | ||
+ | |||
+ | === Arduino Library for OLED == | ||
+ | |||
+ | * [https://github.com/olikraus/u8g2 U8g2: Library for monochrome displays, version 2] | ||
+ | ** [https://github.com/olikraus/u8g2/wiki/u8g2reference Reference library] | ||
+ | ** Constructor | ||
+ | <pre> | ||
+ | U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // STM32, Ebay OLED | ||
+ | </pre> | ||
+ | * [https://github.com/olikraus/u8g2/wiki/fntlistall List of Fonts] | ||
+ | <pre> | ||
+ | u8g2.setFont(u8g2_font_ncenB14_tr); | ||
+ | </pre> | ||
+ | |||
+ | ==== Hello World Code ==== | ||
+ | |||
+ | <pre> | ||
+ | U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // STM32, Ebay OLED | ||
+ | |||
+ | void setup(void) { | ||
+ | u8g2.begin(); | ||
+ | } | ||
+ | |||
+ | void loop(void) { | ||
+ | u8g2.clearBuffer(); // clear the internal memory | ||
+ | u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font | ||
+ | u8g2.drawStr(0,10,"Hello World!"); // write something to the internal memory | ||
+ | u8g2.sendBuffer(); // transfer internal memory to the display | ||
+ | delay(1000); | ||
+ | } | ||
+ | </pre> | ||
=== Others === | === Others === |
Revision as of 12:44, 30 October 2020
Contents
Features
- DD1306 OLED Display
- I2C Interface
- Rotary Encoder Break Out Board
- STM32 (Blue Pill Board) Microprocessor
- Arduino compatible
- 3.3V
- Si5351 Oscillator Breakout Board
- 10 KHz - 40 MHz tuning range
- 100Hz/1KHz/10KHz/100KHz/1MHz/10MHz steps
- I2C Interface
- 3 Outputs
- 27 MHz crystal
- Extruded Aluminum Enclosure Box - 94mm x 83mm x 30mm
Schematic
Parts
Blue Pill Card
- 3.3V operation works without level shifters for I2C
- OLED runs from 3.3V
- Si5351 can only run from 3.3V
- Used right angle headers and Dupont cables for low profile
- Replaced BOOT 0,1 jumpers
- Wire jumper on BOOT1
- Switch on BOOT0 - easier to download code
- Download via serial
- Programmed via Arduino IDE
128x32 OLED
Libraries/Example Code
Land Boards Code
Used in this app
- U8g2: Library for monochrome displays, version 2
- Si5351 Library for Arduino
- Rotary Encoder - Software debounced
= Arduino Library for OLED
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // STM32, Ebay OLED
u8g2.setFont(u8g2_font_ncenB14_tr);
Hello World Code
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // STM32, Ebay OLED void setup(void) { u8g2.begin(); } void loop(void) { u8g2.clearBuffer(); // clear the internal memory u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font u8g2.drawStr(0,10,"Hello World!"); // write something to the internal memory u8g2.sendBuffer(); // transfer internal memory to the display delay(1000); }
Others
- Universal Digital VFO Si570/Si5351
- Adafruit_Si5351
- Si5351 Library for avr-gcc
- vk3hn_VFO_controller
- Simple BFO with si5351 controlled by Arduino
- VFO and BFO with Si5351A, OLED and Arduino
Videos