Shiva mp3 player is complete!

Aug 09

10 months ago


It took a few iterations...

It's been a while now that I've been talking about the Shiva mp3 player.

After going through MANY iterations on the hardware, the firmware and even the enclosure, I finally have something "complete".

For those who don't already know what we're talking about here: the Shiva is a fully open-source portable mp3 player that anyone can build. Both the hardware schematics and complete firmware source code are all available on

It is based on the ioNode, a tiny but powerful embedded development platform, as well as two additional modules:

  • Nomad, a tiny all-in-one (boost+charge) LiPo battery solution
  • Aecho, a complete MP3 decoder module with stereo jack output and unamplified line out

The firmware is built using the Dooba SDK.

Current status

Final enclosure design

Slightly different enclosure with raised borders

Most improvements have already been presented in a previous article: New & improved Shiva mp3 player.

The Shiva now features a 1000mAh LiPo battery, allowing up to 8 hours of continuous play. This is twice the initial 500mAh capacity.

Instead of software bit-banging, SPI is now used for communication with the MicroSD card and MP3 decoder, allowing for much higher data rates. The Shiva can handle MP3 up to 192Kbps without breaking a sweat.

The UI was greatly simplified, now featuring a 128x32 OLED display, a 5-way tactile switch (mini-joystick) for navigation, and two buttons for volume control.

Finally, the enclosure is now a very "comfortable" single chunk of plastic which is simply press-fitted on the PCB. No glue required.

Where we came from

While I didn't take pictures of every single attempt, below is a gallery presenting the major steps since the very first version.


As soon as the Shop opens, the modules presented here will be available for purchase, so truly anyone can build their own portable mp3 player and enjoy hacking it!

In the meantime, subscribe to the newsletter to get all the info!