Animal Location Tracker (A3038)

© 2020-2021 Kevan Hashemi, Open Source Instruments Inc.


Current Consumption


[03-MAY-21] The Animal Location Tracker (ALT) is a platform that we insert beneath an animal cage to track the movements of, and record telemetry signals from, subcutaneous transmitters (SCTs) and implantable stimulators (ISTs). The ALT provides an array of detector coils that both decode telemetry messages and measure their power. The power measurements made by the coils allow us to estimate the position of the transmitter, and to make reliable measurements of its location and velocity. Because each transmitter has its own unique channel number, we have no difficulty distinguishing between the animals in the cage.

Figure: Animal Location Tracker (A3038A). Prototype without cover. A 48 cm × 24 cm array of coils provides telemetry reception and animal location tracking.

If we combine the ALT with synchronous video, such as recorded by our animal cage cameras (AACs), the ALT allows us to identify animals seen in the video by correlating their movements with the movements of their implanted transmitters.

Figure: Animal Location Tracker (A3038A) Geometry. Coordinate origin on bottom-left.

The A3038A provides an array of fifteen coils on a 12-cm grid. The platform is 26 cm × 50 cm and is designed to provide reliable measurement of movement in a cage measuring 22 cm × 46 cm at the base. The ALT receives power and communication through a single Power over Ethernet (PoE) socket at the right side of the platform. To obtain reliable reception and movement measurement, the ALT must operate within a Faraday enclosure, such as our bench-top, stackable FE3A, or our canopy enclosure FE5A. We connect the ALT to an RJ-45 feedthrough in the wall of the enclosure with a shielded CAT-5 cable, and from there to a PoE switch with either a shielded or unshielded CAT-5 cable. We connect our data acquisition computer to the same PoE switch and so record signal and position data from the ALT to disk with our LWDAQ Software. Comparing the ALT to the components of our traditional telemetry system, the ALT combines the functions of our LWDAQ Driver (A2071E), Octal Data Receiver (A3027E), and Loop Antennas (A3015C) into one assembly with only one cable.

Figure: Detector Module (A3038DM-B). Loaded with 108-nH coil antenna. The detector module itself is an Mini PCI Express card that mounts on the ALT base board.

Our implanted transmitters emit 7-μs bursts of electromagnetic radiation in the range 902-928 MHz. Each burst contains a digital message. Each detector coil provides a measurement of radio-frequency power in this same frequency range. When one of the detector coils reports that a message transmission is in progress, all fifteen detector coils record the power they are receiving. The A3038 saves the transmitted message, along with fifteen eight-bit power values, in its memory, available for download by the Recorder Instrument in the LWDAQ Software, or download and storage to disk by the Neuroarchiver Tool. The Neuroarchiver contains a Tracker button that opens the Neurotracker Panel, which displays the measured position of transmitters on the tracker platform.

Figure: Neurotracker Panel Provided by the Neuroarchiver. Default parameters to control the location calculation are shown along the top.

The A3038 is an improved version of our original A3032. The A3032 provided fifteen detector coils on a 32 cm × 16 cm grid, and used the coils to measure transmitter position, but did not itself decode the radio-frequency transmissions. The A3038 uses each detector coil both as a power meter and a data receiver. We present the basis of the ALT position measurement in the A3032 Feasibility Study and Development pages. We concluded that absolute accuracy of the ALT's position measurement for a transmitter in a beaker of water with respect to the coordinate system defined by its coil centers is ±25% of the coil pitch 90% of the time, and ±100% of the coil pitch the rest of the time. Because there is no way to know whether the current absolute position is accurate or not, the absolute position measurement is not useful. Its measurement of the direction and magnitude of movement, however, provide a reliable measurement of animal activity, and a reliable way to identify animals in video. The correlation between the ALT measurement of movement and video blob-tracking permits us to be 100% certain which blob corresponds to which animal, even when there are a dozen animals in the field of view.


The following versions of the A3038 and its sub-assemblies exist or are planned.

Version X (cm) Y (cm) Coil Pitch (cm) Detector
Num Coils Comment
A3038A 51 27 12 A3038DM-B 15 Animal location tracker platform for 48 cm × 24 cm cage.
A3038DM-X 18 5 NA 33 nH SMT 1 Power and signal detector test circuit.
A3038DM-A 5 3 NA 250 nH SMT 1 Detector module prototype.
A3038DM-B 5 3 NA 250 nH SMT 1 Detector module used in A3038A.
A3038BB-X 51 27 12 MPCIE 15 Base board test fixture with sockets and power.
A3038BB-A 51 27 12 MPCIE 15 Base board assembly with logic, sockets, and power.
Table: Versions of the A3038.


S3038X_1: Schematic of prototype power detector and demodulator. Gerber files for A3038X PCB.
A303801X_Top: Top view of A303801X PCB.
A303801X_Bottom: Bottom view of A303801X PCB.
S3038A_1: Schematic of A3038DM-A/B, amplifiers and detector.
S3038A_2: Schematic of A3038DM-A/B, logic and communications.
A3038DM-B.ods: Bill of materials for A3038DM-B. Gerber files for A3038DM-A PCB.
A303801A_Top: Top view of A303801A PCB.
A303801A_Bottom: Bottom view of A303801A PCB. Gerber Files for A3038DM-B PCB.
A303801B_Top: Top view of A303801B PCB.
A303801B_Bottom: Bottom view of A303801B PCB.
A3038A_Base: Base board geometry of A3038A.
S3038B_1: Schematic of base board test fixture for A3038A. Gerber files for base board test fixture PCB.
S3038C_1: Schematic of A3038BB-A, PoE and Ethernet.
S3038C_2: Schematic of A3038BB-A, control logic.
S3038C_3: Schematic of A3038BB-A, indicators and switches.
S3038C_4: Schematic of A3038BB-A, SRAM.
S3038C_5: Schematic of A3038BB-A, detector modules 1-4.
S3038C_6: Schematic of A3038BB-A, detector modules 5-8.
S3038C_7: Schematic of A3038BB-A, detector modules 9-12.
S3038C_8: Schematic of A3038BB-A, detector modules 13-15.
A3038BB-A.ods: Bill of Materials for A3030BB-A.
LT5534: Radio-frequency power detector.
ADC081S101: Eight-bit serial ADC.
BGA2803: Low-power 23-dB gain DC-2GHz amplifier.
BGA2818: Medium-power 30-dB gain DC-2GHz amplifier.
B3588: 902-928 MHz SAW filter.
2014VS: Vertical, surface-mount inductor.
Code: Firmware for detector modules, base board logic, and ethernet interface.
OSR8V2: Open-source reconfigurable eight-bit microprocessor.


Current Consumption

[02-FEB-21] Current consumption fo the A3038DM-A detector module is 40 mA from 3.3 V. With fifteen of them deployed in the A3038A, plus control logic, embedded computer, and converters, we expect total current consumption from 3.3 V to be around 1.0 A. Current consumption from the 48-V PoE supply will be around 100 mA.


[06-APR-21] We program and calibrate the ALT Detector Module (A3028DM) with the Detector Module Programming and Calibration Station. The detector module mounts upon a circuit board that provides a socket for the module and a programming connector, as well as a 3.3 V power input. We program and calibrate before we load the antenna coil L1.

Figure: Detector Module Calibration Station. A lipo battery (1) with 3.3-V regulator provide power to the detector module. Program through SIP-8 (2). A voltage-controlled oscillator (VCO, 3) provides a −4 dBm sweep to 36 db of attenuators (4) and we apply the −40 dBm sweep to the detector with a UMC socket P1 (6). We signal power at P with an scope probe (5). We drive the VCO with a ramp (7) and trigger our scope with the AC-coupled sweep that appears on the VCO circuit board (8). We use the big ground pad on the detector module for our scope ground clip (9).

We drive the VCO with a 10-kHz 2-Vpp positive ramp, and trigger on the negative edge at the end of the ramp. We apply the −40 dBm sweep produced by the VCO and attenuators to A as shown above and look at P. We should see something like the trace below.

Figure: Power Detector Output (P) for −40 dBm Sweep Applied to A with P1. We have no L1 coil loaded.

We should see the SAW filter pass band 900-930 MHz on P. We set up cursors to mark the two extremes of the pass band. Now we apply the sweep to B with UMC socket P2 and look at the demodulator output, D. We want the peak response of the tuner to be in the range 930-940 MHz, with 930 MHz being ideal. The ideal response is shown below.

Figure: Ideal Demodulator Response for −40 dBm Sweep Applied to B with P2. We have no L1 coil loaded. The cursors mark 900 MHz and 930 MHz.

We adjust the peak frequency by adding capacitors to C15. When we first assemble the board, we have C15 = 2.7 pF, which is certainly too low for peak frequency 930 MHz. Each 0.1 pF we add to C15 lowers the peak frequency by 10 MHz. We measure the peak frequency and add 0.1 pF and 0.2 pF capacitors so as to bring the peak as close to 930 MHz without going below 930 MHz. We must wash and dry the board after we add the capacitors, because flux residue will flatten the resonance and shift its frequency downwards by up to 10 MHz. For example final component values and peak frequencies see here.

Once the tuner is calibrated, we add another 10-dB attenautor to our sweep and apply the −50 dBm sweep to A with P1. We examine D and should see some adequate response like the one shown below.

Figure: Adequate Response for −50 dBm Sweep Applied to A with P1. We have no L1 coil loaded.

Now that the detector is programmed and calibrated, we turn on our −8 dBm SCT signal generator and add 40 dB of attenuators to create a −48 dBm SCT signal. This we apply to A with P1 and check the blue LED to see if we have reception of the SCT signal. Reception should be robust. The blue light may flicker off once or twice a second, but will be on most of the time. Having passed these tests the detector module is ready for inclusion in an animal location tracker, where it will be further tested with moving transmitters in an enclosure.


The A3038X requires the addition of four 10 nF and four 47 pF decoupling capacitors for U1-U4, as well as two 100 pF capacitors around U6.

The A303801B printed circuit board needs the following corrections for A303801C.

  1. Diode D1 pinout is wrong, due to footprint pins being mis-numbered in layout software.
  2. The trace length from P2 to U2-6 via C31 is too long and too crooked.
  3. Integrated circuits do not have clear pin one markers. Need dots or clear notches on the silk screen outlines.
  4. The silkscreen says "A303801A" when this is the A303801B". Next version should be A303801C.
  5. The LED polarity marking on the silkscreen is unconventional and invisible once the LED is loaded. Need a clear mark across the package or a dot.
  6. Change solder mask to matt black.
  7. Remove test point F.
  8. Add OPA836 and capacitor to combine with R4 to make low-pass filter between U2-3 and U3-3.
  9. We will be using only two connections to L1. The signal connection and the central support connection. The third pad, which is now grounded, should be dedicated as a ground pad, which means it needs to exist on the bottom side as well, so that we can clip a scope probe to the board without cutting through solder mask to bottom-side tracks.
  10. The support pad for L1 needs a larger clearance around to the ground plane, to make sure it stays isolated during hand soldering. Allow 20 mil clearance if you can.
  11. Remove U11, the oscillator.
  12. Remove C25, the oscillator decoupling capacitor.
  13. Add R17, C33, and U12 as shown in S3038D_1.
  14. Move the P test point from U2-3 to U3-3.

We recommend the following modifications to the A303802B PCB when preparing the A303802C. The schematic for the updated detecor module is S3038D_1 and A3038D_2

  1. Pads for U3 must be extended for hand soldering.
  2. Eliminate via in pad whenever possible, to aid hand soldering.
  3. Larger pin one marker for U2, and move U2 mark close to the chip.
  4. Ground pads enlarge to be large enough for scope clips and add large enough hole for wire.
  5. Add test pad for FCK, U2-3.
  6. Add test pad for RCK, U4-1.
  7. D23 should be P1206, not P0805.
  8. D1..D23 make pads narrow enough to constrain the location of the LEDs.
  9. Add test pad for +3.3V and +5.0V.
  10. Need silk screen designations for switches.
  11. In bill of materials, change S2 to "white".
  12. Change solder mask to matt black.
  13. Consider rotating J17 so that pins 1-6 are near ethernet connector J16, keeping these 100 Mbps tracks short. Run ER+/ER− together at 100-Ω pair, and ET+/ET− the same.
  14. Move C1 right next to the pins on J16.
  15. Ground all MPCIE latches.
  16. Extend back side of MPCIE latch footprint so we can hand-solder the back side of the latches as well as the front.
  17. Change R17..R36, R37 to 1.0 kΩ, change R37 to 3.3 kΩ, change R39 to 10 kΩ.
  18. Restore names of connectors to their actual connectors wherever you swapped them in the detector module daisy chain.
  19. Put large, bold numbers in circles next to the detector module footprints that give the coil number as seen in the ALT tracker geometry drawing, see here.
  20. J18 needs pin one marker and an arrow to show which side the contacts are to go on the one-sided flex socket.
  21. All the MPCIE connectors need a pin one marker.
  22. Move U14, C28, and C29 out from under detector module eight.
  23. Rotate all TPS70930 to the same orientation. Add test pads for the 3.0-V output.
  24. Provide daisy chain data strobe test points. Each detector module should have its incoming data strobe at a test point, labeled D1DS through D15DS.
  25. S1-S4 have no visible silk screen designation. Mark them clearly.
  26. Change the P1 connector from 3.3V to 5V auxilliary input and mark the silkscreen 0V on P1-1 and +5V on P1-2.
  27. Correct footprint of L1, DCDC-7 to accept shield pins.
  28. The latches of the connectors you have labeled J5, J8, and J10 are about 1 mm too close to the sockets so the boards won't lock into place.
  29. One of the detector module sockets should have a cut-out underneath so we can get to the bottom side of the module when trying to diagnose problems. Any detector module location will do for the cut-out.

[07-MAY-21] The A3038BB-A requires the following modifications when built with the A303802B.

  1. Capacitors C28 and C29 must be loaded with P0402 to avoid contact with the detector module above.



[14-JUL-20] We examine the response of the A3032C ALT amplifier and detector. We apply a −6 dBm sweep 840-980 MHz to a Loop Antenna (A3015C). We generate the sweep with a Modulating Transmitter (A3014MT), and we split the sweep and mix with 910 MHz to produce an IF ±70 MHz, which we run through a 21-MHz low-pass filter before viewing on the scope. We hold the loop antenna above Coil 10 on V0384 and observer the following response on PW, which is U1004-3.

Figure: Sweep Response of Power Measurement. Yellow: PW on U1004-3, 500 mV/div. Green: Ramp voltage that controls A3014MT. Blue: IF reference, center is 910 MHz, left and right edges of bulge are 890 MHz and 930 MHz respectively.

We repeat on all fifteen coils and find the same response on each one, ±100 mV variation in 890-930 MHz, which is roughly ±3 dB. We remove the A3051C loop antenna and replace it with a 3-dB attenuator and a 50-mm bent wire antenna. We observe the same ±3 dB variation on power through the pass band. But in rare orientations of the antenna, all surrounding objects remaining stationary, received power drops suddenly, and variation is ±6 dB.

[29-JUL-20] We are considering using detector diode such as the SMS7630 in our coil amplifier to provide power limiting and power detection.

Figure: Behavior of the SMS7630-061 Schottky Diode. Left: Current versus Forward Voltate. Right: Rectified Voltage versus Input Power.

In SkyWorks application note APN1014, we see the detector circuit they used to obtain the above rectified voltage versus input power. They deliver power from a 50-Ω source, but do not load the source with 50 Ω. Instead, they place a diode and balast capacitor in series with the 50-Ω source impedance. The voltage across the diode will be roughly double what we would see if we loaded the source with 50 Ω. Their "Incident Power (dBm)" is the power that reflects off the detector circuit, which would be equal to the power delivered to a 50 Ω load. The "video resistance" they refer to in the detector plot is the resistor loading the balast capacitor.

We assemble a power detector made out of an SMS7630 diode and a 100 pF balast capacitor attached to a 50-Ω transmission line carrying the output of an A3029B amplifier. We measure the voltage across the balast capacitor, which we call the rectified voltage. We vary the transmission line power from −30 dBm to +28 dBm. Below −30 dBm our rectified voltage is swamped by noise. At +28 dBm, our amplifier is saturating. When we remove the diode and capacitor, our amplifier saturates at +30 dBm. With +6 dBm we add 1 kΩ in series with the diode and see only 90 mV, compared to 360 mV with no resistor.

Figure: Rectified Voltage versus Input Power for SMS7630 Power Detector. Incident power is terminated by a resistor. In parallel with the resister is the diode and a capacitor.

We solder 51 Ω from the center pin of a BNC socket to ground. In parallel we place a SMS7630 diode and a 1.0 nF balast capacitor. We supply power down a 1-m coaxial cable from our synthesizer, and vary power from −30 dBm to +10 dBm. We measure the voltage rectified voltage versus power and plot.

[30-JUL-20] We solder a 33 kΩ resistor across a BNC socket. In parallel we place a SMS7630 diode and a 1.0 nF balast capacitor. We connect the detector directly to the output of our synthesizer. Without the 33 kΩ, we see no sustained rectified voltage, because the incoming power is capacitively coupled.

[07-AUG-20] We have the schematic of a prototype detector module, which provides both power measurement and demodulation of SCT messages, S3038X_1. Top view of circuit board here. This circuit will provide the D input for an A3007D so as to provide SCT signal reception, and will also produce an output P from the power meter. Power supply will come from a two-pin molex plug.

[04-SEP-20] We assemble a prototype detector module (A3038DM-X), as in S3038X, except we omit U5. We remove L1 so that we can supply A through J1. We remove R9 so that we extract B through J2. We connect 3.0V to P1. We see 33 mA flowing in. With four of BGA2803 and one of LT5534 we expect 31 mA. We connect J2 to our hand-held spectrum analyzer, and J1 to our frequency synthesizer, with attenuators as needed, to obtain the following plot of B versus A for 910 MHz.

Figure: B versus A at 910 MHz.

The BGA2803 gain at 910 MHz is 24 dB. We have three 3-dB attenuators for −9 dB. We have the insertion loss of the SAQ filter L2, a B3588, which is around 2 dB. We expect the gain of the first two stages to be 37 dB. We see 41 dB from −90 to −50 dBm input. The output of U2 saturates at −5 dBm, which is consistent with the BG2803 data sheet.

Figure: Prototype Detector Module (A3038DM-X).

We remove R1. Now we are shorting the input to ground with R17. We see 0.5 V at the output of the power detector, P, indicating −49 dBm at the input of the power detector, which implies −90 dBm at the input of U1, which is consistent with 50-Ω thermal noise in 900-930 MHz. When we restore R1, with our frequency synthesizer still attached, we see 1.8 V on P, meaning B is −17 dBm, which suggests interference of −58 dBm.

Figure: Response of LT5534 Power Detector.

We apply −60 dBm to A and measure B as we vary frequency. We see the pass-band of the SAW filter clearly. We are surprised by the higher gain at 900 MHz and 930 MHz, which mark the edges of the pass-band. We restore R2 and sweep frequency again, this time measuring power at J4.

Figure: Power versus Frequency for −60 dBm Applied to A. Orange: power at B with R9 removed. Green: power at J4 with all resistors loaded.

Output J4 is flat to within ±1 dB in the SAW filter pass band, at around −6 dBm. Diode arrays DA1 and DA2 are SMS7630. Their saturation current is 5 μA, so we expect their dynamic resistance to be 50 Ω for forward voltage 110 mV. Our guess was they would limit the amplitude to −3 dBm. But B and J4 are limited to −5 dBm by the BGA2803 saturation alone. We predict that removing DA1 and DA2 will change nothing. We would like B to lie in the range −60 dBm to 0 dBm when detecting transmitter power bursts. But we can receive up to −20 dBm from a transmitter held close to a detector coil. The gain from A to B is 21 dB too high.

[07-SEP-20] We apply −52 dBm 910 MHz to A. We have L1 and R9 removed. We measure −10 dBm at B. Gain is 42 dBm. We mix with +7dBm of 880 MHz using a ZAD-11 and see IF amplitude is 50 mVrms, or −13 dBm (conversion loss only −5 dBm). We sweep the frequency from 820-980 MHz and obtain the following IF trace.

Figure: Gain vs. Frequency for Path A to B. We apply −52 dBm sweep 820-980 MHz to A and mix B with 980 MHz to produce IF frequency (Red) and detector output P (Blue). The sweep is controlled by a ramp (Yellow). Screen center is 915 MHz.

Gain in this measurement is constant to ±2 dB in the pass-band of the SAW filter. We do not see the +10 dB ears that appear in our measurement using our hand-held spectrometer. For −10 dBm we expect 2.2 V at P. We see 2.4 V. We vary power supply voltage and measure gain and supply current.

Figure: Gain (dB) and Current Consumption (mA) with Power Supply Voltage (V). We do not have U5 loaded, but its consumption adds only 1 mA.

We restore R9 and apply −36 dB sweep 820-980 MHz to A. We mix the same sweep with 910 MHz to produce IF that we pass through 21 MHz low-pass filter. We have L3 = 3.3 nH, C16 = 0.5 pF, C17 = 2.0 pF, C18 = 10 pF, R25 omitted. We have U5 loaded and feedback configured for D = 4R. We look see the following tuning curve on D.

Figure: Demodulated (Green, D = 4R) and Power (Blue, P) vs. Frequency. We apply −36 dBm sweep 820-980 MHz to A. Red trace is sweep mixed with 915 MHz and low-pass filtered to ±21 MHz. Screen center is 915 MHz. We have C18 = 10 pF and R25 omitted.

We see D go from 0.5 V at 894 MHz to 2.5 V at 936 MHz, which is perfect for demodulating SCT signals. We apply an SCT signal −31 dB, to A. With no R25 and C18 = 10 pF, our SCT demodulated signal is a triangle wave. The rise time of D appears to be around 200 ns. Add R25 = 1 kΩ and see the trace below, rise time around 50 ns.

Figure: Demodulated SCT Signal (Green, D = 4R) and Power (Blue, P) vs. Time During SCT Transmission. We apply −31 dBm SCT signal centered on 914 MHz. Yellow: SCT bit trigger. We have C18 = 10 pF and R25 = 1 kΩ.

The above signal is similar to the traces we see in our downshifting receivers. We repeat our frequency sweep to see again the tuning response. We now have D going from 0.2 to 0.9 V in the band 894-936 MHz.

Figure: Demodulated (Green, D = 4R) and Power (Blue, P) vs. Frequency. We apply −36 dBm sweep 820-980 MHz to A. Red trace is sweep mixed with 915 MHz and low-pass filtered to ±21 MHz. Screen center is 915 MHz. We have C18 = 10 pF and R25 = 1 kΩ.

We try C18 = 0 pF with R25 omitted. We see the same demodulation sweep amplitude as for C18 = 10 pF with R25 omitted, but when we apply an SCT signal, the rise time is around 100 ns.

[10-SEP-20] We remove R1. We connect C13 to R6/R7 instead of B. We see 0.74 V on P. We load 100 pF from U6-4 to 0V and see 0.40 V. Adding another 100 pF makes no difference, nor does adding 10 pF. We load 100 pF across P1 and see 0.35 V on P. As soon as we restore R1, even without L1, we see 1.1 V. If we connect 50 Ω to J1 we see 0.44 V. With L1 loaded and J1 open circuit 1.1 V. Restore C13 to its previous connection and see 2.1 V on P. Remove R1 and see 1.2 V.

[12-SEP-20] Restore R1 and see 2.1 V on P. We test the hypothesis that J1 and L1 are picking up radio waves transmitted by J4, and the 80-dB total gain of the amplifier is generating oscillations at a frequency above 2.4 GHz. We rotate C7 and C10 so that they connect U3-6 and U4-6 to 0V. We still see 2.1 V on P. We rotate C4 to connect U2-6 to 0V. We connect C13 to R7, so we have U2, U3, U4 with grounded inputs, their outputs loaded by attenuators, and U6-6 driven by R7. With L1 loaded and J1 open circuit, P = 1.1 V. Remove L1, P = 1.1 V. J1 is not picking up radio waves from J4.

[14-SEP-20] We restore R1, restore C13 to B, and restore C4. Now we have amplifiers U1 and U2 working, driving R9/R10 attenuator, and also driving our spectrometer through J2. Amplifiers U3 and U4 have their inputs grounded with capacitors. The A3038X and spectrometer are inside a Faraday enclosure, and we have a 10-dB attenuator between J2 and the spectrometer. We see P = 2.1 V and B has peaks 1053 MHz −10 dBm, 886 MHz −50 dBm, and 929 MHz −55 dBm. We replace L2 with a wire link. We see P = 1.9 V. The spectrum of B contains peaks 1226 MHz −11 dBm, 1297 MHz −22 dBm and several others. Remove R1 and see P = 1.6 V and B has peaks 1220 MHz −21 dBm, 1261 MHz −26 dBm. Restore L2 and remove J1. See P = 2.1 V and B has peak 1061 MHz −4 dBm. Remove U1 and replace with wire link, P = 0.8 V, B has peak 1217 MHz −42 dBm. Replace L1, P = 2.1 V, B has peak 1037 MHz −7 dBm. Load 27 Ω for R1, R2, and R17. Now P = 0.8 V, B has peak 1221 MHz −42 dBm. Connect test transmitter, transmit off, peak 929 MHz −44 dBm. Turn on −38 dBm transmit signal and see P rising to 2.2 V. We load R1 = R2 = 15 Ω and R17 = 75 Ω. With J1 open circuit, B has peak 1010 MHz −10 dBm. With J1 connected to 50-Ω coax peak is 929 MHz −52 dBm and B is 0.8 V. With L1 loaded and J1 open, P = 1.8 V and B has peak 961 MHz −17 dBm. We load UPC2746T in place of U1, and restore R1, R2, and R17. With J1 open and L1 loaded, B has peak 840 MHz −12 dBm. Connect J1 and peak vanishes. Restore BGA2803 for U1 and load 0 Ω for R1/R2 and 50 Ω for R17. On P 2.1 V, on B 1012 MHz −8 dBm. Remove R1 and see P = 0.9 V. Remove R2, P = 0.9 V. Load R1 = R2 = R17 = 51 Ω. Have P = 1.0 V, B peak 929 MHz −46 dBm. Connect −68 dBm SCT signal and see P rise to 1.2 V during burst.

With L1 and J1 loaded, and R1 = R2 = R17 = 51 Ω, apply −8 dBm SCT signal to A3015C loop antenna. A3038X in Faraday enclosure. Can see signal clearly on B at range 50 cm. Take A3038X out of enclosure and hook up to P and D as well as trigger from SCT. Apply −48 dBm SCT to J1. See SCT signal clearly on DA, and P rises from interference level 1.5 V to burst level of 2.0 V. Disconnect SCT and connect spectrometer to B, see −27 dBm in 902-928 MHz, with P varying 1.0-1.5 V. Connect −8 dBm SCT signal to A3015C. Reception range outside Faraday enclosure is only 10 cm.

[16-SEP-20] We restore R1 = R2 = 8.2 Ω and R17 = 150 Ω. We remove L1. We see P = 2.22 V as the circuit oscillates. We have 47 pF capacitors in P0603 package (Digikey 445-1277-1) with self-resonant frequency 900 MHz. We connect directly from pin U1-2 to C3-2 to add local decoupling. Now P = 1.24 V. We add 47 pF to U2 in the same way, P = 1.16 V. We load a second 47 pF in parallel to the one next to U1 and P increases to 1.64 V. So we remove that capacitor and add one to U3 and U4, so each has its own local 47 pF. Now P = 1.10 V. Again we double-up 47 pF next to U1, again P increases to 1.64 V. We move the two 47 pF and mount them on C3, P = 2.02 V. Remove one 47 pF, leaving one 47 pF on C3, P = 2.08 V. Replace C3 = 100 pF and the 47 pF addition with a single 47 pF, P = 2.04 V. Restore 47 pF next to U1, and load 47 pF for C3, see P = 1.84 V, which turns out to be −21 dBm of 1200 MHz. Replace C3 with 1.0 nF, P = 1.16 V. We remove R1 and P = 1.02 V. We replace C3, C5, C8, and C11 with 1.0 nF and each of U1-U4 has 47 pF soldered to pin two. We see P = 1.04 V. Now we double up the 47 pF on U1, and still see P = 1.04 V. So we remove the two 47 pF and stil see P = 1.04 V. Remove all 47 pF and P = 1.12 V. We restore the 47 pF and see 1.04 V again.

We have R1 = R2 = 8.2 Ω and R17 = 150 Ω, no L1, and combined 47 pF and 1.0 nF decoupling capacitors. We connect −60 dBm of 910 MHz through a 1-m cable to J1 and see −20 dBm at J2, suggesting gain at least 40 dB. At J3 we see +0 dBm and at J4 +2 dBm. Apply −40 dBm input and see +0 dBm at J3 and +1 dBm at J4. Outputs J3 and J4 are after −3 dB attenuators, and we are adding an additional 50-Ω load when we make our measurement, so saturated output power of U3 and U4 appear to be +3 dBm and +4 dBm. According to the BGA2803 data sheet, saturated output power should be −3 dBm. We apply SCT signal to J1 and find we need at least −38 dBm to get demodulated signal at D, even in Faraday enclosure, even when waiting for interference to subside.

[17-SEP-20] We go back to decoupling with 100 pF on their footprints and restore R1 = R2 = R17 = 51 Ω. We apply −58 dBm SCT signal to J1 and see clear demodulated levels on D. We apply −60 dBm from our synthesizer and measure power at B, J3, and J4 by plugging our spectrometer into J2, J3, and J4. We do not remove any resistors. When we plug our cable into J2, J3, or J4, the signal at the connector is loaded by two 50-Ω impedances in parallel. We measure power at each frequency by finding the peak in our spectrometer and observe the following ±5 dB variation in gain in the SAW filter pass-band. (NOTE: On 24-SEP-20 we obtain ±2 dBm gain uniformity within the SAW passband after exchanging L2.)

Figure: Power versus Frequency at Various Points. We have −60 dBm being delivered to A through J1, R1 = R2 = R17 = 50 Ω, no L1, all other resistors loaded. (NOTE: On 24-SEP-20 we obtain ±2 dBm gain uniformity within the SAW passband after exchanging L2.)

[18-SEP-20] We have R1 = R2 = R17 = 51 Ω, and no L1. Now we load in parallel with the C3, C5, C8, and C11 10 nF and 47 pF, with the 47 pF right next to the amplifier pins. We have no L1. With J1 open-circuit, P = 0.58 V. We detect −58 dBm SCT clearly on D when 929 MHz interference we pick up with spectrometer antenna is −60 dBm. With −47 dBm interference, D is contaminated with what looks like 50 MHz noise. We apply −47 dBm sweep to J1 and observe D and P.

Figure: Demodulator (Green, D = 4R) and Detector (Blue, P) Output for −46 dBm Sweep Input. We apply sweep to A, L1 not loaded. Red trace is sweep mixed with 915 MHz and low-pass filtered to ±21 MHz.

When we drop the sweep to −56 dBm, we must wait until 929 MHz interference dies down to −69 dBm before taking our photograph.

Figure: Demodulator (Green, D = 4R) and Detector (Blue, P) Output for −56 dBm Sweep Input. We apply sweep to A, L1 not loaded. Red trace is sweep mixed with 915 MHz and low-pass filtered to ±21 MHz. (NOTE: On 24-SEP-20 we obtain ±2 dBm gain uniformity within the SAW passband after exchanging L2 and using 820 MHz LO to observe B.)

We load L1 and place A3038X in Faraday enclosure. We look at D while moving a transmitter from one place to another. With the door closed, we see the transmit burst in all locations, and the data bits are clear for ranges up to 10 cm. When the transmitter is farther away, the bits are overwhelmed by 50 MHz noise. We note that the A3027E's superhet receiver provides a total gain of 100 dB with limiting at 6 dBm (±0.7 V) before demodulation, while this amplifier provides 80 dB gain before limiting at −5 dBm at J4.


[21-SEP-20] We have R1 = R2 = R17 = 51 Ω, L1 loaded, apply −40 dBm of 915 MHz to J1. See P = 2.12 V. Load 0.5 pF parallel with L1, see 2.12 V. Load 1.0 pF see 1.40 V, load 1.5 pF see 1.32 V. Remove parallel capacitance.

We have R1 = R2 = 8.2 Ω, R17 = 150 Ω, L1 loaded. Apply −40 dBm 915 MHz, P = 2.36 V (−5 dBm). Apply −50 dB=m, see 2.12 V (−13 dBm). We remove L1. We remove R20, R21, DA1, and DA2. We replace R9, R10, R12, R13 with 0 Ω. We apply − 60 dBm of 915 MHz and see −5 dBm on J4. We remove R19 and replace R6 and R7 with 0 Ω. Apply −50 dBm to J1 and see P = 2.16 V (−12 dBm). Restore R19, R6, R7 and see P = 2.08 V. Removing our 3-dB attenuator between L2 and U2 gives us a 2-dB increase in gain. Of our six attenuators, we leave the first three in place to stabilize the antenna and filter. We remove the fourth and fifth to increase the overall gain. We leave the sixth one in place because it makes no difference to the relative power of any signal, and offers better isolation of the switched capacitor filter. We apply −58 dBm SCT signal to J1 with L1 loaded. When interference dies down we have a clear 200 mVpp SCT signal on D = 4R. With −64 dBm we never get a clear signal.

[23-SEP-20] We measure the reflection coefficient of J1 with L1 loaded and R1 = R2 = 8.2 Ω, R17 = 150 Ω. We apply −20 dBm to the OUT terminal of a ZFDC-10-5+ directional coupler. We connect CPL to our spectrometer 50-Ω input. We connect IN to a 1-m coaxial cable. With 50-Ω termination we see −52 dBm at CPL, suggesting reflection of no more than −41 dBm, or 1% of incident power. We remove terminator and see −29 dBm, suggesting −18 dBm reflected. We call that 100%. now connect to J1 and see −48 dBm on CPL, suggesting −37 dBm reflected power, or roughly 2% reflection.

We remove L2, the SAW filter, so we can see the response of the demodulation tuner. We apply a −26 dBm sweep.

Figure: Demodulator (Green, D = 4R) and Detector (Blue, P) Output for −26 dBm Sweep Input, No SAW Filter (L2). We apply sweep to A, L1 loaded. Red trace is sweep mixed with 915 MHz and low-pass filtered to ±21 MHz.

We adjust C16 and C17. We have L3 = 3.3 nH. We measure the frequency and height of the peak in D

Figure: Demodulator Peak Frequency and Voltage for C16 and C17. No SAW filter (L2) loaded, apply −26 dBm sweep.

We restore C16 = 0.5 pF, C17 = 2.0 pF and restore L2, the SAW filter. We apply a −26 dBm sweep.

Figure: Demodulator (Green, D = 4R) and Detector (Blue, P) Output for −26 dBm Sweep Input, With SAW Filter (L2). We apply sweep to A, L1 loaded. Red trace is sweep mixed with 915 MHz and low-pass filtered to ±21 MHz.

[24-SEP-20] We apply 4.5 V power supply to our A3038X by mistake for twenty seconds, but the board seems fine afterwards. Current consumption 33 mA at 3.0 V supply. We replace L2, the SAW filter. We remove L1. We use J2 to bring B to a ZAD-11 RF input, and mix with 820 MHz LO. We choose our LO frequency so it is well outside the pass-band of the SAW filter. We obtain a clean sweep on D for 1000 MHz LO as well. We view the IF on the scope, as well as D and P.

Figure: Demodulator (Green, D = 4R) and Detector (Blue, P) Output for −60 dBm Sweep with New SAW Filter (L2). We apply sweep to A, L1 not loaded. Red trace is B mixed with 820 MHz.

We load L1 and connect a −3 dBm sweep to an A3015C loop antenna. We place the antenna 20 cm from L1. We wait for interference to die down and take the following picture.

Figure: Demodulator (Green, D = 4R) and Detector (Blue, P) Output for Sweep Picked Up By Antenna L1. We apply −3 dB sweep to an A3015C loop antenna standing 20 cm from L1. Red trace is B mixed with 820 MHz.

We remove L1 and apply −48 dBm SCT signal to J1. When interference subsides, we get clear SCT logic levels on D.


[23-DEC-20] We have A303801A boards for the A3038DM-A RF Detector assembly, schematic S3038A_1 and S3038A_2. We assemble first amplifier stage with R1, R2, R3, and L2. We generate 910 MHz with our synthesizer, carry it through 1.5 m of cable to P1 (antenna input A) and then extract the output from P2 (filtered output B). We do not load the antenna inductor, L1. We have no other load downstream of P2. We forget to include the 10-nF and 10-μF decoupling capacitors on the 3.3-V power supply, but the amplifier performs as below. Current consumption is 6.7 mA.

Figure: Stage One Output Power at P2 (B) and at P3 (C) versus Power Delivered at 910 MHz to P1 (A) Through 1.5-m Coaxial Cable.

We add the decoupling capacitors C5, C6, C7, C22, C23, C24, C25. We set the synthesizer to −20 dBm and vary frequency, then repeat with −30 dBm.

Figure: Stage One Output Power at P2 (B) versus Frequency for Power Delivered to P1 (A) Through 1.5-m Coaxial Cable.

In the pass-band of L2 B3588 with −20 dBm input, we see −10 dBm output at B. Assuming 1 dB loss in delivery cables and connectors, 3 dB insertion loss for L2, and 3 dB attenuation in each of R1, R2, and R3, gain in U1 BGA2803 is +24 dB, as specified by the data sheet.

[24-DEC-20] We connect an A3014MT −3 dB output to A through 20-dB attenuator and 1.5-m cable. We measure −17 dBm at B, 916 MHz. We add U2 LT5534 and C31. Current consumption 14 mA. We terminate B with 50 Ω. We sweep A from 850-950 MHz and look at P.

Figure: Power Detector Output P versus Frequency. Left: −24 dBm Sweep. Right: −10 dBm sweep. Display range is 870-970 MHz.

The detector output ranges from 0.2 V to 2.2 V. According to the data sheet, this corresponds to −60 dBm to −5 dBm. We touch the amplifier circuit and the response at P remains the same, except for an overall drop of about 0.2 V when we enclose the entire signal chain in our hand. We load U5, U6, U7 BGA2803 with coupling capacitors. Current consumption is now 36 mA with no input, 39 mA with −10 dBm on input. We have no R5, and connect hand-held spectrometer to P3 (C) via 10-dB attenuator. We apply power to A with synthesizer through attenuators as needed and 1.5-m cable. We measure power at C versus power at A and add to plot above. Power at C increases by 20 dB as we increase A from −70 dBm to −60 dB, which suggests domination of our input by interference.

We load R5, a solder lump for C14, detector diode D1 SMS7630, and 100 pF for C16. Schematic has D1-1 and D1-2 swapped around, we rotate D1. We take the signal from P5 (C) to a ZAD-11 mixer through −10 dB, mix with 915 MHz, and display on scope along with P and R. For A we have a −33 dBm sweep.

Figure: Detector Output (P, Blue, Zero is down near average of red) and Rectified Output (R, Green, zero is half-way up the display) for −33 dBm Sweep 870-970 MHz. Red trace is IF of C attenuated by 10 dB mixed with 915 MHz.

The IF is 30 mVpp or −17 dBm. Loss in the ZAD-11 mixer is 7 dB, so C is 0 dBm. We are sharing C between P3 and R5, so C without extraction at P3 would be around 3 dBm, consistent with our plot above. At the output of R5 we should have −3 dBm. Our calibration of the SMS7360 leads us to expect a 100-mV rectified voltage R. We see 20 mV, and outside the pass-band of L2 we see 60 mV. We rotate the diode, switch the diode, change capacitors, isolate the diode output, and no matter what we do, the output is never what we expect. The diode itself has marking XD8, which is correct for SMS7630-006LF.

[26-DEC-20] We build a power detector out of a 50-Ω resistor, 100-pF capacitor, and SMS7630 diode, soldered to the end of a short coaxial cable that we can plug into P2 or P3. We apply −33 dBm 915 MHz to P1. We get 100 mV on our detector when plugged into P3 with R5 removed. Our spectrometer says −1.5 dBm of 915 MHz. If we disconnect the 915 MHz input, we get 200 mV at our detector, implying +1.5 dBm wide-band power at C. If we apply a sweep, we see a 100 mV in the pass-pand of L2, but 200 mV outside the passband. With no input on A, we scan the power at P3 (C) from 250-6100 MHz and see a dozen peaks as high as −29 dBm, but nothing higher. The power at C is greater if we are amplifying interference than if we are amplifying a carrier frequency.

We build the tuner with R5 = −3 dB, C14 = 0.5 pF, C15 = 3.2 pF, L3 = 3.3 nH. We have D1 oriented correctly. We load 100 pF for C16 and omit R6. We apply our −33 dBm sweep again and look at R and P.

Figure: Detector Output (P, Blue) and Rectified Output (R, Green) for −33 dBm Sweep 870-970 MHz. Yellow is VCO tuning ramp. Zero volts for P and R are first division from bottom.

The peak of the tuner response is at around 945 MHz, where the attenuation by the SAW filter (L2) is around 30 dB. The −33 dBm sweep at 945 MHz produces −60 dBm at B. The gain of U5-U7 we expect to be around 72 dB, so the output of U7 (C) will still be saturated at 945 MHz.

[28-DEC-20] We load C16 = 10 pF, R6 = 1 kΩ and complete the circuit shown on S3038A_1, ending with the production of logic signal Q at U9-6. Current consumption is 40 mA for 3.3-V power supply. We try various combinations of capacitors and inductors in the tuner, settling upon C14 = 1.0 pF made out of two 0.5 pF in parallel, C15 = 3.2 pF made out of 2.2 pF with two 0.5 pF in parallel, L3 = 3.3 nH. We connect a −58 dBm sweep to P1 (A) and look at P, R, and the RF input mixed with 915 MHz.

Figure: Rectified Output R (Green), Detector Output P (Blue) for −58 dBm Sweep 870-970 MHz. Red trace is sweep mixed with 915 MHz. Left cursor is 893 MHz, right cursor 933 MHz, center is 915 MHz.

We apply −34 dBm SCT signal to A and look at P, R, and F, this last being the output of the demodulation band-pass filter. We load 1.0 kΩ for R6, but we drop C16 to 2.2 pF from our original 10 pF as this improves the fall time of R.

Figure: Filtered Signal F (Red), Rectified Output R (Green), Detector Output P (Blue) and SCT Bit Sequence (Yellow) for −34 dBm SCT applied to A.

We compare the SCT bit sequence to our receiver output, Q, which is supposed to be the recovered SCT bit sequence for our −34 dBm SCT input.

Figure: Receiver Output Q (Red) and SCT Bit Sequence (Yellow) for −34 dBm SCT applied to A. Both signals 20-MHz low-pass filtered by oscilloscope.

The received signal is always the same as the original. We drop the SCT power to −44 dBm and the received signal is the same 90% of the time, but we are seeing interference corrupting reception. We are operating out in the open on our bench.

[31-DEC-20] Load remaining components onto A3038DM-A and program U10 with prototype message detector P3038A_Main. We do not put U10 into standby mode. Current consumption of entire board is 47 mA.

[01-JAN-21] We assign LED4 (white) as a message receive indicator and LED5 (blue) as a message ready indicator. The former illuminates when we are receiving a message, but the message has not yet been decoded and accepted. The latter illuminates only when the message has been accepted. We use LED1 for power and we flash LED2 and LED3 to show clock function. Our message decoder is a VHDL translation of the original ABEL decoder P302702A12_Decoder used in the Octal Data Receiver. We connect test transmitter −44 dBm signal to A with P1 and get 100% reception. We remove P1 and load L1. We get 100% reception from an A3028E at ranges 0-2 cm, and some reception at ranges up to 10 cm. In a Faraday enclosure, we have robust reception up to 4 cm from L1, but no farther. Current consumption is 52 mA.

[04-JAN-20] We note that power measured at P is 10 dB lower than we expect. We replace L2, the SAW, and power returns to our previously-measured values. We replace C16 with 10 pF and reception of SCT signal improves. We attach a 3.3-V regulator to a lipo battery and supply the board with clean power. We see a reduction of noise on D. We connect −48 dBm SCT signal to A and obtain intermittent reception. We connect an A3015C loop antenna to A and place in Faraday enclosure with an A3028E. We obtain robust reception at ranges up to 10 cm. We load a 230-nH inductor antenna for L1 and obtain no reception. We are fiddling around and replace U1 and L2 again, but cannot obtain reception from −38 dBm SCT signal. We have 10-MHz noise on D.

[05-JAN-21] We reflow capacitor solder joints, replace connector P1, and clean. We examine the response to an SCT sweep and note roughly 10-MHz ripple in the step-response of D. We place 10-nF capacitors in parallel with decoupling capacitors C3, C8, C9, and C10. The ripple in D persists. We connect our A3014MT modulating transmitter to A through −20 dB and drive it with a 200-mVpp 1-MHz square wave to view the step response of the tuner and detector circuit. We look at D, which is R amplified by five. The signal applied to A is −24 dB of 900-920 MHz.

Figure: Demodulator Output D = 4R (Green), Power Detector Output P (Blue) and Modulation Signal (Yellow). We are applying −24 dBm of 915 MHz modulated by ±5 MHz. Green and Blue zero is at the bottom of the display.

[06-JAN-21] We remove 10 nF capacitors in parallel with C3, C8, C9, and C10. We remove the tuner and connect R5 directly to D1. We apply RF to A with our synthesizer and find oscillations in D of several Megahertz for constant frequency and power applied to A. As we vary the input power and frequency, the amplitude and frequency of the oscillations varies. We replace C1, C2, C32, C11, C12, and C13 with 10 pF. Previously, when loaded with 100 pF, the corner-frequency of the high-pass filter made by the coupling capacitor and the 50-Ω input impedance of the next amplifier stage, was 32 MHz. Now the corner frequency is 320 MHz. The oscillations of several Megahertz decrease in amplitude by a factor of two.

Figure: Demodulator Output D = 4R (Green, AC-coupled), Power Detector Output P (Blue, AC-coupled), Filtered Signal F (Red, AC-coupled) and Modulation Signal (Yellow). We are applying −24 dBm of 915 MHz modulated by ±5 MHz. Green and Blue zero is at the bottom of the display.

We apply a −54 dBm sweep and find D to be cleaner than before. Note that we are powering the circuit with the LiPo battery and regulator.

Figure: Demodulator Output D (Green, AC-coupled), Power Detector Output P (Blue, AC-coupled), Filtered Signal F (Red, AC-coupled) and Modulation Signal (Yellow) for −54 dBm sweep.

We apply a −24 dBm sweep and observe oscillations on the demodulator output are reduced by a factor of two. We still see the spikes at around 400 kHz, but they are smaller. Note that these spikes exist despite our using a LiPo battery as a power supply, so they are not caused by our bench-top power.

Figure: Demodulator Output D = 4R (Green, AC-coupled), Power Detector Output P (Blue, AC-coupled), Filtered Signal F (Red, AC-coupled) and Modulation Signal (Yellow) for −24 dBm sweep.

We connect an A3015C loop antenna to A through P1. We place in Faraday enclosure with an A3028E. We obtain reception from 90% of locations within the enclosure, at ranges up to 60 cm across the diagonal. Reception at less than 10 cm is robust.

[07-JAN-21] We apply −60 to −10 dBm 927 MHz to antenna input A with our synthesizer and watch demodulator output D. We see oscillations of 7.5 MHz on D and amplitude 40 mV from −50 to −10 dBm. At lower power, D becomes more chaotic, but we still see the oscillation buried in the noise. We vary the frequency and keep power at −30 dBm.

Figure: Demodulator Output D Oscillation Frequency and Amplitude versus Frequency of −30 dBm Applied to A.

The oscillation is consistent with an intermediate frequency (IF) created by mixing the amplified synthesizer frequency at C with a fixed interference frequency of 920 MHz picked up by the split-capacitor tuner C14-C15-L3. The amplified synthesizer frequency on C acts as the local oscillator (LO) for mixing at the detector diode D1, and the 920 MHz interference acts as the radio-frequency (RF) input to the mixer. Diode D1's non-linear response to the sum of the LO and RF creates the IF at R. We note that we have a 40-MHz 3.3-V oscillator, U11, on the board, and it's 23rd harmonic will be exactly 920 MHz with amplitude 170 mVpp. This oscillator is mounted directly below the detector diode D1, on the other side of the ground and power planes. So long as the signal applied to A is −60 dBm or higher, we will have LO of 0 dBm, generating roughly the same amplitude RF. The IF amplitude is roughly constant, while its frequency is exactly equal to the difference between the synthesizer frequency and the 23rd harmonic of the oscillator. The 920 MHz RF signal is amplified by the split-capacitor tuner as shown above. When the LO is 915 MHz, right in the middle of our 902-928 MHz ISM band, the IF is 5 MHz, which is the bit rate used by our subcutaneous transmitters (SCTs). The IF passes through the discriminator (C17-19, R9-10) before arriving at the comparator as F. The frequency response of the discriminator is the A3007D trace in this plot. We have maximum discriminator gain at 5 MHz. The 920 MHz interference is optimal for disrupting SCT message reception.

We will try removing U11 to see if the oscillations disappear. We can try 80 MHz for U11, for which the 11th harmonic is 880 MHz. Its amplitude will be roughly double that of the 23rd harmonic of 40 MHz, but the gain of the tuner at 880 MHz is only a quarter of the gain at 920 MHz, as shown above. The IF frequency for 915 MHz mixed with 880 MHz will be 35 MHz, for which the gain of the discriminator is a third of its gain at 5 MHz. So the oscillation for LO of 915 MHz will be 2 × 0.25 × 0.33 = 0.17 the amplitude we see now, or six times smaller.

[08-JAN-21] We remove U11 and the oscillations disappear. We load a new U11 and the oscillations are back, same amplitude and frequency as before. We add 100 pF in parallel with C25, no change in amplitude. Remove both capacitors, no change. Restore 10 nF for C25, same as ever. We order 80-MHz oscillators.

[11-JAN-20] In Faraday enclosure, with 250 nH inductor for L1, battery power, we obtain robust reception at up to 5 cm from an SCT.

[12-JAN-20] We replace U11 with 80 MHz and apply −30 dBm to A. We observe oscillation on D of 20 mVpp, 12 MHz for input frequency 892 MHz, which is consistent with the eleventh harmonic of 80 MHz mixed with 892 MHz. At 915 MHz we see 10 mVpp, no oscillation. We reprogram the A3038DM-A to divide 80 MHz down to 40 MHz. We obtain robust reception with −38 dBm SCT signal and intermittent reception with −48 dBm SCT signal both outside Faraday enclosure. Use battery power inside enclosure and see intermittent reception of −58 dBm. Remove test SCT signal and move SCT around in enclosure, obtain robust reception at ranges up to 10 cm and intermittent reception at ranges up to 50 cm.

[03-FEB-21] We receive A303801B printed circuit boards for the A3038DM-B Detector Module. They have one error on the silk screen: they are marked A303801A.

[02-MAR-21] Working with an A3038DM-B, we program the readout of the ADC to be made every time we get a RECEIVE signal assertion, and then illuminate LED2 and LED3 using the power level. We see the power level rising and falling so long as we get preliminary reception.

[09-MAR-21] We have two A3038DM-B. With C14 = 1.0 pF and C15 = 2.2 + 1.0 = 3.2 pF their tuner resonates at around 935 MHz, giving a significant positive slope through the SAW filter pass-band. We do not load L1. We remove L1 from our A3038DM-B. We apply −58 dBm sweep to on all three circuits and note that output P on the A-version peaks at 0.6 V, while one the B-version it peaks at 0.4 V.

[10-MAR-21] We apply a sweep to A for each of our detector modules. We have what we believe is −8 dBm followed by attenuators. We look at P and see once again with −58 dBm sweep and see that the peak is 0.2 V higher in No0 than No1 and No2. But we also note that the value of P outside the sweep is also 0.2 V higher in No0 than in No1 and No2. Looking at the LT5534 data sheet, the output with no RF signal has range 0-380 mV. The No0 detector appears to be at the high end of this range, at 0.4 V, while the No1 and No2 detectors are in the middle at 0.2 V. We look at D and first see signs of failure of the demodulation ramp at −61 dBn for No0 and No1, and at −58 dBm for No2. Reception with −38 dBm SCT signal is 100% for No0 and 0% for No1 and No2. It turns out that C16 on No1 and No2 boards is 10 pF. We drop to 2.2 pF. We see poor reception at −38 dBm. We increase the gain of the demodulator amplifier by dropping R7 from 270 Ω to 100 Ω so that the gain is now ×11. We obtain 95% reception down to −51 dBm with all three boards. We are using our bench-top power supply to provide 3.3 V to the A3038BB. When we switch to the PoE power supply, which contains an upside down converter, reception at −51 dBm drops to 10%, but we see robust reception at −48 dBm.

[11-MAR-21] We load 2014VS-111ME for L1 in No1 and No2. We do not connect the inductor to ground, but instead isolate it from the ground pad with a paper barrier. The inductor acts as an open-ended coil antenna. We power the A3038BB-X with a lipo battery and regulator. We enter an FE5A faraday canopy and move a transmitter around over the two detector modules. We see robust reception up to range 10 cm, and intermittent reception at 20 cm. The white LED is acting as a power indicator, and we see power variation dominated by range and little affected by orientation. We connect the No2 inductor to ground and move transmitter close to one then the other. Power and reception by the ungrounded inductor is steady and robust, while over the grounded inductor we see power and reception vanishing with the transmitter in unfavorable orientations close to the detector. We now suspect the A3032 tracker suffered from two serious problems. One was the shifting of the eight-bit ADC power value one place too far to the left, so that power 0x80 would come out as 0x00, causing the measured power to drop when the transmitter was close to the coil. Another was the grounded coil being sensitive to the polarization of the incoming microwave. The coil itself consists of 3.5 turns of diameter 10 mm, with 10 mm of extensions for mounting, making a total length of around 110 mm. The wavelength of 915 MHz is 330 mm, so our coil is a 1/3-wave antenna.

[12-MAR-21] We solder the dummy contact on L1 to its pad, cut the ground contact to create the coil antenna shown below.

Figure: Coil Antenna. We take a 2014VS-111ME inductor, use one terminal as the antenna base and cut short the other terminal.

In our Faraday canopy, with battery power supply, we obtain robust reception at ranges up to 12 cm from the detector coil, including the vertical direction. Between two neighboring coils, up to height 12 cm we obtain reception from at least one of the coils always, which is to say: reception is 100%. Detected power always decreases with range, regardless of orientation.


[22-MAR-21] We complete the eight-page A3038C circuit diagram for the ALT based board. We select a 24-way flex connector HLW24S-2C7LF in place of a non-existent sixteenth coil, so that we can concatenate ALT base boards into larger trackers.

[29-MAR-21] We have four more A3038DM-B without L1 loaded. We generate 820-980 MHz, −34 dBm sweep and apply to A. After correcting one joint, we have four perfect responses on P. We apply sweep to P2 and adjust split-capacitor tuners. We have C14 = 1.0 pF and C15 = 2.2 pF. We add 0.5 pF to C15 on two boards and see a fine ramp 900-930 MHz. We see this same perfect ramp all the way down to −54 dBm on the two new boards, but on the old board with L1 removed the ramp already has dips. We find that the four new boards have 10-MHz oscillators, so we set up a PLL in the logic chip to generate 40 MHz from 10 MHz. The result is 100% reception with −51 dBm SCT signal on both new boards, but only 80% with older board powered by 80-MHz oscillator. Current consumption of the new boards with the PLL is 59 mA, while older boards is 51 mA.

[02-APR-21] Having loaded L1 onto our four boards with 10 MHz oscillators, we find they pick up messages from interference, while our original 80-MHz boards do not. We replace 10 MHz oscillators with 80 MHz and re-program. Now we examine reception with six detector modules in faraday canopy with one transmitter and powered by PoE. We are able to position the transmitter 5 cm over the platform and receive the signal with none of the six. Some of the six are more sensitive than others. This result contrasts with our earlier robust reception with battery power and two detector modules.

[03-APR-21] We number all six of our A3038DM-B. No1 and No2 are the first two we made, which today are the only ones with test point wire loops loaded. We load four into the corners of the base board test fixture and two into the center two spots. We sit in our Faraday canopy with transmitter Q154.7 and the base board on the floor of the enclosure, insulated from the aluminum plate by a plastic-coated carbon sheet. We power the base board with a 3000 mAhr lipo battery and see No1 in a corner position provide 99% reception all over the platform. The other modules perform well, but not quite as well as No1. We switch to PoE and we see reception from No1 drop to 80%, with the loss a function of position and time, so that the receiving light flickers in an unfavorable position, and goes out occasionally in a favorable position. The other modules suffer the same time-scattered losses.

[05-APR-21] We add 3 μF of decoupling on 3V3 next to two corner detector module sockets. We apply PoE power. We believe we see some improvement in reception from all detectors. The two with decoupling do not stand out among the others. We compare tuning on our six modules. The No1, which performs best, has the following tuning response.

Figure: Tuning for Best Reception. We apply −34 dBm sweep to B and observe D. Cursor lines mark the limits of the SAW passband, as obtained from applying sweep to A and looking at response on P. Each horizontal division is approximately 5 MHz.

The peak response of No1 is at the top edge of the SAW pass-band, which is roughly 930 MHz. We look at No6, which performs less well than the others, and its peak response is at around 960 MHz. We add 0.2 pF P0402 to C15 and f_peak is 940 MHz. We add another 0.1 pF and it's at 930 MHz. We continue through the other detectors, setting f_peak in the range 930-935 MHz. If we do not wash off the water-soluble flux residue after adding a capacitor, the top of the tuning response will be flattened and its frequency lowered by about 5 MHz. So we take care to wash and dry after soldering and re-measurement.

Figure: Tuner Component Values and Resonant Frequency.

We load all six detectors onto our base board, power with LiPo battery in enclosure and move transmitter around in the entire enclosure, antenna in air. At least two of the detectors receives the signal from every location in the enclosure. All detectors attain 95% reception for the transmitter moving around over the platform, even those in the corners. We apply −50 dBm sweep to B and see inadequate to adequate sweep response on D. If inadequate, raising the sweep power to −44 dBm gives an adequate sweep. We change the UMC connector we are using to deliver power and now all boards give adequate sweep with −50 dBm sweep applied to A with L1 loaded.

[21-APR-21] We have DM05A firmware running on five A3038DM-B. We have an INCOMING (yellow lamp) indicator lights that turns on when the message detector has received 16 out of 24 message bits, while RECEIVED (blue lamp) turns on when all 24 of 24 have been received.

Figure: P, RECEIVED, and INCOMING. We see P (blue), RECEIVED (green) and INCOMING (yellow).

We see 200 mVpp variation in P during reception from three separate SCTs. The variation in the power measurement at U3-3, after a 1-kΩ series resistor R4, is only 100 mVpp. This variation appears on our digitized power measurement of 8 counts peak-to-peak. The power is not consistent from one sample to the next because the value of the data bits vary from one sample to the next. We try 1.0 nF from U3-3 to 0V to act as low-pass filter, but U2 and R4 now charge up U3-3 over 5 μs, instead of the expected 1-μs time constant. We confirm the capacitor is indeed 1.0 nF with a meter. This stochastic variation in power measurement is of little consequence in practice, because we will be using the median power measurement of a set of at least 32 samples (1/4 s at 128 SPS).

[28-APR-21] We have the BB01A firmware running on a prototype A3038BB with both oscillators, all switches, all LEDs loaded. We have 3.3V and +5V shorted together and connected to 3.3V through P1. Programming time is around three minutes. We exercise the four test points with the test point register. We flash the fifteen channel lamps with a program loop and a delay. We implement the HIDE and SHOW switches, including debounce on the HIDE switch. The CPU, the lamps, and the switches are all functional.

[03-MAY-21] We load three detector modules onto our base board. We have PoE circuits loaded, no shield over the 3.3V buck converter. We have loaded TPS709A33 in SOT-23-5 to provide 3.3 V to each detector. But the boards do not power up. We load TPS90930 and the modules power up just fine. Logic works, ADC works, even the white LED is shining, although not as brightly as with 3.3 V. It turns out that the TPS709A33 has a different pinout from the TPS70930. The TPS70912, TPS70930, and TPS70933 all have the same pinout, with output on Pin 5. Common data sheet TPS709 shows three pinouts: 709, 709A, and 709B. We cannot find TPS70933 at Digikey, Mouser, or Newark. We have 500 of TPS709A33 on the shelf. The TPS709-Q1 series is the automotive-qualified −40-125°C version with the same pinout as the TPS709. We order 75 of the TPS70933Q and 418 of the TPS70930Q. We resolve to use the 3.0-V regulator instead: gain of amplifiers is the same, current consumption is lower, and logic seems to work fine.

[04-MAY-21] We have BB02A firmware on the base board and three detector modules with DM05A firmware. We plug and unplug PoE 30 times. At first we think that the PoE is occasionally failing to turn on when we have a scope probe ground attached to the board, but after a while we realize that it sometimes takes five seconds for the PoE to start up.

We see GRCV pulses on the DC4 test point, and GINC preceding them on DC3. The rise time of these signals, shared by all detector modules, is 20 ns and the fall time is 1.5 μs. Rise time is active pull-up by one or more detector modules. Fall time is the detector module pull-down resistors.

Figure: Detector Control Bus Signals: GRCV (Blue) and GINC (Yellow).

If we remove two detector modules, leaving only the controller logic and one module to pull down the signals, fall time increases to 3 μs. With 16 pull-down resistors rather than 2, we expect a fall-time eight times lower, or 400 ns. The GRCV signal remains asserted for 125 ns, which is 5 cycles of 40 MHz, consistent with the DM05A firmware. Cycle One: decoder asserts GRCV. Two: message recorder detects GRCV. Three" message recorder stores message. Three: message recorder asserts CONTINUE. Four: decoder detects CONTINUE. Five: decoder un-asserts GRCV.

With the 3.0-V power supply, our white LED is dimmer than it was with 3.3 V on our text fixture base board. We try 330-Ω instead of 1-kΩ series resistor and it is indeed brighter, but it is bright enough with 3.0 V.

[05-MAY-21] On our bench top, local interference generates around 0.25 V at P on a detector module loaded with L1 antenna. With a transmitter antenna pressed against L1, we get 1.75 V. Assuming power supply voltage 3.0 V, our 8-bit ADC should give us 21 and 150 counts for these two voltages. In the DM06A firmware, we map 15 to 125 counts to the range 0 to 255 using a 256-byte distributed ROM. We use the following Tcl script to generate the hex memory map file that programs the ROM.

# Generate brightness from power detector output.
set lo 15
set hi 125
set max 255
for {set i 0} {$i < 256} {incr i} {
	set j [expr round(1.0*($i-$lo)/($hi-$lo)*$max)]
	if {$j > $max} {set j $max}
	if {$j < 0} {set j 0}
	LWDAQ_print $t [format %02X 250]

We are now able to move a transmitter right up to L1. We discover that our power readout is not clocking out the final bit. After correction, we see the duty cycle of power indicator lamp drive varying from 0% to 100% as we move the transmitter towards the antenna.

We begin firmware BB03A. We debug the message counter and message interrupts, code is in BB03A. The controller counts RECEIVE pulses and DRC pulses to keep track of the number of messages sitting in the detector module message buffers. When it sees a message is available, it reads the message out over the daisy chain. We place three transmitters on one detector coil and observe what happens when two messages come in before the CPU can finish reading out the first.

Figure: Double Message Reception. GINC (yellow) and GRCV (blue) whos two messages being received within 20 μs. We see the message interrupt bit (red) being asserted twice, and two DRC pulses, demonstrating buffered readout of messages. OSR8V2 running at 10 MHz.

Following the first GRCV (global receive signal) assertion, we see the message interrupt request asserted. The controller (the LCMXO2-7000 logic chip) reads out the message, asserting DS nineteen times and storing the message and detector powers in RAM. The first DS assertion reads out a message from the detector message buffer. The controller asserts DRC (detector read complete), which decrements its own message counter. But there are two messages, so the controller reads the second one as well. The buffering of the messages in the detector module allows the controller to read the messages at leisure. Here we are reading the messages and storing them in RAM, but we are not yet writing them to the controller's message buffer, from which the relay (the RCM6700 module) can ultimately retrieve them. The message read takes 40 μs now, and will ultimately take around 100 μs, allowing for a maximum total message readout rate of 10 kHz. We re-compile the firmware, asking for the CPU clock to be 25 MHz, and find the maximum the router can give us is 24 MHz, so we can run at 20 MHz for twice the readout speed.

[06-MAY-21] We increase the OSR8V2 clock speed to 20 MHz and watch message reception with ten A3028L transmitters lying on the detector coils of four modules.

Figure: Triple Message Reception. GINC (yellow) and GRCV (blue) whos two messages being received within 20 μs. We see the message interrupt bit (red) being asserted twice, and two DRC pulses, demonstrating buffered readout of messages. OSR8V2 running at 20 MHz.

The controller maintains a count of messages available in the detector module buffers. It increments the count on rising edges of GRCV and decrements on falling edges of DRC. We have the red light on the detector module indicating DMERR. The module asserts DMERR when its buffer is full and a new message arrives, or when its buffer is empty and the controller tries to read a message. We see DMERR being asserted when GRCV has double-pulses that blend together because of the 1.5-μs GRCV fall time. These double-pulses occur when two separate messages arrive at almost the same time at two separate detector coils. Detector D1 receives message M1. As M1 is incoming, D1 asserts GINC. Detectors D1 and D2 digitize their antenna power. Shortly after, D2 also asserts GINC, but because GINC is already asserted, it undergoes no change. When M1 is received by D1, D1 asserts GRCV and both D1 and D2 store a message record in their buffers. The D1 record contains M1 and power. The D2 record contains only power, and the power is the power received from M2, not M1. Meanwhile, D2 continues to receive M2 and moments later it asserts GRCV to request that all modules store a message record.

[07-MAY-21] We are moving transmitters around over a the A3038BB-X and A3038BB-Z base boards, which we populate fully with detector modules or half-populate for a side-by-side comparison. Jordan reports, "I previously reported that I was able to see a clear difference in reception between the A3038BB-X and A3038BB-A. I repeated the same set of movements 10 times over 2 sets of 2 detector modules located in the same positions next to the buck converters. I saw robust reception in the set of DM's that was on the A3038BB-A and below robust on the A3038BB-X. This is what I reported to you previously, after this report I went and ran another test where I swapped the DM's at those positions. Upon redoing the experiment I have previously described I saw that whatever differences I had noticed appeared to have at least slightly switched. Meaning that the A3038BB-X seemed to get reception as well as the A3038BB-A. Let me know if this write makes sense." And later, "It appears that the most significant factor in the two BB comparative performance is the DM's themselves. Every time I think I see some systematic poor reception in one location or another if I simply swap the modules that goes away. To reiterate, to the first approximation the single most significant determinant of reception when both boards are POE is the detector module. I will determine a test to separate the higher performing modules vs the lower performing modules so we can inspect.".

We add 1-kΩ pull-down resistors to GRCV and GINC, which reduces their fall time to 200 ns. We still see DCERR asserted when we have a transmitter on each of four coils. We expand to six detectors in positions J1-J6 of the daisy chain, all running firmware DM05A. We re-program one detector and find that it asserts DCERR because the controller is trying to read a byte from its FIFO when the FIFO is empty.

[10-MAY-21] We finalize BB03A and DM06A firmware sets. In DM06A we are resetting all decoders after they store a message, which resolves conflicts between detector modules that receive colliding messages. We re-arrange the indicator lights, so that blue is power and white is reception. The red lamp is for errors, and we have a short flash for a buffer overflow, a long flash for an attempted read from an empty buffer. In BB03A we have the time stamp interrupt decrementing an array of fifteen channel indicator counters, and the message readout interrupt is writing a timer value to the counters. When the counters are non-zero, the indicator lamps are on. The indicator lamps turn on with SCT transmission, suggesting that our readout of channel numbers from the detector modules is working through the daisy-chain bus. We leave four transmitters running for 24 hours in an FE2A with the A3038BB populated by five A3038DM. None of the detector modules have error lights flashing at the end of the 24 hours.

[12-MAY-21] We establish TCPIP communication with the RCM6700, which acts as a LWDAQ Relay. We have the controller (U2, LCMO2-7000) attempting to store four-byte clock messages in the message buffer (U6, 2-MByte SRAM) at 128 Hz. We read out the sixty-four byte controller memory space with the following Toolmaker script.

set sock [LWDAQ_socket_open]
for {set i 0} {$i < 64} {incr i} {
	set b [LWDAQ_byte_read $sock $i]
	LWDAQ_print $t "$i $b"
LWDAQ_socket_close $sock

We are seeing −1 = 0xFF from unused locations, version numbers and zeros from other locations, and we see the message buffer half-kilobyte counter incrementing at location 61. Location 63, the message buffer portal, is stuck at −1 because we must first write to

[13-MAY-21] We read out timestamps from the message buffer with Script 2. We strobe the buffer by writing to the buffer strobe location (62), read back that same location until it is not zero, then read from the buffer portal. We read successive clock messages, which consist of a twenty-four bit timestamp counter and a firmware version number. If we let the timestamps build up in memory for a while, we read them out and they increment perfectly. But if we are reading out and writing at the same time, the reading by the relay conflicts with the writing by the controller, so that bytes are lost in writing. We allow the buffer to fill up for a couple of minutes, then take the following image from the buffer with the Camera Instrument.

Figure: Camera Image Obtained from ALT Message Buffer. Image width 256 pixels. 90% of the image is a uniform series of clock messages, the bottom is corrupted by the reading of the image.

We are storing 512 bytes per second and the above image is 60 kBytes. After 55 kBytes, the Camera Instrument has caught up with the controller's writing of clock messages. The ALT's buffer empty light comes on, the yellow upload light is one, and we wait for about ten seconds before the image is complete. The interference of the read with the write is due to a bug in the handshake between the Relay and the Message Buffer Controller.

Our A3038DM-B detector modules provide robust reception of a −48 dBm SCT signal fed into P1 with L1 absent. We check reception for all 45 detector modules and classify them as "perfect" where the reception indicator never turns off, "good" where it flickers once per second, "weak" with two flickers per second, "bad" with five or more flickers per second, and "faulty" where there is no reception. We study how the power of the sweep affects reception, and report in detail our observations. We find that 6 dB of attenuation takes reception from "perfect" to "weak". All but 5 of the 45 circuits are "weak" to "perfect", with 5 we reject because they are "bad" or "faulty". Considering the 45, the SCT power at which they are "weak" varies by ±3 dBm, which is consistent with variation in amplifier gain. We define for future experiments the "sensitivity" of a detector module as the minimum SCT signal power for which the reception light flicker rate is 0.5-2 Hz.

[14-MAY-21] We have our first SCT recordings from the A3038A. The existing Recorder Instrument reads data blocks from the A3038A just as if it were an A3027E octal data receiver.

Figure: Five SCT Signals from A3038A Prototype. Downloaded with Recorder Instrument.

We have three outstanding issues with the firmware. If the timestamp increments from 255 to 0 while we are storing an SCT message, the SCT message will have a timestamp that is lower than its previous sample without there being a clock message in between. When we reset the base board with a write to the cpu reset address, we see two pulses on RCV_RST_CPU and two RESET pulses. When we write to the message buffer consecutively with "ld (msg_write_addr),A" we lose one of the writes. When we add "nop" between the writes, we don't lose any of them.

[15-MAY-21] Our latest firmware happens to work without any reset-repetition. We have been driving the processor RAM with !CK rather than !PCK. When we tell the synthesizer that CK is 40 MHz, it reports a timing violation. We suspect that this violation was the source of the erratic behavior we observed in RCV_RST_CPU, where we would see double-pulses or continuous pulses after a write by the relay to the software reset register. When we drive the RAM with PCK, however, we see RESET being asserted without RCV_RST_CPU or RCV_RST_RELAY every twenty milliseconds or so. We suspect a stack overflow resulting from a failure to increment the stack pointer fast enough, but we are not yet sure. We have a timing problem, and we have yet to solve it.

We solve the problem of clock messages being delayed by message storage in the same way we did with previous receivers: we give messages timestamp 255 when there is a clock message delayed. We consider the storage of messages in the buffer and see that they do require six CK cycles, or three PCK cycles, so we must insert "nop" between "ld (msg_write_addr),A" in order to allow time for the write to complete. We finalize BB04A firmware and we record for ten minutes with Neuroarchiver from seven SCTs and see no errors. During the ten minutes, we pause recording for up to 100 s so as to test the message buffer, which fills at 14 kByte/s and has capacity 2 MBytes. The Neuroarchiver catches up after each pause, and there are no missing clock messages. The recording is

[17-MAY-21] In our Faraday canopy we read out the ALT with the Recorder Instrument. "When using the ALT BB with BB04A and DM with DM06A software loaded, we found that between modules 6 and 7 in the daisy chain there was an error in the presented ID. When the transmitter was on the 6th module the recorder instrument said all samples were coming from a transmitter with the correct number. When placed atop the 7th DM in the chain the recorded instrument said reception was coming from a transmitter with a different ID." We fix this problem by increasing the duration of daisy-chain data strobe pulses to 900 ns.

Our CPU RAM has until now been configured with a register on its output. All reads from RAM appear only after two rising edges of the RAM clock. When the RAM clock is !CK, we get these two rising edges following PCK. But otherwise we do not, which causes reads from the stack to fail. When we pop the program counter off the stack, we can jump to an instruction that writes to the reset location, which is why we see various patterns of reset depending upon the exact configuration of the program. We remove the output register and the firmware runs as we expect, with the RAM, ROM, and MMU running off !PCK and the CPU running off PCK.

[18-MAY-21] We have the controller storing the power array and power calibrations as payload to all SCT messages and clock messages. We have robust readout of three signals and clocks with Recorder Instrument using payload length 16. The power measurements are not being read out or recorded properly, however: all are zero except for coils 14 and 15 (which are indexes 2 and 1 in the daisy-chain). We find a bug in the controller software and correct the readout problem.

Figure: Daisy Chain Readout. Data Strobe Upstream (Red), Unused Test Point (Green), Message Readout In Progress (Blue), Main Loop Executing (Yellow). The daisy-chain readout and storage in the message buffer takes 15 μs. But the detector modules do not have to wait for the readout to complete, nor even for the readout to start. They are writing their received messages into their own buffers.

[19-MAY-21] Our BB05A firmware provides power detector readout of all fifteen coils in the daisy chain, although we have as yet populated only the first five coils on our own prototype. In the Neuroarchiver's Tracker window, we see coil powers and position measurement, no jumps in position as we move around, although we are losing reception out in the open on our desk when we move between coils. Readout is stable except for one TCPIP communication failure, which does not repeat.

[20-MAY-21] We study the gain of the A3038DM amplifiers. We use P1, P2, and P3 to variation in power atB and C with power applied to A. The entire amplifier chain is connected, but we have R5 removed, and in one experiment we replace L2 with a wire. We have no L1 loaded. We are double-loading B when we measure its power, but we are not double-loading B when we measure power at C. The A3038DM-B provides linear gain with SAW filter and without SAW filter, as does the A3038DM-A with SAW filter (measurements by Jordan). In the A3038DM-A with SAW loaded we earlier observed −54 dBm at B for −60 dBm input. Now, with B double-loaded, we see −57 dBm for −60 dBm input. Saturation at C in the A3038DM-A with SAW loaded occurs at +2 dBm for input −52 dBm. We observe separately that our A3038DM-B can detect SCT signals down to −50 dBm. The nominal gain from A to C is +79 dBm (including −1 dBm per 10-pF coupling capacitor). At input −70 dBm we observe gain of +58 dB. We are short 21 dB. If split between four amplifier stages, each stage is developing 5 dB less than we expect, or +19 dBm instead of +24 dBm.

[21-MAY-21] We continue our study of the A3038DM-B. We observe 385 mVpp (−4 dBm) 160 MHz at C, the second harmonic of our 80-MHz oscillator. We add 10 nF to C10 and amplitude decreases. We continue adding to our decoupling capacitors and reduce the amplitude to 200 mVpp.

Figure: Interference From 80-MHz Oscillator, the Second Harmonic, Before Improving Decoupling. We have R5 removed, no signal applied to A, 50-Ω termination at oscilloscope input.

The sensitivity of this amplifier appears to be improved by 10 dB compared to before we added larger capacitors. We now see +64 dB gain for −70 dB input, compared to +57 dB before addition of extra decoupling capacitors.

Figure: Power at C versus Power at A with Improved Decoupling. We work in a Faraday enclosure to reduce interference.

We have four A3038BB-A in various stages of constructions. C0591 is the one we have been using to develop the firmware. C0592 is fully assembled but not yet inspected or tested. C0593 is partly-assembled. C0594 is fully assembled and tested. We fixed a short between two daisy chain data pins and it now reads out all fifteen detector modules.

[25-MAY-21] We are measuring power at C (P3) versus power at A (P1) with L1 and R5 omitted. We observe 880 MHz interference of −10 dBm when measuring A3038DM-B output power for −80 dBm input of 915 MHz. This 880 MHz disappears when we remove the 80 MHz oscillator from the circuit. We plot output versus input power for various circuit variants. From Jordan's notes, "For each test I used the synthesizer to generate a signal for the DM and brought it inside the faraday enclosure and applied a 915 MHz signal with varying input powers starting at -85dBm and ending at -40dBm with 5db increments. The signal was input at the UMCC connector at P1 and the output was read at P3. The attenuator -3dB R5 was removed for these tests. Series A is this test with an unaltered amplifier chain. Only components originally listed on the schematic are included. For Series B I removed the 80MHz oscillator and ran the test. Series C was the same detector module without the 80MHz oscillator but there were additional 10nF capacitors in parallel with the 100pF cap at C9 and C10. Series D had the higher gain BG2818 amplifier placed at U1 instead of the BGA2803. Series E has a BG2818 amplifier at U5 as well as U1."

Figure: Power at C versus Power at A. Plots with cumulative changes. A original circuit with 80-MHz oscillator. B with oscillator removed. C add 10 nF in parallel with C9 and C10. D replace U1 with BGA2818. E replace U2 with BGA2818.

[26-MAY-21] We remove the 80-MHz oscillator from an A3038DM-B and re-program the logic to generate 40-MHz using its on-board phase-locked loop (PLL) from an 8-MHz input on global detector module signal DC7, which we now call DMCK. The minimum clock frequency required by the PLL is 7 MHz, or else we would broadcast 1 MHz. We re-program the controller to produce 8 MHz on DMCK with 4-mA drive current otherwise the PLLs fail to lock in DM14 and DM15 (as numbered in the geometry drawing). We set the red error lamp on the detector module to shine continuously if the PLL fails to lock. These new features are provided by firmware DM07A and BB05A. When we place the A3038A with fifteen detector modules all running of PLLs in our FE2F enclosure, we obtain reliable reception from a rat transmitter on a cup, with reasonable power measurements from all coils. Power from distant coils is now weak, where previously, with the 80-MHz oscillator loaded, we had some distant detectors with high power standing out among the others.

We take a working A3038DM-B, No036, and add 10 nF capacitors to C9 and C10, replace U1 and then U5 with BGA2818. At all stages of modification, we obtain reception of SCT signals. We remove L1 and apply −48 dBm SCT signal, reception is perfect. At −58 dB reception is good. At −62 dB reception is weak. We examine D and see that the signal is always being decoded to the point where the decoder asserts GRCV and reads out the ADC. Now we see the SCT signal disappear from D, and the value of D dropping by 500 mV for about 500 ns. This corruption of the incoming SCT signals causes reception to fail. When we restore the antenna and put a transmitter on another detector module, we can see this 500-ns disturbance in the interference-generated D. In both cases D is forced down and fluctuations are reduced. The ADC readout is 11 cycles of 20-MHz, which is 550 ns. We drop the drive current on !CS and SCK from 8 mA to 4 mA but the disturbance remains 500 mV. The SDO signal from the ADC runs beneath the antenna input pad, separated by a power and ground plane, as shown below.

Figure: Routing of ADC Signals. Red: top copper. Blue: bottom copper. Green: top solder mask. The SOT-23-6, U3, on the bottom side has SDO running from U3-5 to U10-35 passing beneath the antenna input pad on the top layer. Not shown are the power and ground planes that separate the top and bottom layers.

Voltage changes in SDO appear to be inducing a signal on A. The 900 MHz (45th) and 920 MHz (46th) harmonics of 20 MHz lie in the pass-band of our SAW filter. We speculate that the ADC readout causes C to be dominated by 900 MHz, forcing D down to its 900-MHz value.

Figure: ADC Read Noise on Unmodified A3038DM-B (All BGA2803, 100 pF decoupling). Blue: Demodulator output D. Green: GINC, global incoming. Yellow: GRCV, global received. We have an SCT on one detector antenna and we are looking at D on another detector, where the SCT signal is weak.

We restore L1 and observe the output of the power detector, P, with the decoder's receive complete output, GRCV. In the absence of any incoming SCT signal, P fluctuates between 400 mV and 600 mV, implying interference power of −50 dBm. We move an SCT over L1. Reception is reliable when the SCT signal drives P to ≥300 mV above the interference power. Consulting the LT5534 data sheet, 300 mV implies the signal is around 10 dB more powerful than the interference, which is consistent with our rule of thumb that the signal to noise ratio should be 12 dB for reliable reception.

[27-MAY-21] We disable ADC readout signals SCK and !CS on our No036. We see no sign of the above ADC readout noise. We enable !CS but leave SCK disabled, still no sign of ADC readout noise. We enable SCK again, but slow down the power readout state machine by a factor of two (Use 10 MHz clock rather than 20 MHz). We see no sign of ADC readout noise in D of No036. We remove antenna and apply −58 dBm. We sometimes see disruption of D during the 1.5-μs ADC readout. We add 100 pF from SDO to 0V but occasional disruption of reception persists. We hypothesise that the current spikes in the SDO line from U3-5 to U10-35 create a loop, and that the magnetic field spikes generated by this loop penetrate the copper planes and reach the antenna input pad.

We eliminate 880 MHz interference on fifteen detector modules by removing the 80 MHz oscillator. We have one 80 MHz oscillator on the base board. We use this to generate 8 MHz, which we distribute to all detector modules. The logic chip on each detector module contains a 400 MHz oscillator and a phase locked loop (PLL). We program the PLL to lock to 8 MHz and generate 40 MHz. Detector module No036 has BGA2818 in place of the first two amplifier stages, and 10 nF capacitors in place of C9 and C10, as well as the oscillator removed and replaced by the PLL logic. It works. We removed its antenna and apply −58 dBm SCT signal. We observe noise generated by eight-bit ADC readout. We slow down the readout by a factor of two and we can no longer see the noise. We now obtain perfect reception at −58 dBm.

Figure: Reception of −58 dBm SCT Message. Yellow: trigger from SCT. Red: global receive signal (DMRCV). Green: power detector output (P), shares zero volt level with ret. Blue: demodulator output (D), shares zero volt level with yellow.

The power detector output for our −58 dBm input is around 500 mV, indicating −50 dBm at the power detector input, which implies a gain of 8 dB from A to B. Accounting for 13 dB of loss, the BGA2818 appears to be delivering 21 dB of gain, not the 30 dB we were hoping for, but still 6 dB more than the BGA2803. The detected power varies by 200 mVpp as the SCT signal changes by 8 MHz. Either the gain varies by 5 dB with frequency, or the SCT power varies by 5 dB with frequency, or both.

In the Faraday Canopy with a rat transmitter held in our hands, antenna sticking out in air, we obtain 100% reception while within 15 cm of the coil array. We previously observed reliable reception from all locations in the Faraday canopy, which is ranges up to 100 cm, when we loaded six detector modules onto our test fixture board powered by a battery. We don't see that now, and reception from a pup transmitter is reliable only up to 5 cm from a coil. We suspect we have some other major performance problem to eliminate. Here are some suggestions, with subsequent outcomes in italics.

  1. The 400 MHz PLL oscillator may be causing interference. We must repeat our output versus input power measurement with No036 in its current state and look for harmonics of 400 MHz in the amplifier output. Found no trace of 400 MHz in amplifier output.
  2. The current consumption of the base board is 1.1 A drawn from the 48V-5V converter. The converter may be radiating more interference power. If we connect a 3.7V LiPo battery to the 5-V power supply, the 5V-3.3V converter should still run, and the detector modules will get power via their regulators. We will eliminate noise generated by the 48V-5V converter. Found that with 5V external supply burst noise disappears but reception of −58 dBm sweep does not improve.
  3. We could try an 80-mm vertical quarter-wave antenna instead of L1 to see if the problem is one of antenna sensitivity. If so, we can design a new antenna. Found that an 80-mm quarter wave antenna provided no improvement in reception.
  4. In our tests with the base board fixture, which had no ground plane, we elevated the base board off the floor of the Faraday canopy and used a rectangle of carbon sheet as a reflector to mimic a ground plane. But that sheet was not groundd. Perhaps it acted as something other than a ground plane. In wich case we could try covering the top of the base board with an un-grounded sheet and see what happens. Powered up base board test fixture with battery and carbon sheet and observed 15-cm operating range with six detector modules. Suspect 10-ms flashes of RECEIVE indicator lamps in earlier modules made 25% reception look lik 100%.

[28-MAY-21] We remove L1 from No036. We connect our hand-held spectrometer to C without removing attenuator R5. We run the output of our synthesizer through a 30-dB attenuator, a 2-m coaxial cable, to P1 to provide A. We plot power at C versus power applied to A, assuming no loss in the cable or connections, so we take the power at A to be the synthesizer power minus 30 dB. We repeat for several frequencies in the range 900-930 MHz.

Figure: Power at C versus Power at A for Various Frequencies.

We measure power at C for −40 dBm applied to A as we vary frequency from 500-1300 MHz, this time we have no attenuator at the synthesizer output.

Figure: Power at C versus Frequency for −40 dBm applied to A (500-1200 MHz).

Within the pass-band of our SAW filter, we take points every 2 MHz, as shown in the closeup below.

Figure: Power at C versus Frequency for −40 dBm applied to A (880-970 MHz).

For a typical −40 dBm SCT input, saturated output power at C is constant to ±0.5 dBm in our entire 900-930 MHz operating range. We disconnect out signal cable from P1 so that we have no applied signal at A, other than interference. We look at the 750-1050 MHz spectrum and find −23 dBm at 922 MHz.

Figure: Power at C Spectrum of C for No Power Applied to A, 750-1050 MHz.

We expand our interference search to 250-6000 MHz. In 250-750 MHz, the spectrum is flat, with small preaks at −42 dBm. The highest peaks we find are −39 dBm at 4508 MHz and −43 dBm at 5697 MHz. We measure the response of the power detector output P to power applied to A for three frequencies on No036. We connect our synthesizer directly to A with a cable and vary power from −90 to +10 dBm.

Figure: Detector Output P versus Input Power at A. Average value of P measured at 906, 915, and 923 MHz, plotted against left axis. Noise amplitude measured at 915 MHz and plotted on right axis.

Comparing the above plot to the LT5534 response, we appear to have −36 dBm at the detector for −40 dBm input. Gain from A to B is +6 dB. Attenuators, coupling capacitors and the SAW filter give us −15 dB, so U1 is providing +21 dB gain, not the 30 dB we expect from the BGA2818. Noise on P reaches a maximum amplitude of 18 mV for −60 dBm input at A. We take a picture of the noise and its spectrum 0-280 MHz, shown below.

Figure: Power Detector Noise for −60 dBm 915 MHz at A, with Spectrum. The horizontal frequency scale is 10 MHz/div, so it covers 0-280 MHz. Horizontal time scale 250 ns. Vertical voltage scale 20 mV/div.

We apply a −60 dBm sweep to A and observe P and D. The demodulator response is uninterrupted and increasing. At −40 dBm the response is crisp and clean.

Figure: Response of Upgraded A3038DM-B to −60 dBm sweep. For −40 dBm sweep see here.

We apply a 5-MHz 100-mVpp square wave to our sweep generator (the A3014MT modulating transmitter) to mimic the bit transmission of an SCT signal. We look at D and also the ground potential with its own probe. We see bursts of noise on all traces. We move our No036 detector to a separate test stand powered by a battery, and place it next to our PoE base board. With the PoE base board powered up, we obtain the following noise bursts. When we unplug the PoE, the bursts vanish.

Figure: Power Supply Noise. Green: D with burst of noise. Red: modulating signal. Blue: ground reference. Our detector module is powered off a battery on a test fixture next to our PoE base board.

We restore No036 to the PoE base board and apply −58 dBm SCT signal. We acquire D, SCT trigger, global incoming signal (GINC) and P repeatedly and find that 95% of messages provoke GINC, but only 20% are received. The figure below is an example of message reception being abandoned due to corruption of D after GINC is asserted.

Figure: Corruption of Incoming Message by ADC Readout. Yellow: SCT trigger for −58 dBm signal. Blue: P. Green: D. Red: global incoming signal (GINC). Corruption of the green demodulated signal occurs in the 1.5 μs after the red incoming pulse, as we read out the ADC with thirteen LO pulses on SCK.

When the message fails to satisfy the timing criteria of the message decoder, the decoder un-asserts GINC, even if it has already asserted GINC. In the figure above we see GINC being released before the message is complete. We disable the ADC readout and get 95% reception of the −58 dBm SCT signal. When we enable ADC readout and reception drops to 20%.

[29-MAY-21] When comparing reception with earlier versions of the firmware (DM01A-DM03A) to later versions, we note that the earlier versions produced a 10-ms flash on the RECEIVED lamp, while later versions produce only a 0.8-ms flash. Random loss of 80% of messages would, with the earlier versions, appear as 100% reception, but now would obviously be inadequate.

We have −58 dBm SCT signal connected to No036. Our firmware is reading out the ADC. Depending upon the exact arrangement of the UMC connector, reception varies from 0-100%. Most often it is 50%. We connect external bench-top power supply to +5V and disconnect PoE. Our 5V-3.3V converter is running to supply the controller and relay, while the 5V is being regulated down to 3.3V for all the detector modules. Current consumption of the entire base board is 1.12 A from 5V. The noise bursts we see in the base board 0V potential and all other signals vanishes. Reception of SCT signal remains 50%. We disable ADC readout by fixing SCK and !CS at HI. Reception is 90%. We return to PoE power, in which our 48V-5V converter generates noise bursts. Reception remains 90%. We re-enable ADC readout. Reception drops to 50%. We increase sweep power to −38 dBm and reception is 100%.

  1. The B3588, L2, has maximum input power 0 dBm. We may have damaged it with +7 dBm saturated output power from the BGA2818, causing excessive loss. Replace and measure response of P for power at A up to −27 dBm. Replace L2. Apply −40 dBm of 915 MHz and get 1.00 V at P, as before replacement.
  2. The ADC acquires its input on the falling edge !CS. If we assert CS, then wait for RECEIVED, we can read out the ADC after the message is complete. Delay ADC readout until after GRCV and reception is 90% at −58 dBm, with successful conversion.
  3. The LT5534 output appears to be open-drain: it can sink 10 mA, but source only 200 μA. Try a 1-kΩ pull-up resistor to reduce source impedance and perhaps reduce noise for low powers.
  4. The 80 MHz oscillator on the base board may cause problems for nearby detectors. We could replace it with 10 MHz and use the controller logic's PLL to generate 40 MHz.
  5. Interference in the FE5A Faraday canopy may be greater than two weeks ago. The ALT will first be deployed in FE3A Faraday enclosures. We could poke a hole in our FE2F enclosure and use a stick to move a transmitter around to check reception.
  6. We could try out a loop antenna for the pup transmitters to boost their power.

[31-MAY-21] We have −40 dBm of 915 MHz on A, generated by our synthesizer, which we measure to be −37 dBm with our hand-held spectrometer. We have P = 1.00 V. We replace L2 and P = 1.00 V. We add 10 nF to C3, P = 1.00 V. We replace C1, C2, and C31, P = 960 mV. We connect spectrometer to P2 and see −35 dBm. We apply −75 dBm and see −9.0 dBm at C on P3. Add 10 nF to C8 and see −8.5 dBm on C. Reception of −58 dBm SCT is 70%. Reprogram No036 so that it asserts !CS upon GINC, but does not assert SCK until GRCV. We see no trace of corruption in D, but reception remains 70%. We correct a bug in the ADC readout and plot the digitized P as reported by the Neuroarchiver versus SCT power at A. We deliver SCT signal through 2-m cable and attenuators. The SCT source is −8 dBm and we assume 2-dB loss in cable, so we have signal power −10 dBm minus attenuator values.

Figure: Digitized P versus Power at A.

During the above experiments, we obtain robust (95%) reception down to −60 dBm when connection to P2 is optimally aligned. Compare this to the −65 dBm sensitivity of the Octal Data Receiver (A3027) detector, as reported here.

[01-JUN-21] We connect No036 to an A3015C loop antenna in our Faraday canopy and test reception of an A3028E SCT, while comparing to reception by single A3015C antenna connected to an Octal Data Receiver (A3027E). We see no significant difference in reception as we move the SCT all around the enclosure. Reception is robust over 100 cm. We disconnect the A3015C from No036 and load L1, 110 nH inductor. Reception is robust only over 10 cm. We stretch the coil, giving it a pitch of 3 mm rather than 1 mm. We now obtain robust reception over 30 cm. We stretch out the coils of all 15 detector modules. We reprogram all modules with latest firmware, in which ADC readout is delayed. We obtain 100% reception from all points in our Faraday canopy using all fifteen detectors together. Our modified detector modules are: No033 and No036 have BGA2818 in place of U1 and U5, No026 has BGA2818 in place of U5, U6, and U7. All three have 10 nF in parallel with C3, C8, C9, and C10.

[03-JUN-21] We connect external +5V to a base board and measure power consumption. Controller logic only: 40 mA. With all base board lamps on: 70 mA. With RCM6700 loaded: 140-280 mA. The incremental increase with each A3038DM-B loaded is 78 mA. With 15 of the A3038DM-B loaded, we expect 1300-1450 mA. We swap U3 on the base board for 10 MHz and use a PLL to generate FCK 80 MHz. We now believe we see better reception in the detector modules nearest the oscillator. The PLL is in the BB06A firmware. We replace a 48V-5V converter on base board C0592 and the 5V power supply asserts itself. The original converter does not produce 5V.

Jordan applies power to A with L1 removed and measures power at C with R5 removes. He writes, "Here is a plot from my measurements from yesterday of the amplifier modified by Becca, it has a BG2803 on the first stage and a BG2818 on the last three. Initially when attempting this experiment, the decoupling capacitors along the chain only had 100pF. After plugging it in I saw oscillations saturating the amplifier at ~377 MHz. I added some 10nF capacitors in parallel with C8, C9, C10. This damped down those oscillations. I scanned the entire available frequency range with the handheld spectrometer and saw no more oscillations. I think proceeded to take the measurements in the attached PNG using the synthesizer."

Figure: Power at C versus Power at A for BGA2818 in Final Three Stages, BGA2803 in First Three Stages.

[05-JUN-21] Today and yesterday we found that the detector modules on our base board failed to lock their PLLs to the global 8 MHz clock after they had been running for an hour. In both cases we spilled water on the board prior to the lock failure. We can tell that a PLL is failing to lock because the red warning light on the module shines continuously.

[07-JUN-21] We measure the 3V3 power supply on our four existing base boards. The average 3.42 V is higher than our target 3.30 V, but within tolerance for the controller and relay circuits.

Figure: 3V3 Power Supply for Controller and Relay.

Base boards C0951, C0592 and C0593 have all 3.0V regulators for the detector modules, while C0594 has all 3.3V.

[09-JUN-21] We have eleven A3028DM-B that started off as a mix of faulty, poorly-performing, and un-modified modules in a bin. We upgrade and fix all of them. Each has a serial number written on its logic chip. We measure the minimum sweep power at A that will produce a clear ramp on D and call this the sensitivity of the detector.

SN066067068069015 013041003012044021
Sensitivity (dBm)−60−63−60 −61−60−60−58 −62−62−61−62
Table: Sensitivity of Eleven Detector Modules.

[10-JUN-21] Our eleven refurbished A3028DM-B have 10 nF in parallel with 100 pF for C3, C8, C9, and C10. We apply 915 MHz to A with P1, increasing from −87 dBm to −53 dBm. We measure power at C with P3, but we do not remove R5.

Figure: Power at C versus Power at A for Eleven Detector Modules. We have R5 loaded.