Skip to content

sonocotta/onion-omega-media-center

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Onion Omega Media Center

Open Source Hardware Open Source Software

DSC_0717

Onion Omega Media Center is a series of Onion Omega-based media center devices. They share a similar look, and compared to my earlier designs, they have a great-looking aluminum case.

Motivation

I did few audio projects in the past, some using ESP32, some using larger Orange Pi and Raspberry Pi devices. Each has its pros and cons, and with each iteration, I'm trying to focus on the details that were working best for me, while actually using them.

What is special about the Onion Omega is how it is lightweight and powerful at the same time. Based on OpenWRT firmware it is impossible to break (same are used by domestic wifi-routers). It uses onboard SPI storage, so it does not wear out, like SD cards are. It boots in seconds and supports major high-level languages, as well as C/C++. It's up to you and your skill set.

Sure, compared to the ESP32 platform it is not as lightweight, but it is as close as it gets while giving you plenty of memory and space. But when it comes to rapid development, it is another world, compared to ESP32.

Onion Omega HiFi

Onion Omega HiFi is a first-in-line product that uses the legendary PCM5100 series DAC with supreme audio quality. It exposes line-level output that you can plug into a stereo amplifier. Spend as much as you need on the external amp to deliver the sound you like (personally I prefer late 80's audio gear).

DSC_0722

Loud and Louder Onion Omega

This is a work in progress. Spoiler alert: Loud uses dual MAX98357 DACs with 3W per each of the two channels. Louder in its turn uses TI TAS5805M DAC with dual 22W output.

HiFi Onion Features

Onion Omega itself

  • MIPS MT7688AN CPU running at 580 Mhz
  • 64MB (OM-O2) or 128MB (OM-O2P) of RAM
  • 16MB (OM-O2) or 32MB (OM-O2P) of Flash storage
  • 2.4GHz WiFi
  • 10M/100M Ethernet
  • USB 2.0 Host
  • MicroSD slot (OM-O2P only)

DAC section

  • PCM5100A 32bit Stereo DAC
  • 2.1 VRMS Line level output
  • -100 dB typical noise level
  • Triple LP5907 3.3 V Ultra-Low-Noise LDO
  • 5V USB-C power adapter
  • Mechanical dimensions (WxHxD): 88mm x 38mm x 100mm

Other Peripheral

  • Onboard USB-Serial Bridge (UART0)
  • Onboard WS2812B LED and LED-Strip header
  • IR reader
  • TFT SPI Screen header
  • External Relay Driver

Board Pinout

Audio

I2S CLK I2S DATA I2S WS
Onion Omega 3 1 2

Screen

SPI CLK SPI MOSI SPI MISO SPI CS DC RES LED
Onion Omega 7 8 9 6 18 19 15

Other

RGB LED IR INPUT RELAY OUTPUT
Onion Omega 17 16 11

Software

Audio

The first thing to do is to follow the official tutorial. The only pitfall is that you need to use a firmware build before b195. I used b193 to be more specific. A full list of old builds can be found here, and instructions on how to flash custom firmware are here. Short version is below

$ cd /tmp
# For Omega 2 Plus
$ wget http://repo.onion.io.s3.amazonaws.com/omega2/images/omega2p-v0.2.0-b193.bin
$ sysupgrade ./omega2p-v0.2.0-b193.bin
# or Omega 2 
$ wget http://repo.onion.io.s3.amazonaws.com/omega2/images/omega2-v0.2.0-b193.bin 
$ sysupgrade ./omega2-v0.2.0-b193.bin 

The issue with later versions is that at some point I2S was disabled in favor of PWM working on the same pins. It can be restored, but requires a bit more effort.

As soon as you have proper firmware installed you need to issue the following commands

# install necessary packages
$ opkg update
$ opkg install alsa-utils mpg123
# enable I2S
$ omega2-ctrl gpiomux set i2s i2s

# Verify that souncard is present
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AudioI2S [Audio-I2S], device 0: ralink-i2s-HiFi HiFi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

# Test audio with any audio file or stream, I used my local stream here

$ mpg123 http://192.168.1.42:8000/fg
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
	version 1.22.3; written and copyright by Michael Hipp and others
	free software (LGPL) without any warranty but with best wishes

Directory: http://192.168.1.42:8000/
Playing MPEG stream 1 of 1: fg ...
ICY-NAME: Fabio & Grooverider
ICY-URL: http://www.icecast.org/

MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

ICY-META: StreamTitle='ÿþR - ÿþF';

Voila, we have a sound!

Running pulse-server

There is quite an old write-up that I did in the past. It should be still applicable and fully compatible with HiFi Omega

Screen, IR, RGB led.

This is still a work in progress since it is not one-step instruction. Some links might help to get started

Hardware

Front Back PCB
Image coming soon DSC_0717_small JPG-mh DSC_0714_small JPG-mh

Please visit hardware section for board schematics and PCB designs. Note that PCBs are shared as multi-layer PDFs as well as Gerber archives.

Useful links

To Do

Many things I'd try to do if I had a few more extra hours in the day.

  • Cross-compile librespot
  • Cross-compile snapcast
  • Cross-compile Airplay
  • Cross-compile LMS client
  • Connect to Home Assistant using any of the above
  • Configure the TFT Screen and show the VU-meter on it
  • Configure LED Strip and IR reader

If you have more time and skills than I do and are ready to check some of those out, please contact me directly. I will try sponsoring the board for you, as long as I have stock available.

Where to buy

You may support our work by ordering this product at Tindie

About

Onion Omega based media center (Hardware project)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published