Building an Offline Free Information Machine - Part 1

Posted on Tue 28 January 2025 in articles

Introduction

According to UNESCO, the right to information is a fundamental freedom and a key pillar in building inclusive knowledge societies.

Different types and sources of information vary in value, based on the individual need as well as what barrier(s) may be in the way.

As a side project, and to build something useful that I can share with my local community, I sought to build an open-source, offline free information machine that is:

  • Reproducible, cost effective and leverages easily available, consumer tech
  • Plug and play
  • Multi-user and Multi-language
  • Resilient

At the core of this project is Kiwix, a project that originally started as a means of providing access to Wikipedia, offline and with minimal tech requirements, for developing and rural communities lacking internet access. Behind the scenes, it leverages the OpenZIM file format to compress and serve vast amounts of information (e.g. the entirety of wikipedia - pictures and all!) A community has grown around this project and the ZIM file format, resulting hundreds of repositories of information being available in this format and offline.

Beyond the desktop and mobile apps, Kiwix also supports creating a WiFi Hotspot - a full image that can be run on a Raspberry Pi, which then becomes a public WiFi Hotspot that can freely be accessed by a few dozen devices (depending on the model of Pi you use.) You can purchase prebuilt images for specific use cases, or build your own.

My Build

For my initial build, I chose a 1TB Micro SD card, a Raspberry Pi 5, and a 3d-printed case (printed by me, designed by @Clockspring on Printables.) I then built an image with the full copies of the following:

  • TED videos
  • iFixit
  • Khan Academy
  • MDWiki Medical Encyclopedia
  • Project Gutenberg
  • Ready.gov (in both English and Spanish)
  • Stack Overflow
  • Survivor Library
  • Wikipedia
  • Trail Sense (Android APK)
  • Survival Manual (Android APK)
  • Kiwix Applications for Windows, Mac, iOS, Android, and Linux

disassembled.png
assembled.png

When powered on, the device creates a WiFi Hotspot (that I named “for-reference”) and shows a captive portal on initial connection:

portal.png

Here is the main interface:

interface.png

Not only can dozens of devices connect to this hotspot to freely browse, but anyone/everyone can also download any/all of the information themselves (e.g. if they are connecting from a device already running the Kiwix app or another OpenZIM reader.)

Lastly, and worth noting, there is a built-in means of replication - the standalone Kiwix apps (for Mac, Windows, iOS, and Android) are also loaded on this device, so users could even connect once, download the apps and any repositories that suit them (all without connecting to the internet), and have a “to go” experience.

Wrapping Up

While my build is certainly a bit “extra”, minimal builds for specific use cases and using older Raspberry Pi’s can easily come together for under 50 USD.

Next, I will be focusing on the resiliency goal. Specifically, incorporating a means of solar power as well as designing and printing a more rugged enclosure (and likely using PETG or ABS as a material instead of PLA - more on 3d-printing in future posts!) The primary goal here is to ensure the device can be deployed outdoors and withstand exposure to the elements, running unattended, for long periods of time.

Thanks for reading and feel free to reach out via email or on Bluesky!

diy