Skip to content

IoT Calendar: Making The “Magic Calendar”

  • by

This is the second in a series of articles about using microcontroller devices with e-paper displays for displaying dynamic calendars.

A year ago a concept video was created by Japanese designer Kosho Tsuboi about a device called a magic calendar, which is an e-paper device that displays an events calendar and will automatically update when an event in Google calendar is added or updated.


Original concept video of the “Magic Calendar”

This calendar is not a real product (at least not yet). It was a concept only, showing what the technology could accomplish. Well, I have made my own version of the “Magic Calendar”, and it is real and it is working!

I used the following items to create my version of the “Magic Calendar”:

  • Adafruit HUZZAH 32 Feather (Arduino compatible microcontroller, stacking headers version)
  • Waveshare 4.2 e-Paper module
  • A custom Featherwing to connect the e-Paper module to the HUZZAH 32
  • The IoT Calendar service to parse iCalendar feeds for IoT devices (iotcalendar.org)
  • Custom code for displaying the calendar, events, temperature and moon phase.

I have tested this with both the Adafruit HUZZAH 8266 and Adafruit HUZZAH 32. The HUZZAH 32 version actually works much better for larger e-Paper displays like the 4.2 inch display used here due to the increased memory usage needed to hold the display buffer. This could work on the HUZZAH 8266 if using a smaller e-Paper display. Waveshare makes e-Paper devices in several different sizes.


My version of the “Magic Calendar”

The Waveshare e-paper displays with the module PCB attached to them are the easiest to integrate with Arduino devices. The raw devices are cheaper but interfacing with them requires additional hardware. I made a custom Featherwing to make it easier to connect the Waveshare module to the HUZZAH device.  In addition to making it easy to connect the 8 wires from the display, the custom Featherwing also includes a reset button and two additional buttons for software use. I use the additional buttons to put the device into a web based setup mode. I will be releasing this custom Featherwing on Tindie for those interested in it. Although Waveshare provides a graphics library for drawing on the e-paper display, I instead used the Adafruit GFX library, which was very easy to use with the display.

Actually the hard part in all of this was being able to get the event data.  The iCalendar standard helps a lot with this as it standardizes the format of events so a program can read calendar events from different vendors using the same code. However, iCalendar files are not easily parsable and the memory and computation requirements are beyond what most IoT devices can handle. Doing some research, I did not find any service for IoT devices for parsing iCalendar files. Fortunately, I have some iCalendar experience, creating and maintaining the iCalendar.org site, which includes, among other things, an iCalendar validator tool and a PHP iCalendar library that I wrote. I decided to create my own iCalendar web service for IoT devices to use. You can find more details of the service at iotcalendar.org, which with its free level tier allows IoT devices to parse their events once per day. Technical information about this service is available in this article.

With the IoT Calendar service, a device sends an iCalendar URL to the service, the service parses the feed from the URL, and returns the events for a particular day (usually the current day). This data is returned in JSON format, a format that is easily read by many computer languages.

With all these pieces in place, all that remains is writing the code. Code development is continuing and as you can see from the photos, it is successfully pulling events from my calendar. In addition to displaying the current month calendar and events, it is also showing the high and low temperature for the day and the current moon phase. I have also written code for a smart name plate/badge, which is a very similar project but uses a smaller e-paper display. The smaller display and lower memory requirements makes this project better suited for the HUZZAH 8266.

Smart name plate/badge project using an e-paper display and the IoT Calendar service.

The original “Magic Calendar” concept showed integration with Google Calendar. My version should work with any iCalendar compatible calendar. The photos show events from Office 365, and I have also successfully tested it with Google Calendar and other iCalendar feeds. When completed, I will post this code on GitHub.

Awas Melewatkan Cuan! Rahasia Pola Black Scatter untuk Pecahkan Rekor Kemenangan Hari IniCara Gila! Tingkatkan Akurasi Taruhan Roulette Lewat Teknik Fibonacci Anti-RugiCuan Meledak! Ini Dia Pola Scatter Mahjong Ways 2 yang Paling Nge-Hits Saat IniCuci Mata dan Kantong! Aksi Pemain Sukses Raup Cuan di Black ScatterDari Patah Hati Jadi Heart Attack! Kisah Pemain Sukses di Baccarat dengan Trik SederhanaGak Nyangka! Rumus Sederhana Ini Bikin Peluang Menang Parlay Naik 80%Hati-Hati! Kesalahan Kecil di Baccarat Bisa Bikin Anda Kehilangan Jackpot Besar!Jangan Lewatkan! 3 Sinyal Kemenangan di Mahjong Wins yang Jarang Diketahui Pemain LamaMahjong Wins 2 Dari Pemula Jadi Sultan! Ini 4 Jurus Jitu yang Wajib DikuasaiMenang Terus! Strategi Taruhan Roulette yang Bikin Dealer Sampai Geleng-GelengMode Gila! Simak Trik Menguasai Freespin di Black Scatter Tanpa Modal BesarNgaku Pecinta Gates of Olympus? Wajib Baca 5 Kesalahan Fatal Ini Sebelum Spin!Parlay Panas! Kombinasi Tim Ini Dijamin Bikin Dompet Mbledos Terbukti!Perhatikan Jam Main! Ini Waktu Terbaik untuk Menang di Gates of OlympusPeringatan Keras! Jangan Mainkan Mahjong Ways 2 Sebelum Baca 7 Petunjuk Ini!Roulette Bukan Sekadar Tebak Angka! Strategi Jitu Ini Bikin Meja BergetarScroll Berhenti! Spill Pola Scatter Mahjong Wins dari Grup Telegram Paling DipercayaSensasi Maxwin! Bocoran Pola Scatter Mahjong Ways 2 yang Bikin Saldo Nambah Nol!Turun Gunung! Eks Member Kasino Bagikan Pola Andalan di Mahjong Ways 2Viral! Pemain Ini Raup Cuan Besar di Gates of Olympus Hanya Modal 20 Ribu, Caranya?Catat Tanggalnya! Peringatan Kemenangan Besar di Black Scatter Akan Segera TerjadiCurhat Pro Player Cara Saya Konsisten Cuan dari Parlay Tanpa RibetHati-Hati Scatter Palsu! Kenali Perbedaan Scatter Asli di Mahjong WaysIni Dia! Tanda-Tanda Mesin Mahjong Wins 2 Siap Memberikan JackpotModal Uang Kembalian? Coba Trik Ini di Baccarat, Bisa Jadi Cuan Besar!Sering Kena Scatter? Itu Tanda Anda Salah Main, Coba Simak Strategi Gates of Olympus Ini!Stop! Jangan Spin Sebelum Tau Pola Scatter Gates of Olympus yang TerupdateTakut Kalah? Pakai Saja Trik Anti-Panas di Mahjong Wins 2, Dijaman Aman!Tingkatkan Level! Cara Jago Main Roulette Ala Pro Player Dalam Waktu SingkatTips Sakti! Menaklukkan Meja Roulette Hanya dengan 3 Putaran AwalBaccarat Panduan Membaca Tren Meja Jalan KemenanganBlack Scatter Analisis Tingkat RTP Return to Player dan PengaruhnyaBlack Scatter Teknik Mengelola Emosi Saat Lagi Hoki dan HancurMahjong Wins 5 Kesalahan Fatal yang Sering Dilakukan PemulaPanduan Lengkap Menemukan Pola Scatter Mahjong Ways 2 dari Hasil SpinParlay Memilih Liga dan Tim yang Tepat untuk Taruhan AndaRoulette Eropa vs Amerika Mana yang Lebih Menguntungkan?Roulette Strategi Martingale dan Dampaknya pada Modal AndaStrategi Taruhan Progresif di Baccarat Apakah Efektif?Tips Bermain Gates of Olympus dengan Modal Kecil dan Risiko MinimBaccarat Mengenal Sistem Taruhan Paroli untuk PemulaBlack Scatter Pentingnya Mengatur Batas Waktu dan Target BermainGates of Olympus Membedakan Antara Pola Gacor dan Pola BiasaGates of Olympus Peran Penting Multiplier dalam Kemenangan BesarMahjong Ways 2 Cara Membaca Simbol-Simbol Penting di Dalam GameMahjong Wins Mengoptimalkan Fitur Beli Freespin untuk KeuntunganMemahami Volatilitas Mahjong Ways 2 agar Tidak Cepat Kehabisan SaldoParlay Tips Mengkombinasikan Taruhan Over/Under dan 1X2Roulette Trik Sederhana Memanfaatkan Hot Numbers di Meja LiveTips Memilih Bettingan yang Tepat di Mahjong Wins untuk PemulaBaccarat Memahami Peran Banker dan Player dalam PeluangBaccarat Trik Flat Betting untuk Konsistensi KemenanganBlack Scatter Analisis Pola Kemunculan Simbol Wild dan ScatterBlack Scatter Cara Membaca Pola Putaran Sebelum Memulai Taruhan BesarGates of Olympus Panduan Bermain di Versi Mobile vs DesktopMahjong Ways 2 Rekomendasi Jumlah Spin yang Ideal untuk 1 SesiMahjong Wins Tips Ampuh Memanfaatkan Bonus New MemberParlay Mengerti Risiko dan Manfaat Taruhan Kombinasi Multi-TimParlay Panduan Bermain Saat Musim Turnamen untuk Hasil MaksimalRoulette Perbedaan Taruhan Dalam dan Luar serta ManfaatnyaBaccarat Tips Memilih Meja Berdasarkan Jumlah PemainBlack Scatter Panduan Awal Bagi yang Ingin Beralih dari MahjongGates of Olympus Mengatur Kecepatan Spin untuk Pengalaman Bermain TerbaikMahjong Ways 2 Panduan Daftar dan Mulai Main untuk Pemula AbsolutMahjong Ways 2 Panduan Menerapkan Stop Loss dan Take ProfitMahjong Wins Cara Mudah Memahami Fitur Wild dan FungsinyaMahjong Wins Strategi Jitu Menggabungkan Pola dengan Manajemen ModalParlay Memahami Pengaruh Cedera Pemain Terhadap Peluang KemenanganRoulette Memanfaatkan Fitur Statistik untuk Membantu Menentukan AngkaRoulette Pola Dasar yang Perlu Diketahui Sebelum BertaruhNge-Hits Abis! Pola Scatter Mahjong Ways 2 Ini Bikin Auto Banjir Cuan!Gates of Olympus Sedang Panas! Langsung Gas Pola Ini, Dijamin Scatter Berondong!Cuma 5 Menit! Pemula Ini Raup Puluhan Juta di Mahjong Wins, Kok Bisa?Viral Di Mana-Mana! Ini Pola Black Scatter Paling Brutal yang Lagi Dicari!Siap-Siap Kaget! Baccarat Bisa Bikin Kaya Mendadak Pakai Trik Satu Ini!Roulette Bergetar! Strategi Gila Ini Bikin Meja Loss Berkali-Kali!Parlay Gacor! Kombinasi 3 Tim Ini Wajib Dipasang Pekan Ini Terbukti!Jangan Spin Dulu! Baca 3 Sinyal Kematian di Mahjong Ways 2 Sebelum Main!Cuan Mengalir Deras! Spill Pola Scatter Mahjong Wins dari Admin Grup Sultan!Gates of Olympus Auto Maxwin! Pemain Ini Cuma Modal Receh, Hasilnya Meledak!Bongkar Rahasia! Black Scatter Ternyata Punya Jam Emas Kemenangan!Peringatan Keras! 5 Kesalahan Fatal di Baccarat yang Bikin Bangkrut!Roulette Bukan Tebak-Tebakan! Simak Formula Jitu Ini Biar Cuan Terus!Auto Penasaran! Pola Scatter Mahjong Ways 2 yang Bikin Streaming Ramai!Mahjong Wins 2 Dari Pemula Pro! Ini Lho 4 Jurus Andalan Anak Muda!Parlay Maksimal! Trik Menentukan Tim Kuda Hitam untuk Taruhan Anda!Gila! Black Scatter Kasih Freespin Terus, Pemain Sampai Speechless!Gates of Olympus Hati-Hati! Simbol Zeus Ini Pertanda Akan Jackpot!Baccarat Meja Panas! Terapkan Teknik Cut Ini, Musuh Langsung Ciut!Roulette Berbisik! Pelajari Angka Favorit Dealer Biar Menang Terus!
toto togel
bandar togel