Skip to content
Joe Cupano edited this page Jul 14, 2022 · 4 revisions

Hardware

Project HASviolet, brought to you by HVDN, the letter Q and numbers 8, 4 and 5.

Adafruit LoRa Radio Bonnet with OLED - RFM95W @ 915 MHz

Radio

  • RST - Radio reset pin, connected to GPIO25 (pin 22) on the Pi
  • CS - Radio SPI Chip Select pin, connected to SPI0 CE1 (pin 26/GPIO7)on the Pi
  • CLK - Radio SPI Clock pin, connected to SPI0 SCLK (pin 23/GPIO11) on the Pi
  • DI - Radio SPI data in pin, connected to SPI0 MOSI (pin 19/GPIO 10)on the Pi
  • DO - Radio SPI data out pin, connected to SPI0 MISO (pin 21/GPIO 9) on the Pi
  • DIO0 - Radio digital IO #0 pin, we use this for status or IRQs. It's required for all our examples. Connected to GPIO 22 (pin 15) on the Pi
  • DIO1 - Radio digital IO #1 pin, we use this for status. This is not used for our basic CircuitPython code, but is used by some more advanced libraries. You can cut this trace if you want to use the Pi pin for other devices. Connected to GPIO 23 (pin 16) on the Pi
  • DIO2 - Radio digital IO #2 pin, we use this for status. This is not used for our basic CircuitPython code, but is used by some more advanced libraries. You can cut this trace if you want to use the Pi pin for other devices. Connected to GPIO 24 (pin 18) on the Pi
  • DIO3 - Radio digital IO #3, not connected or used at this time.
  • DIO4 - Radio digital IO #3, not connected or used at this time.

OLED 128x32

  • SCL is connected to SCL (pin 5/GPIO3) on the Pi
  • SDA is connected to SDA (pin 3/GPIO2) on the Pi

Buttons

  • Button 1: Connected to GPIO 5 (pin 29) on the Pi
  • Button 2: Connected to GPIO 6 (pin 31) on the Pi
  • Button 3: Connected to GPIO 12 (pin 32/PWM0)on the Pi

Antenna

Details about the HASviolet V1 antenna are shared via:

Backup copies can also be found at hvdn.org/violet

Software

Configuration Files

All code in this are dependencies for executable apps.

  • hasVIOLET_TTN.json (Future use) - JSON file of LoRa freqs used by The Things Network
  • hasVIOLET.crt - Generated SSL Cert on install
  • hasVIOLET.json - Config file used by HASviolet apps
  • hasVIOLET.key - Generated SSL Key on install
  • hasVIOLET.pwf - Password file for websox server. Use HASviolet_account.py to create your own ID/pwd
  • hvdn-logo.xbm - Banner image displayed on 128x32 OLED during startup. Substitute your own if you wish!

Modem Notes

A confusing subject but hope the following tranlsates well;

rf95.setFrequency(911);
  rf95.setSpreadingFactor(7);
  rf95.setSignalBandwidth(125E3);
  rf95.setCodingRate4(5);
  rf95.setTxPower(20,false);
/*
  //Different Combination for distance and speed examples: 
  Example 1: Bw = 125 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on. Default medium range = Bw125Cr45Sf128
    rf95.setSignalBandwidth(125000);
    rf95.setCodingRate4(5);
    rf95.setSpreadingFactor(7);
  Example 2: Bw = 500 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on. Fast+short range = Bw500Cr45Sf128?
    rf95.setSignalBandwidth(500000);
    rf95.setCodingRate4(5);
    rf95.setSpreadingFactor(7);
  Example 3: Bw = 31.25 kHz, Cr = 4/8, Sf = 512chips/symbol, CRC on. Slow+long range = Bw500Cr48Sf128?
    rf95.setSignalBandwidth(31250);
    rf95.setCodingRate4(8);
    rf95.setSpreadingFactor(9);
  Example 4: Bw = 125 kHz, Cr = 4/8, Sf = 4096chips/symbol, CRC on. Slow+long range = Bw125Cr48Sf512?
    rf95.setSignalBandwidth(125000);
    rf95.setCodingRate4(8);
    rf95.setSpreadingFactor(12); 
Clone this wiki locally