Elia's tinkerings

Using the Raspberry Pi as an RTL-SDR streaming server

Do you have an unused Raspberry Pi lying around your bench somewhere and just can’t figure out what to do with it? You could build a wireless RTL-SDR streaming server!

Why would you want to do that? Well, maybe you’re in a similar situation like me and your computer is in a location where radio reception is very poor. This is where a small, WiFi connected RTL-SDR would be very handy, you can set it up in places where there is better radio reception and then stream the IQ data from the SDR to your PC for further processing.

My setup currenty looks like this:

In the picture you can see that I have a powered USB hub connecting the R820T based SDR and the TL-WN725N wireless stick to the Raspi. The antenna cable running off to the top is going to the antenna which is placed outside the window for better reception (the thick, steel reinforced walls in my apartment make it impossible to even tune in to local FM stations).

Continue reading →

1 Comment

Getting into SDR

After seeing some videos of Alan Wolke, W2AEW building some software defined receiver kits and an episode of Hak5 where they track aircraft by decoding ADS-B signals my interest in RF applications, amateur radio and especially software defined receivers was spiked. Together with Michael Ossman’s great class on SDR with HackRF I finally decided to get myself one of those cheap RTL2832U based DVB-T dongles and have a go at it.

The installation of the needed software is pretty straightforward on Linux and on Windows.

Continue reading →

Moving to Dresden to study Electronics Engineering

Over the next couple of days I will be moving into my new apartment in Dresden as I will be studying Electronics Engineering at the TUD.

Of course my dorm room is quite small so I can’t do any soldering and in general can’t have a work bench like I used to have in the basement at home. All the electronics work that involves soldering and more sophisticated debugging will be done at the Dresden hacker space Turmlabor which is conveniently only a short walk away from my apartment building.

Nonetheless I have taken a couple of dev boards and basic test and measurement equipment with me to be able to do some simple debugging work in my dorm room (which should be good enough for simple microcontroller work):

Rigol DS1102E 100MHz DSO


ScanaPLUS logic analyzer

DangerousPrototypes BusBlaster JTAG interface

PICkit3 in circuit serial programmer & debugger

A couple of PIC18F dev boards


Texas Instruments Tiva-C Launchpad

Breadboard & jumper wires

I hope I’ll be able to do some more electronics work (and be motivated do so despite the fact I’ll study EE) once I’ve got everything figured out here in the new city.




Fixing ${KIGITHUB} issue in newer KiCAD builds

Today I was getting ready to associate some footprints in KiCAD for my SURV-Project and ran into issues with cvpcb.

KiCAD has been changing very rapidly since CERN announced that some of their people will be contributing to the project full time (nice to see OSS and OSHW support from CERN).

One of the new features is that the footprints (or modules as they call them) for KiCAD are now hosted on GitHub. I had some issues when starting up cvpcb complained about not being able to access the GitHub repositories for the library files.

A simple fix for this is adding this to your .bashrc:

export KIGITHUB='https://github.com/kicad'



Leave a comment

Review of the IKALogic ScanaPLUS logic analyzer

Today I received a very useful tool which will certainly ease my work with programmable logic and digital buses, the IKALogic ScanaPLUS.

It is a 9-channel 100 MHz desktop logic analyzer which will cost you 199€ (about $275 US) and comes with a 2 year warranty. The multi platform (Windows, Mac, Linux) software associated with it is called ScanaStudio 2 and comes free of charge with many different protocol decoders.


Continue reading →

Binary wrist watch guarantees being identified as a nerd

I have just finished my binary wrist watch project (well, the new revision anyway). I was surprised at how small I was able to make it compared to last time.

I chose to go with the “super-yellow” color LEDs as they fit the purple OSHpark PCB very nicely. The biggest challenge was actually making a good looking wrist band for the watch. I originally intended to use a design like this but it turned out that due to lack of enough para cord I had left, I went with a simpler design that I had done once before.

The watch in it's natural environment. The time displayed is 18:23 (6:23 PM)

The watch in it’s natural environment. The time displayed is 18:23 (6:23 PM)

Continue reading →


Using the DP Bus Blaster v3c to program Lattice CPLDs

A while ago I ordered a Lattice MachXO breakout board to play around with programmable hardware and the breakout boards by Lattice are quite cheap (compared to something like the Altera and Xilinx dev kits).

One day when playing with the CPLD board I accidentally shorted out two pins on the on-board FT2232 and – unfortunately – the magic smoke escaped! It was very clear that the FT2232 failed because it got very warm when plugging in the USB cable. Luckily the dev kit includes a 0.1″ header landing to connect an external JTAG probe.

Wanting to get a Dangerous Prototypes Bus Blaster JTAG programmer anyway, this was the perfect excuse.

Continue reading →

Revisiting the STM32F4 tutorials

First of all: I would’ve never expected the STM32F4 tutorial pages/example code to be so popular!

In the next couple of months (it will take a little as I have to study for my A-levels which are coming up in March already!) I will revise all of my example code and will give it a face lift.

The reason I want to do this is because many bug fixes have been suggested by very helpful readers and because I know how important it is to have good documentation and commented code available when trying to learn about a new microcontroller family.

I also plan on optimizing the code more (block program execution for as short time as possible).

For the sake of simplicity I will remove the static code from the individual tutorial pages and will slowly merge my STM32F4-examples repository into my primary repository for the STM32F4, the STM32F4-workarea.

The workarea repository will become a fully featured workarea with complete Makefiles and example code for important peripherals available. Each example folder will contain a README document which gives an abstract of what the code does. The comments in the code will provide detailed information on why things are done and how they are implemented like this.

Thanks again for all of you who leave nice comments and suggest bug fixes!

Don’t be afraid of leaving me a comment, I appreciate them ;)


Leave a comment

Posted on January 16, 2014

Binary wrist watch – take 2

A little bit more than a year ago I started a binary wrist watch project. I wasn’t really able to get it to work satisfactorily as some “ghosting” occured on the multiplexed LED matrix display (LEDs that were supposed to be off still glowed and were visible). As always the board I got manufactured had some hardware bugs and I couldn’t get the RTC to work reliably (it drifted quite significantly in just 24 hours). The last PCB was also very big and would have been awkward to wear on your wrist.

TL;DR I had put the project aside for a while and I’m working on a new version.


Continue reading →

PIC microcontroller tutorial #6 – USART