BENJA is Back, but as DIY Project 😎

Andrea Giammarchi
3 min readOct 5, 2019
BENJA SD Card Preparation Phases

I’ve archived long time ago my B.E.N.J.A. project and idea, due its unsustainable nature, where not many donated to it, but many wanted the pre-made ISO images which cost quite some bandwidth but many give websites bandwidth for granted … well, I also blame myself for never offering prepared SD cards with burned ISOs, which is why I’ve decided to give it another chance, now that all involved software is more mature on these ARM platforms, namely the Raspberry Pi family, as it’s the de-facto starting point for any Internet of Things related project.

What Is B.E.N.J.A ?

Acronym for “Bootable Electron Node JS Application”, the BENJA idea is to have an SD card you can plug everywhere to develop with, so that once you put it back to your favorite SBC, as in “Single Board Computer”, it’ll run whatever it is that you programmed via Electron, with some module that is platform dependent already installed, so that you know your Raspberry, or other SBCs, would have all the software needed to run your idea!

Sounds Good: How Do I Start?

The one-off command line to install it, is currently tested on Ubuntu, or ArchLinux, which is the best Linux distro (ahem … OS) out there, so that if you’re not on it yet, you can grab any of your older laptops and PCs collecting dust and install Endeavour OS, Manjaro, or Ubuntu on it, unless you are brave enough to try out my archiboldvanilla installer”.

Update for Mac users

If you follow these instructions and you install fuse-ext2 and a modern bash env, you can create SD cards from macOS too!

If you are on Debian/Ubuntu, be sure you have these tools installed:

sudo apt install curl libarchive-tools

However, if you have sudo, and lsblk available in your shell, you can give it a try by simply typing the following in your terminal:

bash <(curl -s

If everything goes right, you should see your terminal asking a couple of questions, and then doing stuff for you, reaching the point all you have to do is plugin your SD card into your Pi, login with alarm user and alarm password, and wait for the rest of the installation to be completed.

The result is a screen showing the SBC network address and resolution.

BENJA screen after installation

Great, So … What’s Next ?

Well, both raspi-io and johnny-five, would be already available, as example, so that you have a machine able to do more than just serving Web pages, but truth to be told there’s no limit to what you can do with Electron, an Hardware accelerated SBC, and the ability to use any pin on your board, so bring it on, and create whatever amazing thing you want to create, as I’ve created myself this “OS” simply to experiment any sort of stuff on my lovely boards, lying otherwise around with no purpose 😉

That’s it, that’s both the end of the story and the beginning of a new kind of possibilities thanks to an installer that aims at cutting all the unnecessary friction for anyone to start a DYI project.

I hope you’ll try it, and if capable, help contributing to its code base 👍



Andrea Giammarchi

Web, Mobile, IoT, and all JS things since 00's. Formerly JS engineer at @nokia, @facebook, @twitter.