4Runner
Mobile station: power, a fridge, solar, a roof rack of antennas (the "stylish porcupine"), RF direction finding. And the vehicle's own network box: a cellular router, GPS, and a small NixOS computer running misra to cross-check it all.
Power and telemetry
- Victron (solar charger, battery monitor, DC-DC charger): read over Bluetooth ("Instant Readout": documented, encrypted per device with a key from VictronConnect; open-source decoders exist), or VE.Direct serial as the wired fallback.
- Fridge circuit on its own shunt (a SmartShunt or an INA226 board): its draw is measured whatever the fridge itself will tell us.
- ARB fridge Bluetooth: ARB's app protocol, unknown. First step: scan and sniff
(nRF Connect,
btmon) for setpoint, cabinet and ambient temperature, compressor state. If readable, misra gets the fridge's view; if not, the setpoint is logged by hand. - Everything lands on the vehicle's NixOS box and goes home over WireGuard when there's a link; the box keeps it locally when there isn't.
Fridge experiment: power per setting
- Inputs: setpoint, ambient (cabin) temperature, lid openings, solar input, time of day.
- Outcome: Wh/day, compressor duty cycle, cabinet temperature held.
- Drawn as: small multiples, one panel per setpoint, Wh/day against ambient; the current run's sparkline beside each.
- ASP picks the next setting to try: the gap in what's been measured, within rules (never above 4 °C with food in it; one change a day).
Roof: Gobi rack
Solar panels, antennas, maybe a light bar. Plan the RF side with the solar side: MPPT chargers are a known RF noise source right where the receive antennas sit. Ferrites, short shielded runs, a quieter charger, and a misra check: does the noise floor rise with solar current?
RF direction finding
Shared with the other rigs: rf-df.md. Here the array is fixed on the rack.
- KrakenSDR (five coherent receivers) and a five-element circular array on the rack: the off-the-shelf interferometer. Element spacing about half a wavelength for the band of interest; a ground plane under them.
- Display: our own Android Auto app, in developer mode. Android Auto only runs approved app categories, so: enable its developer settings (tap the version number in Android Auto's settings about ten times) and "Unknown sources", and side-load the app. Built with the Car App Library as a navigation-category app: the one kind allowed to draw its own map surface, so bearing lines go over the map, not just into templates. It reads bearings from the KrakenSDR (served over the network) and position and heading from the vehicle box's gpsd.
- Bearings logged with the GPS position and heading: fixes from several positions triangulate, and the log becomes an episode when something interesting turns up.
Open questions
- Model year and head unit (wired or wireless Android Auto)
- ARB model (Zero, Elements, Classic) and what its Bluetooth exposes
- Which bands to direction-find on (sets the array size)
- Battery, solar and DC-DC sizes