Solid progress this weekend on the J-Box software:

  • Operational prototype that performs accurate frequency counting up to 4,000 Hz (via interrupts to MCU in debug mode). Expect production compile will go much higher without debug.
  • Detects incoming (prescaled) signal on GPIO pin, converts into frequency and displays as debug trace statements via serial port UART on debugger USB port
  • When no incoming signal is detected, system goes into Ultra Low Power (ULP) mode, drawing between 5 and 40 microamps while waiting to be awakened
  • Once awakened, finite state machine (FSM) tracks J-Box logic through each major state of processing, including collecting frequency samples
  • Upon completion of processing, MCU goes back into ULP sleep mode, only awakening when there is incoming (prescaled) RF present as potential tuning signal.

Next steps include:

  • Modifying PIC 12F675 program to divide by 10,000 instead of 1,000 (to minimize interrupt load on MCU)
  • Adding basic JBOX profile (GATT), including the J-Box switching cutoff frequency and associated switching decision logic
  • Adding output GPIO to control the RF relay switch
  • Validating incoming RF signal measurements, filtering out invalid and partial measurements (e.g., signal stops mid-measurement)
  • Validating measured signal is within a valid, supported amateur radio band
  • Connecting A/D converter up to measure the harvested 12 VDC supply line (and internal MCU VCC voltage)
  • Making these and other parameters available via Bluetooth Low Energy (BLE) as GATT characteristics and attributes
  • Periodic advertisement of BLE as “peripheral role”, so BLE devices can connect to configure and monitor J-Box operation
  • Build first J-Box hardware prototype, adapt this software to it
  • Build second J-Box prototype, then add them into first Bat-V antenna

For those who are interested, here’s a copy of the 0.1 prototype source code for the Atmel Samb11 attached at the link below.

J-Box-Atmel-Samb11-Prototype-0.1-src.c

We’re getting there!