Difference between revisions of "VFO-001"

From Land Boards Wiki
Jump to navigation Jump to search
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

VFO-001 P132-720px.jpg

Features

Schematic

VFO-001-SCHEMATIC.PNG

Parts

Blue Pill Card

STM32F103C8T6-Blue-Pill-Pin-Layout.gif

  • 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

Si5351 003 720px.jpg

OLED128x32.PNG

Libraries/Example Code

Land Boards Code

Used in this app

= 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

Videos