User Tools

Site Tools


bdk_nodes:bdk2

Gateway

Power Source: 3.3V (from a DC/DC converter)

Antenna: SMA 1/2 wave rubber antenna

Code: https://github.com/UKHASnet/UKHASnet_Firmware/tree/master/arduino_gateway

BOM

1x Stripboard, cut to size so all parts fit with 1 hole to spare before edge

1x 28DIP ATMega328P

1x RFM69[H]W

1x TO-92 MCP1700 3.3V LDO

1x SMA 1/2 wave rubber antennaIdeetron SDK4-868-SMA - €7.40 each

1x 28-pin DIP Socket

1x SMA board connector (HAB supplies has them)

Build Guide

Step 1

  • Solder 28pin DIL IC socket to the strip board
  • Cut traces along the centre of the socket
  • Check that there is no conductivity between the two halves

Step 2

  • Connect voltage output to Vcc as well as ground
  • Solder header for Serial (Tx and Rx) (optional)

Step 3

  • Program the ATmega328 with the arduino bootloader
  • Upload simple script to the micro
  • Test that everything is working

Step 4

  • Solder connecting wires to RFM69HW (GND, NSS, SCK, MISO, MOSI)
  • Line up with the ATmega328's corresponding pins. You'll need to bend your connecting wires a bit to fit through the holes in the strip board. Solder these in place.
  • The other 2 pins that need to be connected are VCC and DIO0 which are best connected with insulated wire.
    • VCC → 3.3v
    • DIO0 → pin 2 (Interrupt 0)

Step 5

  • Upload gateway script to test RFM69HW
  • Check either with Funcube or that it is repeating to other nodes
    • Its been found that some modules are slightly off frequency and so need adjustment to match. The easist way is to use a funcube or RTL dongle and then adjust the frequency to line up with other nodes.

Step 6

  • Solder SMA connector to ANT and GND pins

Schematic

Uploading new arduino scripts

  • As the current arduino is programmed just to use its internal oscillator it has a special board identification which needs to be added to your IDE. You need to find the boards.txt and add to the end
##############################################################

atmega328bb.name=ATmega328 on a breadboard (8 MHz internal clock)

atmega328bb.upload.protocol=stk500
atmega328bb.upload.maximum_size=30720
atmega328bb.upload.speed=57600

atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x07
atmega328bb.bootloader.path=arduino:atmega
atmega328bb.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
atmega328bb.bootloader.unlock_bits=0x3F
atmega328bb.bootloader.lock_bits=0x0F

atmega328bb.build.mcu=atmega328p
atmega328bb.build.f_cpu=8000000L
atmega328bb.build.core=arduino:arduino
atmega328bb.build.variant=arduino:standard
bdk_nodes/bdk2.txt · Last modified: 2020/06/27 23:02 (external edit)