Inkplate 6 with PlatformIO - switching to Arduino IDE resolved rendering issues

Customer:

I was getting an error trying to use VsCode + PlatformIO. Switched to Arduino IDE and it’s working now.

I’m trying to create a screen that displays the status of booked (or not) rooms, by fetching the data from an API that pings my company’s Google Calendar resources. I have a question regarding performance, battery life and overall best practices for the software.

Is it better to fetch the data (JSON) and create/draw the image on the Inkplate using the display software? Or should I create that image on my API and download it (as BMP or JPG) and display it on the screen?

Originally submitted via email support on 9 June 2025. Migrated to the forum for community visibility.

Soldered Support:

We don’t support PlatformIO officially but it’s on our list to be added to platforms supported by Inkplate.

You can also use VSCode with Arduino projects: open the project folder in VSCode and use the Arduino IDE to upload and monitor. There used to be an Arduino VSCode extension which worked great but it’s since been deprecated.

Regarding your question: you have both options. Inkplate parsing the data and drawing the graphics using Inkplate’s graphics library won’t take very long at all, and the difference between that or downloading and displaying a PNG is quite miniscule - to the end user it won’t be any different. Performance-wise and battery-life-wise it’s about the same.

For battery life, I recommend turning off the power LED via the switch on the back, as you won’t need a power indicator and this LED always drains power from the battery - this is how you get the least current in deep sleep.

For the second option (downloading a pre-rendered image): you will probably be able to render a better looking image (via Python for example), and easily add all sorts of stuff in the image. It might be more convenient - this way you’re using Inkplate as just the display which fetches an image, which is more easily maintainable because the Inkplate code essentially stays the same no matter what kind of data you want to display. You can easily modify the server-side code without any code compilation or upload to Inkplate to change the image if required. For practical reasons, I would choose the second option. You can use a combination of examples: Advanced>Deepsleep>simple deep sleep and Advanced>Web Wifi>Draw image from web to easily accomplish this.

For the first option (drawing on Inkplate), you can use Inkplate’s code for drawing quite well to draw step by step. Here’s an example of the Google Calendar sketch which we’ve updated for the library recently: Inkplate-Arduino-library/examples/Inkplate6/Projects/Inkplate6_Google_Calendar/Inkplate6_Google_Calendar.ino at master · SolderedElectronics/Inkplate-Arduino-library · GitHub