-
Notifications
You must be signed in to change notification settings - Fork 54
v0.4 Scratchpad
- 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
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:
- AC108 CODEC IC's (hard to source?): Project site: https://wiki.voicen.io/hardware/#specifications Hardware schematic: https://github.com/voice-engine/hardware/blob/master/VOICEN-Linear-4-Mic-Array/VOICEN-Linear-4-Mic-Array.pdf
- PDM to PCM over i2S converter IC: https://datasheet.octopart.com/ADAU7002ACBZ-RL-Analog-Devices-datasheet-14216107.pdf
- ICS-52000, daisy chainable PDM microphone: https://product.tdk.com/system/files/dam/doc/product/sw_piezo/mic/mems-mic/data_sheet/ds-000121-ics-52000-v1.3.pdf *** cayden - DOESN'T WORK ON ESP32, already tried this
- SPH0645LM4H-B true i2S microphone: https://www.mouser.com/datasheet/2/218/Knowles_corporation_sph0645lm4h_1_datasheet-2308959.pdf
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
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.
- MP2615C a 1S or 2S battery charger IC 3mm2
- BQ25887 is a 4mm2 24pin 2S charger with built in balancer!
- Li battery charger + 5V boost DC-DC converter IC: https://datasheet.lcsc.com/lcsc/1809201029_INJOINIC-IP5306_C181692.pdf
- BQ24715RGRR 2S/3S C276341 VQFN-20 Battery Management ICs ROHS needs a lot of support MOSFETs though, which take up space
- BQ24075TRGTR simple 1S battery charger - 3mm2: https://lcsc.com/product-detail/Battery-Management-ICs_Texas-Instruments-BQ24075TRGTR_C544783.html
- 1-2 cells battery fuel gauge in series: bq28z610 8K stk on LCSC A$6.95/ea: https://www.ti.com/lit/ds/symlink/bq28z610.pdf
- MAX17048 1S battery fuel gauge: https://datasheets.maximintegrated.com/en/ds/MAX17048-MAX17049.pdf
- MAX17049 2S battery fuel gauge: https://datasheets.maximintegrated.com/en/ds/MAX17048-MAX17049.pdf
- add a power switch, either toggling EN pin on the LDO, or switching a P-MOSFET
- simple battery protection IC: https://datasheet.lcsc.com/lcsc/2108150030_ALLPOWER-ShenZhen-Quan-Li-Semiconductor-AP6683_C2849565.pdf
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).
- 2mmx2mm RGB LEDs: https://lcsc.com/product-detail/Light-Emitting-Diodes-LED_Worldsemi-WS2812B-2020_C965555.html
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
- MAX98357 i2S audio amplifier : https://datasheet.lcsc.com/lcsc/2201242100_Maxim-Integrated-MAX98357AETE-T_C910544.pdf
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:
- SI1133 - https://lcsc.com/product-detail/Ambient-Light-Sensors_SILICON-LABS-SI1133-AA00-GMR_C965911.html A$17.94ea - 46 stk (2022-08-19)
- SI1145-M01-GMR - XON A$11.33 Sunlight/UV approx & proximity sensor 1cm-50cm: https://xonstorage.blob.core.windows.net/pdf/siliconlabs_si1146a10gmr_apr22_xonlink.pdf
- VEML6075 - UV Light sensor - 0 stock Mouser/XON/LCSC
- LTR390 - UV Light sensor 0 stock Mouser/XON/LCSC
- UVIS25 - STM UVA/UVB sensor. 0 stock, Mouser/XON/LCSC
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.
- TEMT6200FX01: https://datasheet.lcsc.com/lcsc/1804162240_Vishay-Intertech-TEMT6200FX01_C143695.pdf
- ALS-PT19-315C: https://datasheet.lcsc.com/lcsc/1806131537_Everlight-Elec-ALS-PT19-315C-L177-TR8_C146233.pdf
- LTR-303ALS-01 Ambient light sensor A$0.68ea: https://datasheet.lcsc.com/lcsc/1912111437_Lite-On-LTR-303ALS-01_C364577.pdf
- BH1750FVI-TR Ambient Light Sensor A$1.45: https://datasheet.lcsc.com/lcsc/1811081611_ROHM-Semicon-BH1750FVI-TR_C78960.pdf
- BH1721FVC-TR Ambient Light sensor A$1.38ea: https://datasheet.lcsc.com/lcsc/1809172039_ROHM-Semicon-BH1721FVC-TR_C184130.pdf
- LTR-553ALS-01 Ambient light and simple distance sensor: https://www.mouser.com/datasheet/2/239/lite-on_lite-s-a0002514946-1-1749808.pdf
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
Note: both IC's below seem to be more designed for dual 18650 batteries.
- bq29209 https://www.ti.com/lit/ds/symlink/bq29200.pdf - https://www.mouser.com/c/?q=BQ29209
- ETA3000 https://www.elstore.it/wp-content/uploads/prodattach/ETA3000.pdf use to be on LCSC, but not there now
- 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
- 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