Neon Society Electronics

Menu

Tag Archives: Linux

So, it’s been a while since I wrote any articles, mainly because I’ve been busy in general and also busy making things. It’s just more fun to do things, rather than write about them.

But since I didn’t want any potential reader who stumbles across this site to think, that it is abandoned by the author, I decided to start posting updates on what’s to come (hopefully on a regular basis).

This is more a proof of concept project than a finished project. I’ve always wanted to build a tank drone controlled over WiFi with Video streaming and GPS navigation. So when I discovered the Carambola WiFi board back in 2011 I finally started to actually build it. This prototype has taken me about a week to develop, as such it is still rough around the edges. I wanted to test a few concepts with it to further my knowledge towards the end goal of creating a flying drone.

So I’ve recently bought a Cubieboard to use it as a file server. If you look closely at this posts featured image (or if you’ve already clicked on the link) you might notice why I picked this particular embedded board. Exactly, it has a SATA port for connecting a standard HDD or SSD to it. This should offer a huge performance improvement over USB connected HDD’s (albeit the Cubieboard still only has a 100MBit/s Ethernet interface).

I will describe what I’ve done so far with the Cubieboard and the Kinect, but it’s all on the “Hello World” level, so this post will mainly serve as a reminder for me, so that I don’t forget the basics.

Unfortunately my every day job has gotten most of my time lately and I haven’t been able to make much progress on anything. But today I had some time to play around with my new cubieboard based Fileserver and the old Microsoft Kinect I had laying around for a while now (I’ll write about that in the next post). And while I was playing around I got reminded of a very powerful Python library called numpy, which helped me solve a minor problem I still had with my TEMPer USB driver. Previously I had a problem with reading temperatures below zero, as the TEMPer protocol uses a signed integer as a datatype for the temperature and Python doesn’t have a native one Byte signed integer. But luckily numpy remedies the problem with its own datatypes, among them a one Byte signed integer (int8). So I shortly turned away from my Kinect/cubieboard endavour to fix the TEMPer driver. The solution is simple, I add numpy to my imports and convert the retrieved temperature value to numpys int8, so the final code looks like this:

If you’re like me, you’ll have a home server running some services you want to reach over the Internet when you’re at work (or something like that). Furthermore if you’re like me you’ve changed your ISP to get more bandwidth for your home server. I’ve recently switched to Unitymedia and that was the end of my home-server availability.

Why you may ask? Because Unitymedia only provides IPv6 addresses to their new customers, so effectively, if you’re in the same situation as me, you won’t be able to reach anything on your home network (not even your router) via the routers assigned IPv4 address. But don’t worry, in this post I’ll explain how to solve your problems with accessing your home-server.

Today, while browsing through my favorite tech-blogs I stumbled across a post about a new Kickstarter campaign (Kickstarter) for a new ARM based development board.

This one is going to be a little different though. It will combine a very powerful ARM SoC (capable of running Android or Linux) with an Arduino compatible microcontroller (capable of performing fast IO operations).

The Arduino compatible part is basically an Arduino Due on board. It is the same Atmel microcontroller as the Due and the breakout headers are pin compatible with the Arduino Due as well. So there’s a powerfull 32Bit ARM-Cortex M3 microncontroller for the kind of IO operations that require precise timing (like PWM, or interfacing with uncommon types of serial/parallel buses that aren’t implemented in your typical ARM SoC and/or need a real time software implementation).