Minimal Raspberry Pi solutions

419 views
Skip to first unread message

Toby Kurien

unread,
Nov 6, 2015, 12:24:45 PM11/6/15
to house4hack
I've been looking around for solutions to running the Raspberry Pi 2 (particularly with the new touch screen), in an embedded environment, like a home automation controller or similar. This is on-going research, but I found some interesting things that I thought might interest others here:

- DietPi (http://dietpi.net/) is a great baseline to work from: it's Raspbian, but stripped of all the GUI stuff. Only 90Mb to download, and you can install anything afterwards. Arch Linux is the obvious other alternative. I managed to get X running (without a desktop environment), booting straight into the PiScope software. Total install was under 1Gb.
- For a more commercial application, you probably want an even leaner setup. Check out Tiny Core Linux for RPi2: http://forum.tinycorelinux.net/index.php/board,57.0.html. Boots up to a busybox command line in under 5 seconds from power-on! Image is less than 50Mb. It's a bit line Damn Small Linux - has it's own overlay package manager with a limited set of packages, including an X desktop.
- If you want accurate control of the GPIO, for example to output a waveform accurate to 1 microsecond, it can be done! Check out pigpio: http://abyz.co.uk/rpi/pigpio/index.html It includes a Python library, runs as a service, and even accepts "scripts" that you can send it via command-line or Python, which it will execute in basically realtime. Not sure how it handles being pre-empted.
- I've been looking at possible solutions for building a GUI UI with multi-touch support that the Pi can boot into (e.g. home automation control). Python Kivy seems like a good option, but it's difficult to install and doesn't seem to use hardware acceleration. C++ and Qt5, or Python with PyQt seems like another solution. I personally love Qt with Qml for UI-heavy apps (ualso used by Ubuntu Touch, BlackBerry 10, Sailfish OS). Java with Java FX seems like another option. All of these can (in theory) run without an X server.

Hope this is useful. Please post here if you know of/are looking into other similar solutions.

Hein Venter ZS6HDV

unread,
Nov 7, 2015, 5:31:16 AM11/7/15
to house4hack
I have built a desktop arcade machine around a Pi, running Mame. I am now looking at setting up a Pi to use as digital communications terminal for amateur radio. This has been done before (running fldigi).

A project I'm seriously considering is an advanced standalone DSP noise reducing speaker, also for amateur radio and shortwave listening. BHI sells standalone units, but with a rotary switch with pre-set levels of digital filtering. No custom filtering.

There are PC apps such as DSP Filter by Grant Connell WD6CNF, but all the ones I've found are for Windows. I'd like to implement a digital bandpass filter (possibly more than one filter, e.g. notch) where you can adjust the order, low cutoff and high cutoff. I'll probably have to program the implementation myself, if I'm lucky it can be done in python. I only need a sampling rate of 8 kHz. I'm fairly new to PC (linux) programming, my experience is in embedded (PIC and a bit of arduino).

I've bought a USB sound module to get sound input and will start playing soon. Development will happen on the Ubuntu desktop first. DSP was one of my subjects at varsity so I'm not too fazed by that aspect. Although all my DSP implemetations were using Matlab many moons ago.

Message has been deleted

Toby Kurien

unread,
Nov 8, 2015, 10:44:01 AM11/8/15
to house4hack
That's a very interesting application! My final year thesis had to do with realtime audio DSP, so I have some background and am very interested, so please keep us posted!

If you like compiling stuff, buildroot and Yocto are solutions worth looking into for a minimal Raspberry Pi image. I like the Tiny Core Linux solution, here's an article about building a custom Tiny Core image:

http://fabianstumpf.de/articles/tinycore_images.htm

In related news, I am also looking into solutions for a portable tablet based on Linux that is not Android. There's a build of Sailfish OS and WebOS for the RPi2, but my favourite solution so far is to install Ubuntu Mate + touchegg (makes linux apps usable on a touch interface) + florence (on-screen keyboard). It's fun to read PDF's and web pages on the "Pi tablet". Here's a sample touchegg config, although I recommend changing the two-touch drag into a one-touch drag:

https://github.com/louisduhamel/touchegg-config

Hein Venter ZS6HDV

unread,
Nov 9, 2015, 2:30:01 AM11/9/15
to house...@googlegroups.com
From what I can determine, the commercial offering (from BHI, a leader in the field) does two things:  it has a digital filter tuned to human voice characteristics, and the selector switch determines the severity of the cutoff (order of the filter).  In addition, it can filter out single frequencies generated by the radio (heterodynes, actually from other transmissions close to the frequency of interest) in the signal by identifying these heterodynes through correllation.  This "tone reduction" is a continuously adaptive process - identifying the tone and notch filtering it out.

BHI offers a small PCB for fitting inside a radio's audio circuit, that is priced at over GBP100, so a Pi (especially with customisable filter parameters) is not a bad alternative.

So far, I have started by getting JACK audio connection kit up and running, I built from their simple client example, and at this stage I have a 125ms echo going.  Programming in C.

Hein


--
--
You received this message because you are subscribed to the Google
Groups "house4hack" group.
To post to this group, send email to house...@googlegroups.com
To unsubscribe from this group, send email to
house4hack+...@googlegroups.com
---------------------------------------------------------------------------------------------
www.house4hack.co.za     |    Centurion Tue 18-21 & Sat 9-14    |    Randburg Wed 18-21
---------------------------------------------------------------------------------------------
---
You received this message because you are subscribed to a topic in the Google Groups "house4hack" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/house4hack/xLBQ6h0MMl4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to house4hack+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages