I have been fascinated by e-Paper since the technology was announced long time ago now. Back in 2017 a few of us did a group buy and purchased some black and white and a tri-coloured black/white and red e-Paper displays. These worked with the Waveshare ESP8266 and ESP32 universal e-Paper controllers, but I have always wanted to have a go at making my own controller. Mine is based on the Waveshare ESP32 universal controller, but I have added on a LM75 i2C temperature sensor and BME280 i2C temperature, humidity and air pressure sensor for the first prototype.
The aim is to develop a universal e-Paper controller, but also act as a name badge/room temperature sensor. The first version is larger than I wanted, but it has a number of handy test points and a Li-ion battery charger/booster circuit based on the TP5400 IC. It's also made on a 2 layer PCB. While I checked all the ESP32 pins I had chosen, at the last minute, I changed the two LED GPIO pins to use some closer GPIO pins. Unfortunately the ones I chose where input only, and I needed them to be output capable, so I have had to add in some bodge wires to some spare GPIO pins. Here is the board being tested with a 2.13" e-Paper display:
Lots of software to be written and tested, then the next version of the PCB will be designed up using a smaller 4 layer PCB layout.
Universal e-Paper Name Badge
Re: Universal e-Paper Name Badge
The Adelaide Makerspace hosted a show and tell evening as part of the National Science week. I was luckily enough to be able to attend and display some of my PCB I have recently created. This included the current version of the e-Paper Name Badge project. I am on the road, so I have some time for software development. I now have the i2C bus IC's working well, and I have figured out how to display different fonts on the display:
Next up is to fix a couple of PCB errors, and change the PCB from 2 layer to a 4 layer PCB. This will allow the PCB to be designed up quite a bit smaller. The next version will include a MPU-6050 accelerometer, so the ESP32 will know which way is up, and adjust the text display appropriately.
In the current (first) version of the PCB, I included some test points around the e-Paper circuitry, so I could monitor how it works. I was surprised to see that each e-Paper uses different voltages. I have seen up to +-22 being used to setup the display!
I included two temperature sensors 1) LM75; 2) BME280. The former costs (2021), around A$0.47 and can be purchased in a very small form factor. The later is in even a smaller form factor, however its currently very expensive at A$11.00ea, but it is much more accurate at +- 0.5 deg C vs +-2 deg C for the LM75!
This version included a CP2102 UART, to make it easier to program, however, I might move to a ESP32-C3, which includes a built in UART, therefore freeing up some space where I can place the accelerometer.
Next up is to fix a couple of PCB errors, and change the PCB from 2 layer to a 4 layer PCB. This will allow the PCB to be designed up quite a bit smaller. The next version will include a MPU-6050 accelerometer, so the ESP32 will know which way is up, and adjust the text display appropriately.
In the current (first) version of the PCB, I included some test points around the e-Paper circuitry, so I could monitor how it works. I was surprised to see that each e-Paper uses different voltages. I have seen up to +-22 being used to setup the display!
I included two temperature sensors 1) LM75; 2) BME280. The former costs (2021), around A$0.47 and can be purchased in a very small form factor. The later is in even a smaller form factor, however its currently very expensive at A$11.00ea, but it is much more accurate at +- 0.5 deg C vs +-2 deg C for the LM75!
This version included a CP2102 UART, to make it easier to program, however, I might move to a ESP32-C3, which includes a built in UART, therefore freeing up some space where I can place the accelerometer.
Re: Universal e-Paper Name Badge
Today I upload the next PCB revision design to JLCPCB to manufacture. This will fix a couple of wiring issues and will include a MPU-6050 accelerometer, so the board will be able to rotate the text depending on which way your mounting the unit. I am also trialling a ESP32-C3 MCU. This is being billed as a ESP8266 replacement. It doesn't have many GPIO pins, but it comes with a built in USB UART, so I can now connect the USB data pins directly to the ESP32-C3 MCU. This helps lower the board BOM costs, and lowers the PCB real estate needed for the project. I have lots of spare PCB space, but I wanted to have a go at using the new MCU.
The ESP32-C3 isn't available from LCSC yet, it's too new, but I have purchased a Dev board and two version 2 modules from Aliexpress. While these are only a sample version, I believe the mass produced version 3 modules will be released very soon, and I can just hot air off the old V2 modules and insert the new V3 versions when they arrive.
This PCB will be done in a Blue solder mask (but KiCAD is showing it above in Green).
The ESP32-C3 isn't available from LCSC yet, it's too new, but I have purchased a Dev board and two version 2 modules from Aliexpress. While these are only a sample version, I believe the mass produced version 3 modules will be released very soon, and I can just hot air off the old V2 modules and insert the new V3 versions when they arrive.
This PCB will be done in a Blue solder mask (but KiCAD is showing it above in Green).
Re: Universal e-Paper Name Badge
I received the version 0.7 blue PCB, but due to the BME280 and MPU-6050 being unobtanium just now because of the silicon shortage, I decided to spin out another version of the e-Paper Name Badge PCB. Version 0.8 will be centered on a ESP32-Pico MCU, as it has more available pins and can be programmed in either ESP-IDF, or Arduino. I would have liked to have used the new ESP-S2, but the Arduino code is still in Beta.
This means that I will have to upload my programs (or at least the initial program), via an external serial UART, as I don't want to give up a lot of PCB real estate for a CP2102 UART IC. I have taken the opportunity to make the PCB smaller and as I still had some space available, I added on a VL53L1CXV IR swipe/distance sensor and a relatively power hungry (56mA), SGP30 CO2 sensor. This sensor runs at 1.8V, so I had to add in a SOT-23 sized 3.3V to 1.8V LDO regulator and a set of i2C voltage level translators. I think I will only run this sensor when it's on USB power, as the datasheet says that ideally it should run for 20 minutes at a time.
As per above, I ditched the BME280, and the LM75 and replaced them with a BMP388 air pressure and SHTC3 temperature and humidity sensors. Should be interesting to see how they all operate together on one board. The MPU-6050 was replaced with a tiny and 30 times cheaper LIS2DH12TR accelerometer.
This means that I will have to upload my programs (or at least the initial program), via an external serial UART, as I don't want to give up a lot of PCB real estate for a CP2102 UART IC. I have taken the opportunity to make the PCB smaller and as I still had some space available, I added on a VL53L1CXV IR swipe/distance sensor and a relatively power hungry (56mA), SGP30 CO2 sensor. This sensor runs at 1.8V, so I had to add in a SOT-23 sized 3.3V to 1.8V LDO regulator and a set of i2C voltage level translators. I think I will only run this sensor when it's on USB power, as the datasheet says that ideally it should run for 20 minutes at a time.
As per above, I ditched the BME280, and the LM75 and replaced them with a BMP388 air pressure and SHTC3 temperature and humidity sensors. Should be interesting to see how they all operate together on one board. The MPU-6050 was replaced with a tiny and 30 times cheaper LIS2DH12TR accelerometer.
Re: Universal e-Paper Name Badge
Well, somehow the Australian Postal system lost this and another PCB from JLCPCB during shipping. This was during C19 dark days here in WA, so fair enough. Since the loss, I have discovered two things about this PCB:
1) the WS2812 foot print was wrong
2) the MOSFET driving the e-Paper power was in backwards. It worked, but would not turn off power properly.
These have now all been fixed and PCB V0.8a has been uploaded for manufacture. I am still waiting for the outcome of the loss. That should be interesting so see if or what I get refunded. I note that in the last few days, JLCPCB prices for white soldermask has increased to A$16 and for Red, it's now A$25! Ouch! This board is being done in pretty Purple.
1) the WS2812 foot print was wrong
2) the MOSFET driving the e-Paper power was in backwards. It worked, but would not turn off power properly.
These have now all been fixed and PCB V0.8a has been uploaded for manufacture. I am still waiting for the outcome of the loss. That should be interesting so see if or what I get refunded. I note that in the last few days, JLCPCB prices for white soldermask has increased to A$16 and for Red, it's now A$25! Ouch! This board is being done in pretty Purple.