Skip to content

v0.4 Scratchpad

Parkview785 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

Audio Input

We want >= 4 microphones for the next iteration. One microphone facing in, 3 facing out in a phased array.

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.2V 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)
  • do we need on-board storage? Common SPI based storage is kind of large SOP-8-ish.
  • do we need environmental sensing? Board/air temperature, pressure, humidity sensors are small, but costly
  • do we need proximity sensing/sleep mode YET?
Clone this wiki locally