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.
This is a project that I’ve done for a friend. She desperately needed a cool light for her glass cabinet that didn’t take up too much valuable space. So I designed this light to be as flat ass possible and to perfectly fit the floor panel of her glass cabinet. To ease control of the light I integrated a Bluetooth module into the design and wrote a small Android App to connect to it.
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:
In preparation for a bigger project I’ve recently written a driver for the USB Temperature Sensor TEMPer V1.2. As this is going to be part of a bigger project that will interface with these sensors I wanted to integrate the driver with the project. So I decided to write it in Python.
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.
This is going to be my first post about one of my later projects (03/2011): The DIY 3D Display prototype. I don’t have anything documented about it, after all it was just a proof of concept. But the youtube Video generated enough comments that I will try to come up with a documentation in the next post.
In this post however I’m going to explain how I got to make this prototype and I will talk a little about how it works. For those only interested in the technical stuff head on to How it works.
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).
For a while now I’ve felt the need to document my projects, ideas and experiments.
The internet is a great source of knowledge and it has helped me countless times over the years. Thus I think it is about time that I start to contribute.
At first I will document some of the projects that I’ve already finished. Which means I’ll have to go through all the stuff that still exists and see if I can come up with some kind of useful documentation for it.
Once that’s done I’ll continue writing about more recent projects and ideas.