Difference between revisions of "VFO-002"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 42: | Line 42: | ||
* Arduino IDE | * Arduino IDE | ||
− | === 128x32 OLED === | + | === OLED === |
+ | |||
+ | ==== 128x32 OLED ==== | ||
* [https://www.ebay.com/itm/2pcs-0-91-128x32-IIC-I2C-White-OLED-LCD-Display-DIY-Module-For-Arduino/293688288048?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649 Ebay] | * [https://www.ebay.com/itm/2pcs-0-91-128x32-IIC-I2C-White-OLED-LCD-Display-DIY-Module-For-Arduino/293688288048?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649 Ebay] | ||
[[File:OLED128x32.PNG]] | [[File:OLED128x32.PNG]] | ||
+ | |||
+ | ==== 128x64 OLED ==== | ||
+ | |||
+ | * Rotated | ||
==== Arduino Library for OLED ==== | ==== Arduino Library for OLED ==== |
Revision as of 14:42, 22 October 2020
This is a work in process
Contents
Features
- Software controlled VFO
- Blue Pill Microprocessor
- STM32F103 32-but ARM RISC CPU
- Arduino compatible
- 3.3V I/O
- Detachable Rotary Encoder/OLED card
- SSD1306 OLED Display
- I2C Interface
- Controls frequencies with rotary encoder
- 100 Hz, 1 KHz, 10 KHz, 100 KHz, 1 MHz, 10 MHz steps (software controllable
- SSD1306 OLED Display
- Si5351A Oscillator
- 3 Outputs
- 25 or 27 MHz crystal
- I2C Interface
- Power
- MINI-360 DC/DC Buck regulator
- 7-24 VDC
- Fits in standard extruded enclosures
Parts
Blue Pill Card
- 3.3V operation work without level shifters for I2C
- OLED can run from 3.3V
- Si5351 can only run from 3.3V
- Used right angle headers and Dupont cables
- Replaced BOOT 0,1 jumpers
- Jumper on BOOT1
- Switch on BOOT0 - easier to download code
- Download via serial
- Arduino IDE
OLED
128x32 OLED
128x64 OLED
- Rotated
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); }
Rotary Encoder
- Includes pushbutton Switch
- Includes Pull-Up resistors
- Needs R/C filter on output for debounce
- Reading Rotary Encoders - Arduino reference
- Simple Rotary Encoder Arduino library
- Library for the Arduino environment for using a rotary encoder as an input
Si5351 Frequency Generator
- I2C Daisy-chain connector
- 3 outputs
- Tx
- Rx (may not need to use separate output)
- BFO - could be adjusted
Mini-360 Buck Converter
- Power from 7-23 VDC in
- 5V out
Enclosure
Version 1
Version 2 -100x76x35mm Black Aluminum Enclosure
Schematic
Mechanicals
Libraries/Example Code
- Land Boards Application
- VFO and BFO with Si5351A, OLED and Arduino
- U8g2: Library for monochrome displays, version 2
- Si5351 Library for Arduino
- Universal Digital VFO Si570/Si5351
- Adafruit_Si5351
- Si5351 Library for avr-gcc
- vk3hn_VFO_controller
- Simple BFO with si5351 controlled by Arduino
Videos