-
Building Cale backend
02/10/2020 at 07:01 • 0 commentsStill some days of hard work, but PHP framework Symfony is making it easy to design the forms and validation. The status so far:
Addding wizards that make easier the process of connecting APIs like Calendars, Todo apps and much more. Github issues is also going to be added, so you can list your open requests for your Repositories. The target can be your Eink:
But could be displayed publically or privately using the HTML version. There will only two options at launch:
- Open to the world
- Secured with a Bearer auth token. In that case an SSL version should be compiled otherwise the whole security thing makes little sense when your key is flying over the air unencrypted.
Please note that we are also offering to print T5S board housings for free if you register in CALE.es
CALE project has been sponsored by makers store digitspace.com
-
Looking for new testers: Here my offer
02/04/2020 at 14:23 • 0 comments- I will build the Backend for you. Options to integrate APIs into the screen right now are:
Google calendar - Timetree (shared calendar) - Weather (darksky API) - In case you don't have a 3D printer. I will print it a 400*300 4.2 Case for you and cover up to 5€ from the shipping costs
What you need to build this in your side:
Look at the components for more information. All components excluding the 3.7 Lion battery cost around 35 u$ or 40 top if you want a very low sleep consumption ESP32. But you can use any ESP32 that you already have, the essential part that is the EInk costs 26u$ in Aliexpress. Make sure to select it with Adapter Board that is the SPI adapter.
The result after building is like this, a small dynamic Eink, that you can stick to your fridge or without magnets and 2 holes, to mount on the wall.
Backend integrations are coming soon in a new format, with a small Admin-Backend so you can select what to print in your screen, plan looks like the following.
If you like the idea, just send me a short message, here or add me to your twitter and I will add you back. Please note that we are also offering to print T5S board housings for free if you register in CALE.es
CALE project has been sponsored by makers store digitspace.com
- I will build the Backend for you. Options to integrate APIs into the screen right now are:
-
Note about Waveshare Epaper 7.5" V1 & V2
01/30/2020 at 08:26 • 0 commentsCALE is ready to be tested and works stable in ESP8266 and ESP32. This log is to make a remark about my experience with this 7.5" displays of Waveshare
V1 640x384 245760 pixels
Can work with:
- ESP32
- ESP8266
GxEPD : #include <GxGDEW075T8/GxGDEW075T8.cpp>
This first version of Waveshare display that can be found in Alixpress for about 53u$ is a very good candidate for both SoCs. Compression is only supported in ESP32, although is not needed, is only a mean to save some seconds downloading the image.
V2 800x480 384000 pixels (138240 more than V1)
Can work with:
- ESP32
GxEPD : #include <GxGDEW075T7/GxGDEW075T7.cpp>
I tried to compile master of the CALE repository on a ESP8266 and it just restarts all the time. So I left there the GxGDEW075T8 model as a default include for that works for both.
Maybe someone can try to make it work on ESP8266 with different settings, please let me know, but I suspect is using too much memory since they are a lot of pixels.
They are different benefits using ESP32 vs ESP8266. The ESP32 consumes almost double since has 2 cores. But adjusting CPU frequency in plataformio.ini can also be a good way to reduce consumption:board_build.f_cpu = 80000000L
ESP8266 is a great candidate for this, since it consumes very little, and has the right resources to drive the V1 version of this display and all the other smallers, it's also cheaper than ESP32 so I will highly recommend it as a first choice. Due that it can sleep only max. about 3 hours compared to his bigger brother, I prepared a special branch that sleeps 3 hrs * 8 times if you want to have a calendar that refreshes only once a day saving as much battery as possible:
https://github.com/martinberlin/eink-calendar/blob/esp8266/long-sleep/platformio.ini
Benefix of using ESP32 is that is faster, allows driving the V2 high resolution display and also supports compression. It's more precise to deepsleep long periods of time but it also consumes more. So it's up to you, depending on your project, what is the candidate to use as a display driver.CALE project has been sponsored by makers store digitspace.com
-
CALE Waveshare 7.5" v2 E-ink back-case
01/25/2020 at 10:27 • 0 commentsI added a very simple back-case replacement for the original Waveshare 7.5" white case with magnets. Designed also a small cover for the Eink HAT so it can be easily glued to the back of the Eink, making Epaper and HAT adaptor a single piece for easy mounting.
Please check the CALE 3D Model on Thingiverse.
CALE project has been sponsored by makers store digitspace.com
-
Back-case that you can edit in Blender
01/19/2020 at 22:44 • 0 commentsWhen it arrived per post, the new V2 seven inch Waveshare, I was a bit unmotivated when I saw the plastic thin original case:
My face expresión was: Meh :( No space for anything right fellas? Not even a tiny ESP32, let’s forget the battery. But my eyes shined when I saw the nice close design with 12 magnets. That’s it, let’s use the front that looks nice, and discard the back that is useless unless you put the controller and battery outside of it.
So I put my 10% Blender knowledge at work and come up with this:
That was the first test print. No compartments just plain STL box, with the right size to press the 5 mm diameter magnets.
Attached to the Files section of this project.
-
ESP32 supports ZLIB compression. A note about deepsleep
01/13/2020 at 10:58 • 0 commentsI found time in the weekend to test the ESP32 version in the branch feature/compression
https://github.com/martinberlin/eink-calendar/tree/feature/compression
The idea is to take advantage of ESP32 bigger memory to receive a Zlib compressed Bitmap, which reduces in about factor 4 the download time (4.5 seconds vs 0.9 seconds)
Proof-of-concept serial output with 800*480 px Waveshare eink displayWidth: 800 height: 480 File size:48146 Compressed: 3995 Image Offset:146 Header size:124 Width:800 Height:480 Bit Depth:1 Planes:1 Format:0 Read=48032 bytes. Sending BMP pixels to display Eink isRendered: 1 BENCHMARKS: Download: 908 ms Decompress: 4 ms Total Rendering including download: 10 seconds
As for what deepleep goes, my father reported in his Wemos D1 ESP8266, about 0.8 mA in deepsleep mode.
In the ESP32's I have currently available, I still get higher values for deepsleep, here a thread I started on the bluebird:
https://twitter.com/i_grr/status/1216235263149522944 -> Follow me for more updates on my projects here
Lolin 32 v1.0.0: 19 mA in deepsleep
Heltec : 10 mA (turning off the oled)
DFRobot Firebeetle V2: <1mA (But costs up to 19€)So I highly recommend if you want to achieve low consumption to start with a modern Lolin D32 and make a small research to get a board that is design with lower consumption in mind. Many out of there in the 5 to 7 € price range are consuming too much when on deepsleep.
Some of the options mentioned after researching this topic where the DFRobot Firebeetle ESP32 and also the TinyPICO a project by UnexpectedMaker. There may be many others and even ranger at lower prices, please make your research and comment about your favourite pics.
18uA is what TinyPICO consumes on deep sleeping and that would be an ideal candidate for a Battery operated CALE, not only for the deepsleep consumption but also for it's mini-size which will fit in very small cases.
Another alternative to consume less is to reduce the CPU Frequency to 80Mhz in platformio.ini
board_build.f_cpu = 80000000L
This will of course make the processing and decompression slower but only minimally at the adventage of using less battery. -
Interesting E-ink project: Inkplate-6
01/08/2020 at 16:22 • 0 commentsI spotted this quite late since they are already backed up:
https://www.crowdsupply.com/e-radionica/inkplate-6I would love to give it a try. So I'm considering making a CALE version also for this display.
-
Keeping your deepsleep at minimum consumption
12/30/2019 at 20:55 • 0 commentsIs the key for battery lifespan.
And there is a bit more to research in this field. For example if the VCC consumption of this Eink is below 12 mA why don’t to power it with a gpio of our Espressif board?
That will keep it from draining unnecessary energy when we are in deepsleep. Doing that simple improvement and taking control of the VCC took the deepsleep consumption from 1.3 mA to 0.84 mA
Here is the proof of concept update: https://github.com/martinberlin/eink-calendar/commit/978d062e7fcd446acce91535a6a3a0db4df43762
Needless to say, but check what is the max consumption that is allowed in your microchip specs, going over it may damage your board!
-
ESP32 version is ready to be tested
12/28/2019 at 08:20 • 0 commentsTo compile the Firmware in this two different boards is now easier after this update:
https://github.com/martinberlin/eink-calendar/commit/3a054bdb4976a6e7d708e9a14b2bc374a373d020
Update the line in platformio.ini to define in what board you want to compile:
; espressif8266 OR lolin_d32
default_envs = espressif8266And set the SPI Pins in Config.h
We decided to use just GPIO integers and not anymore this D1->D8 Constants to keep it uniform across different environments:// ESP8266 | ESP32 in comments int8_t EINK_CS = 5; // GPIO 5 int8_t EINK_DC = 0; // 17 int8_t EINK_RST = 2; // 16 int8_t EINK_BUSY = 12; // 4
That's it. As a reference here is a Wemos D1 ESP8266 GPIOs
Lolin ESP32:
-
Plans for an ESP32 version
12/26/2019 at 08:21 • 0 commentsTo be implemented:
- Compression using zlib. In server side we wil compress with PHP as an example. On the Firmware will decompress with miniz.
- BLE configuration. To make it portable, this will enable an easy configuration via an Android application, so it will just wait for Bluetooth if WiFi credentials are not set or cannot connect
- Speed improvements
Point 1 is on the works and so far the most interesting at the moment since it will improve the download time about 8 times:
https://github.com/martinberlin/eink-calendar/issues/1
It could be rendering the image in 3 seconds instead of 12 which is a great speed improvement and also a battery lifespan increase.
Info about server side PHP compression:
https://github.com/martinberlin/eink-calendar/blob/feature/compression/screenshot/compress.php#L105
It will use PHP native and fast: gzcompress with a high compression ratio.
Serial output decompressing a 640 x 384 BMP / 1 Bit Depth:
Done downloading compressed BMP. Length: 3078 uncompress status: 0 length: 30866 millisDownload: 806 millis Decomp: 4 ms BMP headers: Output File size: 30866 Width * Height: 640 x 384 / Bit Depth: 1