HP Wi-Fi Direct Mouse on Linux

In my last post I took apart an HP Wi-Fi Direct mouse based on the OZMO2000 controller from Ozmo Devices.

OZMO based devices are officially supported on Windows 7 platform only, rendering them completely useless as nobody uses Windows anymore… right? Well, it turns out most of the code to use them in Linux is already in place, just waiting to be enabled!

Wi-Fi direct support in Linux is quite young and still considered as experimental, so read on if you dare to try!

Read more of this post


Fun with ATtiny and V-USB

Sometime you have to do build just for the fun of it.

Recently, while I was about to order a set of PCBs from my favorite website, I told a friend about a really funny project based on the V-USB stack with ATtiny devices, and he was impressed by the size of the thing… So I decided to design my own ATtiny V-USB board!

This project is a really small USB gadget without any specific I/O, and it’s designed to fit into a USB connector with the exposed PCB as small as possible.

The original idea for this board was to use it for April-fool like jokes, but the project also uses a couple of interesting features of the V-USB stack.

Read more of this post

Daemonizing Processes and System Log

If you write software for embedded applications, sooner or later you will end up writing a daemon.

In my work I see many embedded applications, but very often the programmer write and debug all the program in foreground, and then forgets to implement a simple daemonize function.

The consequence is that when the application is started from the init scripts instead that from a command shell, it locks up the entire boot sequence of the system.

Also, when writing a background application, all the messages should be redirected to the system log… don’t reinvent the wheel rewriting a new logging system!

Here I’ll show a sample daemonize() function, and how to use the syslog() library function.

Read more of this post