It has been a while since our last post, but it was for a good reason. We had to switch the hardware on which the Dice Device was based, replacing the Raspberry Pi Zero with a microcontroller from Lilygo. As a result of abandoning Linux, we also had to abandon Python and rewrite all the software in C++. Nevertheless, the core concept of the Dice Device remains the same: a charming wooden box housing a 2.1-inch round display.
The main reason behind the transition was the ongoing shortage of Raspberry Pi Zero boards. However, it turns out that the transition has resulted in more benefits than drawbacks:
- The height of the device has been reduced by 6 mm compared to the original version
- The booting time was reduced from 24s to 3s as we no longer need to load the whole operating system
- The endurance on battery mode was increased from about 6h to about 12h. This is due to the elimination of the need to power an extra display driver board and run an operating system
- The manufacturing cost of the device has been reduced by approximately 50%, resulting in a more affordable final price
Although the transition has yielded numerous benefits, there is one notable drawback to consider. The display interface now uses SPI, which is more energy-efficient but results in limited speed when updating content on the screen. For example, refreshing the entire screen is only achievable at a rate of approximately 10Hz. However, this does not mean that smooth on-screen movements at 45Hz (native vsync of the display) are impossible. Rather, the application design must account for these limitations and avoid features such as full-screen scrolling.
We have added several new applications, such as a timer and conversation starters, as well as a graphical menu, which enhance the user experience. With these hardware and software upgrades, we are now much closer to the final product.