E-tshirt: Technical story of Development
From: Arvind Sanjeev, Founder DIY Hacking
This page covers the technical story of development for the E-tshirt project. The final prototype of the E-tshirt was created after multiple iterations, and I am sharing each version here. Some important reads for this project:
E-tshirt: Concept and Background
E-tshirt: DIY tutorial
A short project video:
Reverse engineering Wexler Flex One
Wexler Flex One is an eBook which was released in 2012 and made in Russia. It is no longer in production and was one of the very few eBooks which was flexible. This was because of the eink display it had, made by LG: LB060X02. I tinkered around with this eBook and hacked it apart to understand more about its hardware. This helped me understand more about the LB060X02 eink display used in it.
- ChibiOS installation: GCC & OpenOCD
ChibiOS is a complete development environment for RTOS, HAL, etc. I am using this platform to develop the driver for the eink display using STM32L152.http://www.chibios.org/dokuwiki/doku.php
- Studied uGFX to drive Eink display
uGFX is an embedded library for integrating displays and developing GUIs. Learned various commands for creating the GUI on the eink display.http://ugfx.io/
- Worked on STM32L152 Discovery
In order to drive the eink display LB060X02, I had to choose a controller for driving it. The STM32L152 being an ARM Cortex M3 controller with low power consumption was the ideal choice.
- Ported Eink code to drive display
Studied and ported the code developed for driving an eink display to suit LB060X02. http://essentialscrap.com/eink/index.html
- Designed 2 layer test board with +22V,-20V and +15V,-15V power supplies to drive the Eink display
Used Eagle to design a two layer board that can supply +22V, -20V, +15V and -15V to drive the eink display. Made additional packages for LT3463, LM79L15 in Eagle.
- Integrated pulse sensor for STM32
Used this sensor to detect hear beat: http://pulsesensor.com/. Code was made for Arduino, so ported it for suiting STM32L152.
- Integrated GSR sensing via ADC
Increased resolution of ADC to 12 bit to accurately sense skin conductivity as galvanic response.
- LM35 based temperature sensing
Used LM35 to obtain skin temperature readings.
- Tested with Beta board
Connected the sensors to the Beta test board and displayed data on the eink display.
- Refined code to create final driver
Refined code to remove redundancies and make the final code for the LB060X02 eink display to output sensor data.
- Designed 4 layer board with STM32L152 and sensors
Designed a four layer board in Eagle to incorporate the STM32L152, power circuitry for the eink display and the sensors. And made an LQFP64 part in Eagle for STM32L152.
- Ordered parts, displays, FPC from Mouser
Ordered the following parts from Mouser: list, to be assembled on the alpha prototype board.
- Hand soldered DFN, SMD, LQFP packages
Used hot air blower for soldering the DFN, SMD and other packages.
- Cut out the T-shirt to display the Eink screen
Made a cutout on the T-shirt to display the eink screen through it.
- Embedded Alpha board and systems
Made custom wires and connectors for connecting various modules.
- Used bakram to hold modules: Battery, LB060X02, sensors
Created pockets on the inner layer of the T-shirt to hold the controller board, battery, sensors and the eink display.