The EyeLights LED Glasses Driver and EyeLights LED Glasses are packed full of features! Here are the details.
The PDF of the diagram above is available here.
- The blue and silver module located on the end of the board, opposite the USB connector, is the nRF52840. It is an ARM Cortex M4F (with HW floating point acceleration) running at 64MHz, with 1MB flash and 256KB SRAM. It has a Bluetooth Low Energy compatible 2.4GHz radio, and is an FCC / IC / TELEC certified module with up to +8dBm output power.
- The grey rectangle on the bottom of the board to the left of the nRF module is the 2MB external QSPI flash for CircuitPython file storage.
QSPI is neat because it allows you to have 4 data in/out lines instead of just SPI's single line in and single line out. This means that QSPI is at least 4 times faster. But in reality is at least 10x faster because you can clock the QSPI peripheral much faster than a plain SPI peripheral.
- Along the bottom edge of the board towards the left end is the USB Type C connector. It is used for power and sending data to the board.
- To the right of the USB connector is a battery JST connector labeled BAT on the board. It is recommended to use the batteries Adafruit sells because the proper polarity is verified. Polarity cannot be guaranteed with other batteries.
- On the top of the board, in the middle is an On / Off switch, labeled On and Off on the board. This controls power to the board.
- On the back of the board is a jumper labeled Optional Lipo Charge. Some folks will prefer to use AAA battery packs. If you'd like to enable LiPo charging, short the jumper on the back and then make sure to only use 4.2V/3.7V rechargeable batteries in the battery port.
- On the left side of the board is a STEMMA QT connector, labeled I2C on the board, which enables plug-and-play I2C support. It allows for a solderless connection to the EyeLights Glasses panel, as well as a variety of other sensors and breakouts.
In CircuitPython, you can use the STEMMA connector with
- On the top edge of the board, towards the left end, is a user button switch. It is labeled SW on the board, and can be used as in input. It is available in CircuitPython as
board.SWITCH, and in Arduino as
- Along the top edge of the board, towards the right end of the board is a red LED labeled LED on the board. This is controllable in CircuitPython as
board.LED, and in Arduino as
- To the right of the red LED is an RGB NeoPixel LED labeled Neo on the board. It is addressable in CircuitPython as
board.NEOPIXEL, and in Arduino as
- Towards the center of the board is an LIS3DH accelerometer, labeled Accel on the board. Interface with it using I2C. In CircuitPython, you would use
board.I2C(). The interrupt pin is available in CircuitPython as
- Above the accelerometer, is a PDM microphone, labeled Mic on the board. You can interface with it in CircuitPython with
board.MICROPHONE_DATA. In Arduino, it's
- To the left of the user switch, is the Reset button, labeled Reset on the board. It is used to reset the board, or if double-pressed, to enter the bootloader for loading CircuitPython.
- On the bottom of the board, on the right side, are three debug pins, labeled left-to-right Rt, IO, and CL on the board. These are reset, data and clock. Use for SWD debugging / programming.
- In the center of the panel, is the IS31FL3741 I2C LED driver chip. It uses I2C to control the LEDs with 8-bit PWM per color (24-bit per RGB LED), write pixel data, and it will handle the matrix driving automatically.
- Arranged as 2 x 24-LED rings around each eye and an overlapping 16x5 matrix, are 116 RGB LEDs. These are NOT NeoPixel or DotStar LEDs! That's why this board comes with the IS31FL3741 to talk to them.
- On each side of the panel is a STEMMA QT connector. It allows for a quick and solderless connection to the EyeLights Glasses Driver board, as well as other STEMMA QT microcontrollers, using a variety of STEMMA QT cables.