Cheapest server for digital inclusion in the Global South

This is not specifically related to Meshtastic, but I think yall are the best to help me out as this was inspired by the work being done by @mc-hamster and others on the webserver integration.

I’m planning a new project as the cheapest way to make digital inclusion possible for remote villages. The idea is to have a really simple esp32 server with an sd card, that turns on WiFi through Bluetooth as a strategy to preserve energy. Users would connect to the WiFi access-point and be presented with a captive-portal that has links to useful apps, courses and media. I expect that this would have a big impact on digital-literacy for the communities. This could enable us to reach every village that is interested in at least some basic access to information, because of the very low financial barrier.

I’ve ordered ESP32-WROVER-B boards, as they are really cheap and have a sd slot, which is a must. I’d have to include some batteries and at least a 1W solar panel as many of the villages don’t have energy.

So a few questions. Are these the best boards for the job? What the cheapest/best way to power these boards and have the batteries charged by a panel?

3 Likes

Just realized I bought the wrong board :sob: Doesn’t have SD card slot built-in. Should have bought this one… I guess I can also order these SD shields to make them useful?

1 Like

Hi @luandro sounds like a good idea :slight_smile:

Will it be only html, css and js? I ask because maybe esp32 is not the best to have big files like .apks ^^

You could have a captive portal with the esp32 and the files on an openwrt router, both connected on the same wifi :slight_smile:

Regarding the SD module, the esp32 has native SD card support :slight_smile: so you could use a module with two extra pins, DAT1 and DAT2 for speed :slight_smile:
This is theoretical because I have never programmed a server on an esp32 ^^

Thanks for the feedback @anothercarolina. The idea is to have not only apks, but also large video files. Wouldn’t a esp32 with an sd card be able to simply serve them through a webserver? The devices reading them would be doing the job of actually rendering them.

Having a OpenWRT router would make the project way more expensive and power consuming. The #1 goal is to be as cheap as possible.

1 Like

As much as I enjoy the esp32, a platform with more pre-built packages may be better suited for a content and learning heavy environment.

The Raspberry Pi Zero W comes to mind. Depending on where you look, you can get one for $5 → $15 dollars and maybe $1 or $2 for an additional SD card. They’re not the most energy efficient device, but with a large enough solar panel it shouldn’t be too bad.

With a full blown linux system, you can install Learning Management Systems for course delivery, Content Management Systems for easy content management (was that a redundant thing to type?).

The esp32 is great for purpose built applications, but having access to linux will give you the ability to use a lot more applications that have been built by other people for distance learning, authenticated learning, etc. There would be little reason to reinvent the wheel.

Hope this helps!

4 Likes

:pray: @mc-hamster

I’ve been using Pis for this purpose for a while. Using a full linux system does open up a world of possibilities. But there’s also lots we can do with just static file serving, and by using an esp we could cut the price in half or probably even much more counting the whole energy and storage setup. For our realities here in the Global South even 10 USD is a big difference.

I have this project that’s meant for Pis. It’s basically a collection of scripts (for lower-end Pis) and docker-compose files for installing useful services. But it’s still too pricey, was wondering how low of a price tag we could get.

If we could have a full esp32 setup (board+case+batteries+panel+card) for around ~15 USD, which is the price of the Pi Zero W alone, it would also open a world of possibilities for inumerous communities that know the digital world only as Facebook products which they can’t use offline.

Would statically serving videos and apks work on an esp?

1 Like

When you start talking about large video files serving on wifi, I can tell you that the ESP32 does not have the horsepower.

As part of a charity campaign, I’ve build a bunch of Othernet (previously known as Outernet) raspberry pi’s along with Kiwix databases.

For the price of a RPi, SDR dongle, solar panel and battery you get the entire Wikipedia, Gutenberg library, etc… plus current events, news and weather.

1 Like

What a wonderful thing you’re doing!

Serving videos and apks, sure. It’ll work just keep your bitrates low and you won’t be able to serve to many clients at once. You’ll probably need to do a few tests on what ever system you develop to make sure it works, but it should be fine.

2 Likes

:tada: :tada: That’s encouraging.

Yea, I wasn’t expecting many users at once. The web interface could even have a download option, where they could download each video at a time to watch on their phones.

Any tips on what an energy setup could look like?

This is the web server we use for Meshtastic, I’m much happier with it than what comes with the Espressif libraries:

For power usage, not off the top of my head.

1 Like

Another thing to consider would be Rachel Pi, which other than it not being as super low power as an ESP32, I think it already does everything that you want to do. Might that work on top of the https server @mc-hamster mentioned?

Othernet is facinating @Chiumanfu, thanks for sharing.

@apt105 I’ve got the software part for a Pi setup pretty much figured out. I’m really looking at a much cheaper and energy efficient alternative to single-board computers.

I think esp32 is not a good file server :frowning:

You could use a second hand router, tplink usually have lede/openwrt support and on a pendrive or external disk have the files :slight_smile:

Maybe use esp32 as a static website and some magnet links or .torrent files.
Let someone download them and when someone has those files (both devices on the same wifi network) on their device they can download :slight_smile:

1 Like

I second the Pi0W ideas, but understand your reasons for looking for cheaper and more power efficient devices.

I did a search hoping to find information on esp32 bit torrent clients and came up empty. I think being able to offer content over a p2p network would be ideal. Would be easy with a Pi.

For something totally different I was looking into Progressive Web Apps (PWA) and P2P for sharing and hosting content. I found a company that has a solution but I think they want money to use it. I’d be interested in working with others on combining PWA and P2P

1 Like

How will potential users of this service be charging there own devices?

If you start considering a charging station for users adding a Pi0W may not be that much more of an expense.

Maybe this is a good middle of the road option:

Laranja pi i96 256mb Cortex A5 32bit com wifi/bluetooth/câmera funções placa de desenvolvimento|orange pi|orange pi with wifipi orange - AliExpress

1 Like

oh yes - ESP32 could work for this application, but I’d recommend something like the $7 Orange pi instead. IMO a way better fit - much easier engineering.

Also if you are trying to make this replicatable, something based on linux (distributed via apt?) could allow multiple possible solutions with whatever the cheapest linux-arm+wifi based board can be found at the time/place. Part of the ‘success’ of meshtastic is that I intentionally didn’t target one particular board but rather “any cheap board with lora”. (very different than other lora projects)

If you are trying to make a “digital media + wikipedia + other info kiosk device for the developing world” you might be best saying "use any cheap device that can run linux, but we recommend the orange-pi (or whatever). Just install linux and then “apt install luandrotool”

1 Like

That’s actually a great idea @anothercarolina and @Spor7biker. Webtorrent might do the trick for using the PWA. I’ll think about it. We can even run Secure Scuttlebutt on the browser too.

@geeksville the audience I have in mind would actually have little use for something like Wikipedia, as they are mostly of oral culture. I’m thinking more in the lines of Android applications that can be useful for them, and most specially video tutorials on how to make use of these tools and teaching about possibilities such as mesh networks (using LibreRouter or Meshtastic).

The idea is too have this really really cheap and plug-and-play solution that we can ship to as many villages as possible. When they power it up (through solar or w/e) they connected to the access point, navigate thru a captive-portal where then can download apks or watch the videos.

The i96 Orange Pi seems like a good solution, but what would the minimal solar-power setup for it look like? A 10W panel with a 5v charge controller, so that it works only during the day (that’s actually an advantage)? Would sun instability, turning the board on and off, “hurt” it?

1 Like

Ideally a small battery would be included.

I’ve built Rpi servers for remote schools in SEA, providing Wikipedia, Kiwix, NextCloud etc. I found that the cost of the Rpi was of little concern compared to the cost of storage, power, and networking. Not to mention, training a local teacher/caretaker so that it’ll actually be used effectively.

I’ve tried various smaller/cheaper boards that serve Wifi, and found their limited performance and capabilities to offer very little value compared to what a full linux machine can serve. The Rpi (and clones) are quite amazing as they are.

2 Likes