A cryptocurrency ticker display that supports monitoring multiple cryptocurrencies, is battery powered and has price alert functionality.
Case 3d model
Standard Tesselated Geometry - 98.91 kB - 08/02/2019 at 12:28
Case cover 3d model
Standard Tesselated Geometry - 66.88 kB - 08/02/2019 at 12:28
Case buttons 3d model
Standard Tesselated Geometry - 24.11 kB - 08/02/2019 at 12:28
Case on off button
Standard Tesselated Geometry - 12.97 kB - 08/02/2019 at 12:28
Schematic of the new custom made board
Adobe Portable Document Format - 136.59 kB - 08/02/2019 at 12:26
With the battery implemented it makes sense to use the deep sleep capabilities of the ESP32. This would make the battery last up to months with a single charge. This estimates are heavily dependent on how long the device is awake for. The workflow is as follows:
Some quick measurements about the device consumptions and other metrics:
Theoretical battery estimates:
|Updates per day||Hourly Consumption / mah||Daily consumption / mah||Battery last / days|
In order to maintain a state during deep sleep cycles the ESP32 has another CPU (ULP) and RAM (RTC)
that stay awake during deep sleep, all other peripheals are turned off (depending on the sleep mode).
These are ultra low power components that, as expected, are very limited.
An alternative to using RTC would be to use SPIFFS but its best to avoid constant writes to it since it has a limited number of write cycles.
With the current approach, the total boot time needs to be maintained during sleep cycles in order for the tickers
to function properly.
RTC is only able to store uint16's so two addresses have to be used in order to store a long (epoch time).
The device outperforms the theoretical charts by a lot, more tests are required but it lasted more than 16h on a single charge (~30% battery left) with 10sec scroll time and 60sec update rate.
One persistent issue is the speaker pop sound on power on/power off cycle. This seems to be caused by noise or unfiltered outputs on the chip NS4148 (3w amplifier). The chip has a sleep mode pin which should reduce the pop sound but its currently connected to 3V3 thus not being available to the ESP32. For now the N Speaker wire was soldered to pin IO27 in order to control when the speaker is on. A big downside is that this essentially renders the amplifier useless making the speaker around half as loud.
A battery would complement the device very well and after some research here is some info.