2022 | 2023 | 2024 |
Chronological record of the development and production of the Four-Channel Subcutaneous Transmitter (A3047).
[19-OCT-22] Order for first twenty A3047A received.
[16-DEC-22] Layout of A304701A completed. Ordered 100 of the six-layer boards panelized 2 × 5 on a 5-day turn.
[19-DEC-22] Fabrication of A304701A is underway. Panel drawing here.
[30-DEC-22] Have ten panels of ten A302701A in hand.
[04-JAN-23] Kit for QTY 10 of A3047BV1 shipped, assembly is underway, scheduled ship date 13-JAN-23.
[17-JAN-23] We receive 10 of A3047BV1. Load 10-μF capacitors that we failed to send to assembly house. Connect 0V pad to P1-7. Work on firmware. All four inputs are being digitized and transmitted, each at 512 SPS. Frequency responses and gains all appear to be correct. Check all inputs for missing codes or other glitches in ADC readout with ramps. See no problems. We have 0.0 Hz response on X1, X3, and X4, 0.3-Hz high-pass on X2. Current consumption 236 μA (our prediction was 275 μA). We have a start-up problem when we first connect a power supply to the circuit: current consumption is 1.2 mA and signals are all exactly zero. Turn off and on with a magnet and current returns to normal with samples being digitized correctly. We look at TMP, the output of the LMT70 temperature sensor. We measure 980 mV (23°C). We cool with freezer spray and see it rise to 1.32 V (−45°C). We enable the fourteen-bit ADC U7 that digitizes the temperature sensor and read it out as if it were U5, the sixteen-bit ADC. When TMP = 1.0 V we see 17930 counts and when 1.14 V we see 20434 counts.
[18-JAN-23] We now have a sixteen-state sample manager in the firmware. It runs off a 1024 Hz clock. In every even-numbered state, we read out and transmit X1. Its transmit frequency is 512 SPS. In one in four states we transmit X2, and in one in eight we transmit X3 so that their sample rates are 256 SPS and 128 SPS respectively. We do not transmit X4. We transmit temperature in one of the sixteen states, for 64 SPS. In one state we do nothing: neither power up the RF oscillator, nor read out the ADC, nor initiate a conversion. As the state machine proceeds, it must set up the multiplexer address for channel selection in the state before the channel sample is transmitted, because the converters convert after readout, not before readout. Our version A01 code does all this.
Adjust ADS7052 readout to account for bits emerging on rising edges of SCK, and first rising edge gets a zero. We have twenty-four SCK pulses in all. We need eighteen to perform a readout and initiate another conversion. Twenty-four has the same effect except on the first conversion after power-up, when the twenty-four pulses provokes an offset calibration. We have a glitch at the end of the readout on SCK, but this glitch does not appear to cause any trouble, and we would need to allocate another logic register to remove the glitch, so we leave it in place. Our logic takes up 62 outputs when the ring oscillator is 13 gates long.
The top bit appears on the second rising edge of SCK. The final two bits we read out of the ADS7052 are always zero, so we convert our fourteen-bit output into a sixteen-bit output by shifting left and filling with zeros. In both the ADS7052 and ADS8860 readout, we have shortened the conversion pulses (on !CSS and !CST), which makes the entire cycle more visible in our oscilloscope traces. The readout of the ADS8860 requires sixteen pulses on SCK. The top bit appears when we assert CSS. The next bit appears on the first falling edge of SCK.
When we connect 2.7 V to our board with a wire through a multimeter, current consumption is 1.2 mA and our signal samples are all zeros, while our temperature samples are normal. If we turn off and on with a magnet, current consumption is only 128 μA. We connect probes to VL, VC, VD, and VA and watch the power-up sequence for a hard connection to VB and a magnetic turn-on.
Both VA and VC are supplied by R1 = R2 = 1.0 kΩ charging C6 = C4 = 10 μF. When we turn on with the magnetic switch we see the time constant of 10 ms clearly on VC, but on VA something more complicated is happening: a startup current of around 300 μA holds VA down, then switches off, allowing VA to rise to VD. When we turn on VB with a connector, the power supply flip-flop U2 powers up with its VD output HI. The circuit attempts to power up but fails.
We cycle the power on our circuit with a magnet twenty times and every time it powers up correctly. But when we short the battery voltage for a moment, it powers up incorrectly. During encapsulation, if we were to press the negative tab against the edge of our battery, the device would power up incorrectly. Even when powered up incorrectly, however, the device still transmits. We already make sure devices are turned off at all stages of encapsulation, so we will avoid leaving the device in its 1.2-mA state. We try R1 = R2 = 500 Ω. Now we see the same power-up failure, but with 1.6 mA. We try R1 = R2 = 2.0 kΩ and see the same problem, but 800 μA. With 2.0 kΩ, however, the device does not power up correctly with the magnet either. With R1 = R2 = 0 Ω, the circuit always powers up correctly, magnet or connector. We restore R1 = R2 = 1.0 kΩ. If we put the circuit to sleep before disconnecting VB, then re-connect VB, the circuit powers up asleep. If we turn on, disconnect, and reconnect, power-up fails. If we wait one minute before re-connecting, power-up fails. If we short VB to 0V before re-connecting, the circuit powers up asleep.
Our antenna and battery connector extension breaks off. We load a battery. Our tab arrangement is easy to solder to and the tabs welding proceeds without difficulty. We reprogram to use X4 instead of X1 so that the red and blue leads can be near one another. We attach leads as shown below. We are using X4− as the low-impedance ground. Clip the programming extension and measure frequency response, dynamic range, and observe saturation of the inputs, as we report in Analog Inputs.
We measure noise in the thermometer signel 5 cnt rms, which is around 25 mK rms. Absolute value of the sample corresponds to 26.7°C. Our alcohol thermometers say the temperature here is 25.5°C. The main source of error we expect in our temperature measurement is the value of VC, which we assume is 1.80 V. We measure VC to be 1.803 V. Accounting for this slight increase in VC, our measurement drops to 26.4°C.
Apply 20 mVpp 10 Hz sine wave through 100 kΩ to X2 and X3. Connect X3+ and GND to 0 V. We see 18 mVpp on X2 and 17 mVpp on X3. Now connect both X2 and both X3 terminals to the 20 mVpp signal. We see 0.23 mV on X2 and 0.22 mV on X3. Our common mode rejection ratio for 10 Hz is 77, or 38 dB. Make plot of CMRR versus frequency, see here.
[25-JAN-23] We have our first encapsulated A3047A1A-A. We place in hot water with four 1000-Ω ±0.3°C epoxy-encapsulated RTDs connected to an Resistive Sensor Head (A3053A). We use Acquisifier script Temp_Calib.tcl to read out the RTDs and the SCT, and to convert the SCT temperature measurement into centigrade with interpolation table "41767 -10 39910 0 38044 10 36168 20 34285 30 32393 40 30492 50 28583 60". We place the SCT and all four RTDs in hot water. We record temperature every ten seconds.
We stir the water at time 1 minute, 31 minutes, and every five minutes or so afterwards. Each jump up in the RTD temperature is the result of stirring. The plot above shows the difference between the SCT thermometer and two of the RTDs. We repeat, but this time with room temperature water. We plot the four RTD sensors and the SCT sensor. We place an alcohol thermometer in the same beaker.
At time 20 min our alcohol thermometer measures 23.0°C, the RTDs show 23.49°C, 23.60°C, 23.46°C, and 23.42°C, and the SCT says 24.24°C. The SCT uses the LMT70 temperature sensor, which the manufacturer claims is usually accurate to ±0.05°C at room temperature. We digitize its output with an ADC that uses VC as its reference voltage. We measure VC to be 1.803 V, and we used this value in our calculation of temperature. The voltage VC is generated by the NCP170, and will lie in the range 1.800±0.018 V at 25°C. If we do not measure VC, but instead assume it is 1.800 V, the ±18 mV uncertainty translates into a 1.8°C uncertainty in temperature. If we measure VC with accuracy ±2 mV, our uncertainty at 25°C drops to 0.18°C. The NCP170 output varies with temperature as shown below.
A single-point calibration of the sensor at 37°C with precision 0.1°C will guarantee ±0.1°C from 32-42°C, and we will obtain precision of ±0.01°C. Measure mass of our encapsulated A3047A to be 6.8 g.
[30-JAN-23] We put ice in a beaker of water. We record from our four RTDs and our A3047A1A.
We place a block of ice in the bottom of a coffee mug. We place the A3047A on top of the block, along with our four RTDs. We place another block of ice on top, cover with water, stuff bubble wrap into the mug as insulation and stopper, wrap mug in three layers of bubble wrap and secure with tape. We record and shake a few times.
We remove insulation and stir our transmitter in ice water vigorously. We watch its measurement drop to 2.3°C but no lower. We stir with RTDs in ice water the move to warm water to look at response time.
The A3047 includes an auto-calibration of its thermometer ADC at power-up. We have our A3047A1A up against the glass of our beaker, immersed in warm water. We record temperature every ten seconds, turning off and on the sensor between measurements.
The water is cooling. We fit a straight line to the above measurements. The standard deviation of the residual is 0.008°C. We obtain the radio-frequency spectrum of our A3047A1A output in cold water (4°C) and in warm water (30°C). We see peak at 921 MHz and 916 MHz respectively, suggesting a slope of −0.2 MHz/K, similar to the −0.24 MHz/K suggested by the MAX2623 data sheet.
[06-FEB-23] We have two more A3047A1A encapsulated. We measure frequency response of our three encapsulated circuits, see A222_65. We place the transmitters in water and record temperature. We look at the average value of the signals in water.
Our ideal average value is mid-way up the plot. Our actual average values are lower, on account of the battery voltage being 3.24 V rather than 2.7 V.
After thirty minutes, we have the following plot of the three sensors cooling in water.
We have a "Perfect Prime 100-Ω RTD" digital thermometer, which is supposed to be accurate to ±0.3°C. We place its probe in our water. Our sensors measure 26.3°C, 25.0°C, and 26.1°C, while the RTD measures 25.2°C. We place four digital body-temperature thermometers, our 100-Ω RTD, our four 100-Ω RTDs, and our three A3047A1As in the same beaker of warm water and stir.
The four body temperature thermometers and the 100-Ω RTD all agree that the water is at 36.2°C. Our 1000-Ω RTDs are within 0.2°C of 26.2°C. The A3047A1As are off by up to 0.8°C.
[13-FEB-23] In the A3040, another four-channel transmitter, we discover feedthrough crosstalk between one channel and the next. This crosstalk does not occur in the A3047 because we select our channel long enough before ADC conversion.
[14-FEB-23] We have fifty new A3047BV1 circuit boards back from Advanced Assembly. We program and test three. All are perfect. We apply 30 mVpp 18 Hz to X3. We see amplitude 24 kcnt on X3. In the spectrum of X1 we see a peak of 18 cnt at 18 Hz, and on X2 a peak of 10 cnt at 18 Hz. Crosstalk appears to be less than −60 dB.
[30-MAR-23] Our first A3047A has been running continuously since the end of January, roughly sixty days. Still running well. Expected lifetime is 76 days.
[06-APR-23] We have an unencapsulated A3047A1A No69 with no leads. We place it in a Faraday enclosure. We see noise 13, 8, 8, and 6 cnt rms on CH0-CH3 respectively. Note that CH3 is the thermometer channel. In the spectrum of CH0 we see a peak at 64 Hz of 40 cnt, and further peaks at 128 and 192 Hz. These peaks are what create the total noise of 13 cnt rms in CH0. Our CH1 and CH3 do not have sufficient bandwidth to see 64 Hz, but CH2 sees a peaks at 128 Hz and 192 Hz. We remove R1 = 1.0 kΩ and replace with 0 Ω, so as to connect the amplifier and radio-frequency power supplies. Now the peaks at 64, 128, and 192 Hz are twice as large. We turn on our encapsulated A3047A1A and put it in water in our enclosure. We still see the 40-cnt peak at 64 Hz in CH0.
Our transmitter logic is a state machine with sixteen states running off a 1024-Hz clock. In all but one of the states, the SCT transmits a sample. Each time the SCT transmit a sample, the radio-frequency power supply drops by a few tens of millivolts and then recovers over the ensuing millisecond. Sixty-four times a second, however, the state maching enters a new state but does not transmit a sample. The power supply rises slightly more than usual, and it is this irregularity in the power supply voltage that introduces noise at 64 Hz into our amplifiers.
We re-program No69 so that it transmits CH3 at 128 SPS. We still have R1 = 0 Ω. We now have noise 14, 14, 12, and 6 cnt rms (11 uV, 6 μV, 10 μV, 30 mK). Despite eliminating the R1-C6 low-pass filter, we see no switching noise, even in a 32-s interval. Current consumption 139 μA. We go back to CH3 64 SPS and current is 130 μA. We change the CH3 sample rate of the A3047A1A to 128 SPS and drop guaranteed operating life from 76 days to 72 days.
[24-MAY-23] Our first A3047A1A has stopped running. It has been running most of the time since the end of January, which is consistent with a minimum operating life of 76 days.
[28-JUN-23] See here for description of noise-induced oscillation in the Y-amplifier of the A3049AV2, which leads to a DC offset in the amplifier output. The Y-amplifier is identical in form to that the four amplifiers on the A3047BV1. We can fix the problem by dropping resistors R104, R204, R304, and R404 from 10 MΩ to 100 kΩ. Any channel Xn that uses its own reference rather than VC must then have Rn02 dropped to 100 kΩ as well, so that the amplifier presents a symmetric 200-kΩ differential input impedance and 50-kΩ common-mode impedance to the Xn signal.
[13-JUL-23] We examine recordings from two A3047A1A implanted in rats. The EEG (X4) and EGG inputs (X3) inputs are DC-coupled with dynamic range 60 mV and 30 mV respectively. Some of them are saturating some of the time. The ECG (X2) input never saturates.
We propose to increase the dynamic range of the EEG and EGG inputs to 120 mVpp. We replace the all four MAX4464 with OPA369 to reduce offset voltage. We reduce the gain of X3 and X4. We remove the amplifier offset resistors (Rn11). We replace the 10-MΩ on the AC-coupled ECG input with 1 MΩ, following our discovery with the A3049 that the negative side of an AC-coupled differential input must be terminated with 1 MΩ or less to avoid an offset (see here). We drop R404 to 100 kΩ for the same reason: we won't be using the X4− input, but rather we will use GND. To increase the dynamic range of X3 from 30 mV to 120 mV we increase R308 and R307 from 50 kΩ to 200 kΩ. To increase the dynamic range of X4 from 60 mV to 120 mV we increase R408 and R407 from 50 kΩ to 100 kΩ.
We have trouble getting our A3047AV1 to power up correctly, a problem we studied previously. At one point we are unable to power up the circuit correctly with a magnet or battery. We replace R1 with 100 Ω and now the circuit always powers up correctly. Having completed all the above modifications, the result is our first A3047BV2. We program with FV=2, which enables all four inputs with 512 SPS and disables the thermometer. The outputs of the four channels are within ±500 cnt. Noise is 16 cnt rms for all channels. We re-program with FV=1 and create our first A3047A1B.
[19-JUL-23] Firmware P3047A02 now provides uniform sampling, which eliminates scatter noise. With the introduction of uniform sampling, the 4 × 512 SPS version current consumption increases from 245 μA to 248 μA, making the cost 3 μA, or 1.2%, or 0.0015 μA/SPS. With our previous LT1865L converter, the cost was 5%.
[11-AUG-23] We have four A3047BV2 made by modifying A3047BV1. Two work first time. One works after wash and dry. One has displaced logic chip and cannot be programmed. We take pictures of sweep and step response.
[11-SEP-23] From recordings made at AMU in May with A3047A1As, we obtain these typical ECG waveforms.
To obtain this recording, our collaborators at AMU cut the two ECG leads to the correct length, stretched the final 10 mm of the wire and insulation, then cut around the insulation 5 mm from the tip. The insulation pulls away from a 1-mm length of wire. They cover the tip with a silicone cap, which they hold in place with a 0/5 silk suture by squeezing the tip onto the lead. We resolve to find a supplier for such caps.
During surgery, they tie the exposed wire to the thoracic muscle with 0/5 sutures. One wire on one side of the heart, the other diagonally opposite.
[25-SEP-23] We have a batch of 7 of A3047A1B-A encapsulated. We turn them all on and put them in warm saline. All voltage signals lie within ±1000 counts. Temperature signals all within a ±20 cnt, which is ±0.1°C. We leave them running overnight. We want to see how their DC offsets vary with time.
[26-SEP-23] Our overnight recording shows all signals stable with the exception of the second hour in which one device shows rumble and then a step in two of its inputs. We note that we put the transmitters in warm saline, which subsequently cooled to room temperature.
Following the rumble we see a sudden full-scale step in the same two inputs, going in opposite directions. No other such events occur. All signals within ±1 mV at all other times.
We now notice that all EEG inputs, which are those with DC-160 Hz bandwidth and dynamic range 120 mV, have 128-Hz noise of amplitude roughly 40 cnt. The entire batch fails QC2.
[27-SEP-23] We take an unencapsulated A3047BV1 and connect 1 Hz, 20 mV to X2 and X3 and look at X4, which is our EEG input. We 125 μV rms noise on X4, shown below. If we turn off sampling with the temperature sensor ADC, and instead sample X3 when we would take temperature samples, the noise disappears. We call the noise "ADC" Noise.
Even if we sample the temperature sensor only once per sixteen sample periods, rather than the usual eight, we get the same noise.
[28-SEP-23] We have two A3047BV1 programmed as A3047A1A. When we load 10 Ω or 0 Ω for R2, the ADC interference drops by a factor of two. We load 0 Ω for R1 and R2 on No0001 and 10 Ω for R1 and R2 on No0004. We apply 20 mVpp to each of X2, X3, and X4 and confirm that input dynamic range is 60 mV, 30 mV, and 60 mV respectively. We connect VC to X− and connect to 0V of our signal source. With 20 mVpp 1 Hz on X2 and X3, we see 50 μV interference on No0001 and 100 μV with No0004. With 20 mVpp on X4 of No0001 we see 80 μV on X2 and 40 μV rms on X3, while for No0004 we see 25 μV and 12 μV.
With 1 mVpp on X2 and X3, we still see the same 100 μV on X4 as with 20 mVpp on X2 and X3. The noise appears when the signal exceeds VC. We return to 20 mVpp and offset the input signal downwards. We see the noise appearing when the the X3 amplifier output rises above VA/2. That is, when the most significant bit of the the U5 readout it HI, we have a problem. We reduce the number of SCK falling edges we deliver to U7 during readout from 24 to 28. Our ADC noise problem vanishes. The correct number of edges for readout only is 18. The 24 edges provoke an autocalibration on power-up. We had concluded from an examination of the ADS7052 data sheet that 24 edges would have no effect at any time other than power-up, but this proves to be incorrect. We introduce a power-up calibration flag into the logic, by using the SET function for a logic pin output. When CAL is set, we deliver 24 edges to provoke calibration, and after clear CAL so we deliver only 18 edges on subsequent readouts.
Here we see a thermometer readout and transmission, followed by the CAL flag being cleared. When we apply 20 mVpp to X2 and X3 we see 45 μV noise on X4 with No0001 and 30 μV on No0004. We restore R2 to 1 kΩ on both boards. Total noise on X4 with 20 mVpp on X2 and X3 is now 25 μV for both No0001 and No0004. We now have P3047A03.
[11-OCT-23] We have two A3047A1B poaching. After five days, all three analog inputs on one device start to drift out of range and jump. A few days later, this device stops transmitting. We dissect and diagnose a corroded capacitor. The other device is performing well.
[02-OCT-23] A3047A1B number A1B235.37 failed yesterday after running for 64 days in water at 60°C, showing no degradation of its amplifiers until the battery neared exhaustion at 62 days. We place another A1B-A in 50 ml of 1% saline and see reception from the transmitter drop dramatically. We cannot obtain reception from our 4-antenna TCB setup in a Faraday enclosure. Consulting our work on reception in and out of saline, we see that dramatic changes in output power are a characteristic of the RF output when we have no antenna protection network, as is the case for the current A3047 circuit. We must update to add the 15pF-100Ω-15pF protection network.
[19-JUN-24] Increase nominal battery voltage from 2.7 V to 3.0 V. At 37°C, the CR2450 and CR2330 batteries produce 3.0 V for the first half of their life, dropping to 2.8 V at 90% of their life.
[01-JUL-24] We estimate the mass of an A3047 equipped with a CR2016 battery. With the CR2450, the device is 6.7 g, of which the battery is 3.8 g and the circuit itself is 0.9 g. The CR2016 weighs 1.8 g, so the maximum mass of the CR2016 device would be 4.7 g. The CR1620 is 1.3 g, so maximum mass would be 4.2 g. With the CR1620 we would need less epoxy to encapsulate the smaller battery, so we might get the mass down to 3.5 g, but that would be the absolute minimum. Compare to the A3049H, our largest mouse transmitter, at 2.9 g.
[13-AUG-24] We modify 11 of A3047BV2 to make circuits for A3047A3D. We deploy 8.2-nF 1% capacitors for X3 and 1.8-nF 1% capacitors for X1.
[11-SEP-24] Our A3047A3D provides four analog inputs and one temperature measurement. Input X1 is under-sampled 2-80 Hz, 60 mV, 128 SPS for EMG. Input X2 is 2-80 Hz, 30 mV, 256 SPS for ECG. Input X3 is 0.0-20 Hz, 64 SPS, 120 mV for EGG. Input X4 is 0.0-160 Hz, 120 mV, 512 SPS for EEG. The fifth channel is temperature 64 SPS. We perform modifications required on 11 circuits. We check frequency response, gain, and step response. Noise without encapsulation, placed in Faraday enclosure is 20 cnt rms on X1-X4, 15 cnt rms on T. We draft new schematic for the A3D version, including simplifying resistor values so that we can use three of the same capacitor in each amplifier, see S3047A3D.
[02-OCT-24] Define the A3047BV3, which provides four single-ended amplifiers sharing a common GND connection. Each amplifier provides gain ×25 and bandwidth 0.0-80 Hz. We use 1% 1.8 nF capacitors to obtain uniform frequency response. Dynamic range is 120 mV. We omit the unused opamps that provide differential inverting inputs. We omit the thermometer and its converter. Nominal battery life is 72 days, but with 6 μA drop from omitting the thermometer, and 265 mAhr Panasonic version of the CR2330, we may get 75 days. The future CV1 version will include the inverting input op-amps for X1-X3, but eliminate entirely the inverting input for X4, on the grounds that X4 always uses GND as its reference. The CV1 includes the temperature sensor and fourteen-bit converter, but will be configured with 100 kΩ resistors grounding the inverting inputs X1-X3 so that they are single-ended by default, sharing GND. We convert to differential by increasing Rn04 to 10 MΩ and using the X− pad. We convert to AC-coupled differential by replacing Rn01 and Rn05 with 100 nF.
[07-OCT-24] Of eleven A3047A3D-C, ten pass QC2. One failed QC1 with glitches in its X1 signal, then failed QC2 with similar glitches and unexplained DC offsets. We set this one aside to poach. We checked it two days later and found its battery nearly drained, glitches continue on X1, with offset near bottom of range, and X2-X4 with offsets near top of range. The next day, the transmitter is no longer transmitting. We dissect and find a short that draws 6-10 mA at VB=3.0V as we squeeze the transmitter. Current steady at 10 mA after heating and raising voltage to 4.2 V and back to 3.0 V. This circuit failed from manufacturing defect, not from corrosion. It drained its battery in a couple of days with its short. We have no extras in this batch with which to perform a poach test, but we have six others from preceeding and succeeding batches, and all of those are doing well.
[08-OCT-24] We have 20 of A3047BV3 shipping in two weeks from one of our assembly houses. These are intended for direct manufacture of the A3047A2C. We complete first draft of A304701B layout, in which we remove U402 and all Rx11, connect 0V pad to 0V, update capacitor values, add antenna protection network, switch 16-But ADC version, and update resistor values to match the A3047CV1 schematic.
[09-OCT-24] Ten A3047A3D-C, octopus transmitters, look perfect, ready to ship. Average zero-voltage signal values range from 36k to 39k counts, which is consistent with battery voltages ranging from 3.1 V to 3.25 V.
[18-OCT-24] We have 20 of A3047BV3 from AAPCB. We program with Version 3, 512 SPS on all four channels, no temperature. Active current 240 μA. Inactive 0.8 μA. These are equipped with the ADS8866, which powers up correctly even when power supplies rise slowly, as well as 1-μF capacitors instead of 10-μF where the larger capacitors would increase the turn-on current rush.
All channels have the same 0.0-80 Hz frequency response. The actual corner frequency is closer to 90 Hz, but gain is still down by 20 dB by the time we get to 128 Hz. Offsets between the channels are now negligible, thanks to our exclusive use of the OPA369. Input noise in our Faraday enclosure is around 5 counts rms, or 9 μV rms.
Response of the BV3 to a 200-μVpp, 2-Hz sinusoid reveals quantization steps of around 16 counts, as if we have loaded a 12-bit ADC instead of a 16-bit. But when we look at the response of a BV2 to the same input, we see so much noise on the signal that we cannot see the steps.
There are two differences between the BV2 and BV3 that may be responsible for the dramatically reduced noise in the BV3. Ond difference is the use of the ADS8866 in the BV3, a slower and less expensive version of the ADS8860. The other is 1-μV capacitors on VD and VL, and 1.8 nF on VA. (See here for related observations.)
[21-OCT-24] We compare an A3047BV2 and A3047BV3 with same firmware, a 1-Hz, 1-mVpp triangle wave as input to X3 and X4 on both. Each running with 512 SPS on all channels, and dynamic range 120 mV on X3 and X4.
We program twelve A3047BV3 as A3047A2C, four channels 0-80 Hz, 256 SPS. We record gain versus frequency for all channels and plot.
[11-NOV-24] We have twelve A3047A2C-B encapsulated. Frequency response is uniform, cut-off is sharp at 90 Hz, as shown above. Noise is 8 μV rms, despite the gain of the amplifier being only ×25, which we usually associate with higher noise, see the A3040D3Z noise measurements.
[25-NOV-24] Receive 100 of A304701B printed circuit boards, which provide the S3047C circuit. We incorporate XCK and linear shift register into the P3047 firmware, producing version A06. We obtain the following response to a 100-μVpp sinusoid in the BV3's 120-mV dynamic range.
In principle, each 16-bit ADC count should be 1.8 μV. Here, the smallest steps we see are around 13 μV. Our effective resolution is closer to thirteen bits.
[29-NOV-24] We remove CK from P3047A06 test point outputs, replacing with ECK, make TP3 only CAL. We look at ADC steps using 300-μVpp sweep. Release A06 firmware for production.
[20-DEC-24] Update S3047CV1 and draft S3047CV2.