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.
We’re getting there!