HackRF SDR on OSX

I was one of the lucky recipients of Mike Ossmann‘s awesome HackRF Jawbreaker boards. I have a Ubuntu laptop I can play around with at work, but MacBook at home. I am not complaining! I wish I had a Mac at work too.

Anyhow I wanted to get it up and running on my Mac, so I could use it both at work and home. Luckily I found someone had already written up how to install GNURadio and an RTLSDR (a similar SDR) on OSX. All I had to do was fork it and extend it to add in support for HackRF.

I have a write up over at my GitHub. Give it a try and let me know if it works for you!

Linux Driver For Sure Electronics DE-DD22111

In addition to offering cool LED modules, Sure Electionics also offers a nice Demo / Driver board to go along with them. The only bummer is that the driver board needs a Windows Java program to run if you want to send text to it, to be displayed.

I did some backwards engineering and looked through the design documents, and was able to come up with a couple of Linux programs that let you display text using you computer. It is actually a really cool board and it looks like it is all based on a PIC microchip and could easily be reprogrammed. The PCB board has the traces for a clock, temperature sensor and wireless connection, so it was clearly meant to be added on to.

The board communicates with a computer over USB using a CP2102 USB to UART Bridge. The great is that most newer Linux kernels have driver support baked right in. That means that when you connect the board to your computer, it just shows up as a serial device.

To send Text to the board you need to send it through the serial port ( ttyUSB0 ). Before doing that you have to send the command for write mode. To send text to the first bank of up to 4 boards, you send “0xFE,0x47,0x01,0x01”, followed by 16 characters. You have to send 16 characters, even if you have less than 4 boards or else it goes screwy. All of the scrolling has to be done in your program and you simply change which 16 characters are currently being displayed.

I have my code up on GitHub

and here:

led.tar.gz

$100 Internet Enabled LED Message Board

The Raspberry Pi is a lot of fun to play with but I wanted to do something “useful” with it. The obvious solution was of course to connect something fun to it. I have always wanted to have a message board all to my own so I can display my wisdom and entertain my co-workers.

I could of course cough up a bunch of money and buy an assembled message board or just get a miniature “toy” version, but what fun would that be. Instead I decided to order the different components I needed to build my own.

Sure Electronics is a component manufacturer that sells straight from China. They have great prices and decent documentation. There are of course some rough edges on the documentation and demo code. They are not Spark Fun or Ada Fruit, but neither are their prices.

They sell a number of different LED Matrix. The big differences seem to be the number of LEDs, the size of the LEDs and whether they are single color or capable of multiple colors. I went with the smallest LEDs, 3mm, in green. The modules can be connected together in serial and communicate using SPI. You can have a max of 4 modules, so I got 4.

While the Raspberry Pi supports easily outputting SPI, it still takes a bit of work. In order to get going quickly, I also got a Demo Driver board that lets you control the modules using USB.

Here is what I got:

4 – 8 x 32 LED Matrix, 3mm green ( DE-DP13111 )
1 – Demo Driver Board ( DE-DD22111 )

It took about 4 weeks for the hardware to arrive, but I went with the cheapest shipping option. I am happy with the 3mm LED size. I am just setting it up in a hallway and it is easily readable 10feet away. The larger sized LEDs might have actually been worse because it would have been tougher to read the text close up.

The driver board comes with a number of test functions. It takes in 12v, and provides 5v for the LED boards. I luckily had a Radio Shack variable voltage power supply lying around. I hooked up all of the boards to make sure everything works and I didn’t have any problems.

You can also use the driver board to display scrolling messages by connect it to your computer over USB. The program to do this is available for download here. The problem is that it says it is a .zip file when in fact it is a .rar file. I tried renaming and un-rar the file after I saw another similar file on their site… and it worked. To make your life easier, I have correctly zipped it up and uploaded it.

Sure_LED_1.0.zip

Even though it is a Java program, it only seems to work on Windows computers. In order to get a better sense of what it was doing, I ran the .jar file that is include through a decompiler. Here it is:

NewLcd.src.zip

With the knowledge I gained from that I wrote my one version of the program in Linux. It should work on the Mac, but I think you need to have a serial driver loaded. I will put together a follow-up post on how to write programs to communicate with the Driver Board.