FCDEV3B V2 boards are here

Mychaela Falconia mychaela.falconia at gmail.com
Tue Jan 15 01:52:41 UTC 2019

Hello FC community,

It looks like our new FCDEV3B V2 boards need a little bit of rework
before being sent out to project supporters.  It appears that the
resistors controlling the gain of the loudspeaker amplifier have been
populated incorrectly, causing the loudspeaker output to have a lower
amplitude than it should.  I got a hold of my contact at Technotronix
and scheduled an appointment for this Thursday to look into this issue,
and I am hoping that we'll be able to replace the resistors and fix
the issue on all of the boards that day.

Background: being a development board, our FCDEV3B is designed to be
used on a lab bench, or perhaps for demonstrations at group gatherings
and conferences.  If I am exercising voice calls in my lab or in a
public demo setting, I want the voice downlink to go to a loudspeaker,
not an earpiece or headphones, and I want it to be as loud as possible,
so it can be heard comfortably as the speaker sits somewhere on the
ESD mat next to the board, without me having to hold it up to my ear
like a non-loudspeaker phone.  This loudspeaker setup is also great
for exercising ringtone generation capabilities of TI's DSP in the
Calypso.  But TI's Iota ABB (the analog part of our baseband chipset)
cannot drive a hands-free loudspeaker directly, instead it requires an
external amplifier if such a hands-free loudspeaker is desired, hence
our FCDEV3B includes that external loudspeaker amplifier circuit
copied from TI's Leonardo schematics.

The gain of this board-level amplifier is controlled by two pairs of
resistors: there is one pair of matched resistors for the input (Ri)
and another matched resistor pair for the feedback path (Rf), and the
Rf/Ri ratio sets the gain of the amplifier.  My current board
population instructions call for Ri = 10 kOhm and Rf = 18 kOhm,
putting the gain at 1.8.  These gain control resistor values have been
arrived at empirically during the course of our board bring-up since
2017.  The boards in our first batch (serial numbers 001 through 008)
had both Ri and Rf populated with 10 kOhm (unity gain), but the speaker
output was too quiet, so I looked into it deeper.  The maximum Vpp
swing on the output of our speaker amplifier is limited by the power
supply voltage (each of the two differential legs can only swing
between GND and VBAT), and for us this power supply voltage is not
strictly defined: the chipset is designed to run on a Li-ion battery
that starts out at 4.2 V and runs down until the shut-off threshold,
and there are different low voltage shut-off thresholds for different

As usual, engineering is all about trade-offs and compromises, so I
decided to optimize our loudspeaker amplifier gain setting for a 3.6 V
power supply.  When the amplifier gain is set to 1.8 with my choice of
resistor values, the maximum swing of *each leg* of the differential
output is right around 3.6 V - this maximum swing is produced when the
digital voice output from the Calypso is at full scale and the analog
volume control in the ABB is set to 0 dB (maximum volume setting of no
attenuation), thus if the power supply voltage is greater than 3.6 V
(e.g., a fully charged Li-ion battery at 4.2 V), there still won't be
any more than 3.6 V of output swing per leg.  On the other hand, if
the power supply voltage is lower than 3.6 V (the VRPC block in the
Iota ABB allows switch-on at as low as 3.2 V), then you won't be able
to drive the loudspeaker at full volume - if you try, it will clip the
output waveform as each output leg hits the voltage ceiling.

When we assembled our second batch of FCDEV3B V1 boards (serial numbers
009 through 016) in the summer of 2017, I changed the feedback resistors
from 10 kOhm to 18 kOhm, producing the just-described 1.8 gain setting,
and when I used a good speaker, the sound came out loud and clear.
When I ordered the assembly of our current batch of FCDEV3B V2 boards,
I asked for the same resistor values (Ri = 10 kOhm, Rf = 18 kOhm), but
it looks like someone messed it up.  I first noticed that something
didn't seem right when my test speaker sounded quieter than I remembered
it being, but of course my ears and my wetware memory are not a
reliable indicator - so this morning I dusted off my oscilloscope for
a more objective check.  And sure enough, the Vpp swing on the speaker
output header on the new boards is way low.  The low Vpp swing I see
on the o'scope is consistent with the two resistor values being
swapped, so perhaps that is the population error - but in any case, I
am taking the entire batch of boards back to Technotronix this
Thursday, we will remove the resistors from one board and measure them
to see what's going on, and hopefully fix all of the boards that same

Hasta la Victoria, Siempre,
Mychaela aka The Mother

More information about the Community mailing list