Go Back   Home > Forums > > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Twisted Pear Superior quality electronic kits

Thread Tools Search this Thread
Old 10th August 2018, 04:25 PM   #1
torb is offline torb  Finland
diyAudio Member
Join Date: Aug 2014
Default Botic build as an easy to use streamer/tv+stereo controller

The BBB-Hermes-Chronus-Buffalo 3SE combination makes it quite easy to build really neat audio appliances.

It took me a bit of googling to put everything together, so I'll describe my build it in case it is useful to someone else. I'm a beginner in DIY audio, comfortable with Linux but not with electronics.

About this build
I used a 7805 regulator for powering the bbb. My unregulated voltage is about 16 V. The 5V-regulators heat sink is quite hot while the battery is charging, but cools down when charging is done. Input selection relays and LED:s are powered with 12 V from 7812-regs.

The appliance accepts IR remote control, has buttons for turning on the soundsystem and the TV (via external relay boxes) and 3 XLR aux-inputs. My better half has accepted it as useable and output level is limited so that my children won't blow anything up.

The dac-portion is unremarkable (but good-sounding), B3SE with iv resistors to a Salas iSelect and after that raw and transformer coupled (LL1527) outputs. I run my bass amp from the raw and my mid+treble amp from the transformer coupled output. The transformer does the low-pass filtering.

I tried the "Rasmusen effect" with capacitors across the dac-outputs (in my case 1 nF was enough) but it did not suit me.

Installing software
The easiest way is to get Mieros premade Debian-image. It's based on Debian wheezy, which is slightly dated but works fine.

Get botic v4, http://bbb.ieero.com/botic4/bbb-botic-v4-1gb.img.gz
Unzip and write the resulting .img-file to a micro-SD flash card.

Login (over the network, using SSH - Terminal on Mac, PUTTY on Windows) and change the passwords of users debian and root with the command passwd. The original password is "botic". Write passwd --help and press enter.
Add the command
ntpdate pool.ntp.org
to /etc/rc.local. This will set the systems clock so that certificates work (for installing software etc.)

Optionally expand your root filesystem (Beagleboard:Expanding File System Partition On A microSD - eLinux.org)

Update the system:
sudo apt-get update
sudo apt-get upgrade

Update to botic v7 kernel for i2c-control of the Buffalo:
Support for Botic Linux driver

Install lirc for IR-control:
Support for Botic Linux driver

Airplay support:
GitHub - mikebrady/shairport-sync: AirPlay audio player. Shairport Sync adds multi-room capability with Audio Synchronisation

Controlling stuff with python
Debian wheezy has python3.
I use polling to read GPIO:s and python-lirc for IR in small separate scripts, which communicate with a GPIO-flipping backend using the DBus system bus.
This let’s me use different event loops to handle user input.

For Python DBus-examples, see:

To have a script run automatically on startup, just add it to /etc/rc.local (again, using e.g. nano)
Using GPIO
Adafruit has a nice python-library for using GPIO:s on the bbb. Reading inputs however doesn’t work. This may be related to an old uboot-version, but the compiler toolchain on Debian Wheezy is too old to compile a newer version, so I gave up and used polling, which works great.

For logic level switches, I have used IRLD120. These are cute and cheap little mosfets. I measured a couple and they had Rds ~0,2 Ohm @ Vgs 3,5 V. Works like glue.

For switching mains-relays, I did a high side switch using IRFP9240 and IRLD120.

Do keep in mind that the GPIO-pins which carry LCD_DATA0 through LCD_DATA15 affect bootup, see https://github.com/beagleboard/beagl...er/BBB_SCH.pdf, sheet 6. This is a fun place to connect rotary encoders...
Also note that if you pull LCD_DATA2 to ground you can force the bbb to always boot from sdcard.

Switch IP_S
The pin near S is pulled high and the pin near IP is at ground. If S is pulled down to ground (IP_S is closed), I2S-input is selected. If it is left pulled up (IP_S is open) S/PDIF-input is selected.

We can control this with a GPIO using an optocoupler. I used a 4N35 driven by a IRLD120.

To get sound when using S/PDIF, you have to unmute the "External" mixer.
Miero has done a really stellar job integrating I2C-control with ALSA and we can control a lot of DAC-settings using e.g. alsamixer. See Support for Botic Linux driver

Overall I'm very happy with this build. When I do this again, I will not try to fit everything into one box and make it at least slightly repairable/less crappy. The twisted pear stuff really deserves to be made in a not crappy way.

There should be something like 100K resistors tying the XLR-inputs to ground (to avoid loud pops when switching to an unconnected input.)

The next stage is adding a proper I/V (I'm halfway done matching a gazillion jfets for a Sen I/V) and at some point I would like to try out the buffalo pro. Before I get to order that, I have to write a linux i2c driver for the 9028, so that will likely happen some time after nuclear fusion is a commercially viable way to generate power

Lastly thanks to Russ, Brian and Miero for their help and for making this fun kit available.
Attached Images
File Type: jpg 20180210_201717.jpg (423.4 KB, 94 views)
File Type: jpg 20180210_201712.jpg (434.0 KB, 94 views)
File Type: jpg 20180211_213247.jpg (806.8 KB, 87 views)
File Type: jpg 20180211_213258.jpg (862.0 KB, 87 views)
File Type: jpg 20180211_213118.jpg (1.02 MB, 86 views)

Last edited by torb; 11th August 2018 at 08:57 PM.
  Reply With Quote
Old 11th August 2018, 02:06 PM   #2
pixelpusher is offline pixelpusher  United States
diyAudio Member
Join Date: Oct 2004
Location: Minneapolis
Lot of info here. Thanks for posting.
  Reply With Quote
Old 14th August 2018, 05:19 AM   #3
Russ White is offline Russ White  United States
diyAudio Member
Russ White's Avatar
Join Date: Jan 2005
Location: Nashville, TN, USA
Wow this is awesome. Great work - not at all crappy - just very DIY Incremental is natural.

Thanks for the kind words - and I really hope you enjoy your project to the fullest.

Less pulp more juice Twisted Pear
/Twisted Pear Audio Blog
  Reply With Quote
Old 16th August 2018, 10:21 AM   #4
torb is offline torb  Finland
diyAudio Member
Join Date: Aug 2014

It's just really amazing to be able to buy an excellent kit dac, which functions as a very well supported sound card under linux and be able to build ones idea of the perfect media centre using it.

Has anyone done smart home stuff with this? Imagine sunday morning, when the bbb has started the coffee machine, warmed up them power amps and slowly raises the light as some nice radio starts playing
  Reply With Quote


Botic build as an easy to use streamer/tv+stereo controllerHide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Support for Botic Linux driver miero Twisted Pear 2623 8th January 2019 08:32 PM
Easy-to-build I/V stage Jocko Homo Digital Source 202 11th June 2018 12:27 PM
BBB/Botic/Cape play problem ichiban Twisted Pear 98 23rd January 2018 12:37 PM
Easy build amp Preacher Chip Amps 5 26th July 2006 07:19 PM
Easy to build amp Turboman Solid State 15 14th November 2005 09:56 PM

New To Site? Need Help?

All times are GMT. The time now is 10:16 AM.

Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 14.29%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Copyright ©1999-2019 diyAudio