Skip to content

v0.4 Scratchpad

cayden edited this page Sep 12, 2022 · 24 revisions

Internal document for planning the next iteration of the glasses and PCB for version 0.4

v0.3 bugs

  • connect 3.3VA to 3.3V
  • change TP4056 to correct package, or replace it
  • work with mechanical for better mounting holes
  • fix silk screen so all is printed
  • boards sometimes need 5V jumpstart to run off of 3.7V battery

Audio Input

We want >= 3 microphones for the next iteration. One microphone facing in, 2+ facing out (phased array style)

One option is to use the built in I2S interface on the ESP32 and use all I2S microphones. Note that we can't do 4 PDM mics as PDM only works on one I2S channel. Using 3 GPIO pins per i2S channel will use 6 GPIO for both channels. An issue with this is if we need to use a single channel of I2S for a speaker, then we become limited to only 3 microphones.

Another option is to add an external I2S Mux IC, such as:

i2S Microphones

IMU

We want IMU for head position, movement, activity tracking, posture, etc.

6-DoF sensor: LSM6DSL: https://lcsc.com/product-detail/Attitude-Sensor-Gyroscope_STMicroelectronics-LSM6DSLTR_C126672.html
3DOF Sensor: LIS2DH12TR: https://lcsc.com/product-detail/Attitude-Sensor-Gyroscope_STMicroelectronics-LIS2DH12TR_C110926.html

Battery management

We need a more efficient power solution that works from ~4.3V down to ~2.7V to use the full range of our LiPoly batteries. We also need a discharge and charging solution that balances the batteries for safety and longevity. We also want a coloumb counter so we can always know the current charge state of the device.

HMI (audio, visual)

v0.3 has no user-input/computer-output modalities. We need to be able to give live information to the user. We want a display and speaker to do so. We will be adding a speaker to this design. Due to resource constraints, we can't yet add a display, but we can add RGB LED indicators to the inside of the glasses from (such that only the user can see them).

Speakers
Finding small speakers is not easy.  Common cheap ones seem to be 15mm x 11mm for rectangular ones, and 13mm round seems common, but I have seen down to 10mm round all on AliExpress.  
Speakers will need to be physically isolated from the microphones, otherwise board vibrations will induce into the microphones.
Smallest on Mouser:  https://au.mouser.com/c/electromechanical/audio-devices/speakers-transducers/?length=12%20mm&mounting%20style=Board%20Mount&product=Speakers&shape=Rectangle~~Rectangular&termination%20style=SMD%2FSMT&rp=electromechanical%2Faudio-devices%2Fspeakers-transducers%7C~Shape
12mm x 6mm x 2mm
10mm on Digikey:  https://www.digikey.com.au/en/products/detail/cui-devices/CDM-10008/2791823
Microspeakers
i2S Audio Amplifiers

Environmental sensing (maybe)

We are considering adding environmental sensors, like UV sensors, to the v0.4 board to help users sense exposure to various environmental conditions:

UV Light sensors research:

Ambient Light Sensor

these are small and can be i2C based (zero GPIO), or phototransistor (uses one GPIO). Will need to investigate code library status, or write our own if they are not available.

Phototransistor:
i2C Ambient Light Sensors:

Proximity sensor

We wish to put the device in low power mode when it's not being worn. To do so, we need a proximity sensor (or related) to tell when the glasses are off the user's head. Note: might be able to do proximity sensing via IMU sensor, ie: no movement, then the glasses must be not on a user

  • this ambient light sensor claims to detect down to 20mm (says nm, so presume its a typo) C492375 LTR-553ALS-01 SMD Ambient Light and Distance Sensors i2C ROHS

Battery Balancing IC's:

Note: both IC's below seem to be more designed for dual 18650 batteries.

Questions to answer

  • do we need RTC? (C404360 PCF85063ATL/1,118 DFN-10 Real-time Clocks (RTC) ROHS is small) - no
  • do we need on-board storage? Common SPI based storage is kind of large SOP-8-ish. - not yet, glasses stream full time for now
  • do we need environmental sensing? Board/air temperature, pressure, humidity sensors are small, but costly - board temperature would be very good as the board gets hot and we need to solve that issue
  • do we need proximity sensing/sleep mode YET? - no

Paul's Suggestions for V0.4:

  • fix previous V0.3 PCB bugs
  • having 2 batteries are in series makes it easy to use a LDO to get 5V for LEDs and and then 3.3V for MCU + circuitry, the BQ25887 is a 4mm2 24pin 2S charger with built in balancer! But no stock. 14K due into Digikey in Oct 2022. Best not to rely in this, as nice as it is.
  • MP2615C a 1S or 2S battery charger IC 3mm2, no balancer
  • having 2 batteries in parallel would mean a boost IC to 5V, then a 3.3V LDO. Battery protection could be the same as we use on V0.3 and could use a small SOT23-6 battery charger IC, or an external charging board to save weight and space and heat. It's best if both batteries need to be the same and matches internal resistance, or at least purchased from the same company.
  • Another option is to make up and use an external charger PCB that is only plugged in to charge up the 2S or 2P battery pack as needed.
  • no BMS - Battery Management System unless someone can find a very small simple design
  • power on/off switch is needed to isolate battery from circuit when not in use
  • SN74LVC1T45DRLR 3.3V to 5V data level translator for RGB LEDs
  • 4 (or more), WS2812B-2020 RGB LEDs, with one onboard, mounted on other side of PCB. 3 (or more), to be located on external PCB's - possible the microphone PCB?
  • i2C RTC circuitry is small if we need good reliable datetime. Can be fed from battery even if it's switch off (by passing switch+MOSFET)
  • i2C based TI fuel gauge IC's are very small and handy with showing battery charge state
  • the i2C LIS2DH12 3-DoF IMU sensor is very small and cheap, so could easily be incorporated if needed
  • i2C LTR-553ALS-01 ambient light sensor + proximity sensor is very small add could be added on
  • i2S MAX98357 audio amplifier is very small, but the smallest speaker is 10mm to 13mm in size. Do we want to try this?
  • three i2S microphones: Note: both SPH0645 and ICS-43434 are pin for pin compatible, however the ICS-4342 isn't! A i2S microphone work with MAX98357 with shared i2S (WS+SCK+LR) pins using separate data in/out pins. I presume one microphone will replace the existing PDM microphone and the other two will be on the other i2S channel and will be remotely connected via 6 handsoldered daisy chained thin wires

USD prices and stock from: 2022-09-12

DigiKey:

  • ICS-43434 $3.98 548K stk (bit lower power usage than the ICS-43432)
  • ICS-43432 $3.73 210K stk
  • SPH0645 $4.05 334K stk

Mouser:

  • ICS-43434 $2.56 4.2K stk (bit lower power usage than the ICS-43432)
  • ICS-43432 $2.42 30K stk
  • SPH0645 $2.64 42K stk

INMP441 is obsolete

no pure i2S MEMS Microphones found on LSCS, only a few PDM microphones and lots of analoge microphones