Primiano Tucci


Open source enthusiast

Hobbyist photographer

DIY fanatic

My tech blog is my blog about low-level internals and electronics.
Check it out!

Open-source projects

Wake My Subnet

Remote WOL for your network

Wake My Subnet is a small Linux daemon which allows to remotely wake hosts on a network using the WOL magic packet. It provides a web-based UI and is able to lookup hosts on the network segment automatically.

Portable PGP

PGP everywhere, on every OS

Portable PGP is a java-based open source PGP tool, which runs on Windows, Linux and Mac OS X. It is available both as an installable desktop application or USB-stick portable app.


Low level APDU smart card development

JSmartCardExplorer is a cross-platform graphical low level (APDU) smart card tool aimed to help developing of smart card applications and understanding of ISO-7816 protocol.


A pure hardware implementation of Tetris

Tetris-VHDL is a bare-metal pure hardware implementation of the Tetris game on FPGA. It includes all the control logic for the game of tetris, plus a minimal minimal graphics library and a frame buffer for VGA output.


A pure Java driver for the OpenPGP Card

Java OpenPGP Card Driver is a Java driver implementing the OpenPGP Card specs. It doesn't require any additional library nor any PKCS11 module, just needs a clean Java Runtime.


A WAV file comparison tool

FourierRocks is a graphical application to compare sound (,wav) files. It performs deep analysis of differences between wav files both in time and frequency domains.


An IP over DNS tunneling tool

Netcross is a tunneling software particularly useful in restricted (firewalled) network environments, which is able to establish IP tunnels exploiting Domain Name Resolution requests/responses.


Linux Network Load Balancing

Linux Network Load Balancing is an open-source project aimed to realize decentered network load balancing clusters of Linux servers.

MC2 Multicast Chat

A Java server-less chat app

MC2 is a chat software written in Java which, unlike many popular alternatives (e.g. IRC), does not need a server but works in a distributed (i.e. peer to peer) fashion.


Java Concurrent Development frameworK

CoDeK (formerly Concurrent Development frameworK) is a very simple, open-source, academic java library aimed to help the development of Java multi-threading concurrent applications.

DIY Projects and hacks

HiFi Amplifier

Realization details of my amplifier based on the the GainClone chip

Realization details of my DIY Hi-Fi amplifier based on the the GainClone (LM3886) chip.

Stratocaster clone

Realization details of my DIY electric guitar

Realization details of my DIY electric guitar, a Stratocaster clone.

Wall-mount set-top box

My UDOO wall-mount set-top box

Pictures, video and cad model of my wall-mounted home-automation and set-top-box project based on a UDOO Quad board.


The ultimate code review gadget

LGTM-HID is a geeky (yet probably not much useful) USB gadget for ultimate code reviews. It is essentially a single-key USB-HID keyboard able to type "LGTM" (and variant) implemented using a Microchip PIC 18f4550.


About me

I am a computer engineer with a strong passion for computers, electronics, DIY, mechanics, music (I play piano and -badly- guitar), photography and traveling.

Tech-wise I am mostly interested in embedded HW, FPGAs, RTOSes, digital audio, security (mostly smart-cards and crypto-tokens), networking and OS internals.

I describe myself as an enthusiast, rationale, slightly obsessive but very relaxed person. There are only three things I can't stand in life: marketing, people showing off and astrology (particularly when the three happen together).


I grew up in a small village in Italy (Lesina, Apulia). I lived for a short while in the Silicon Valley. These days I live in London, the city I fell in love with.

I started using computers in the early 90's and coding in the late 90's. Since then I never stopped coding and the odds are I will never stop doing that. These days I am even paid for coding, which makes it twice as fun.


I graduated with honors in 2009 in computer engineering (MS) at the University of Bologna.

In 2013 I completed my PhD with a thesis entitled "Hardware/Software Design of Dynamic Real-Time Schedulers for Embedded Multiprocessor Systems".

For publications see my Google Scholar profile


I have worked in my early years as a consultant and educator in the field of FPGA, digital systems and hardware design.

In the Silicon Valley, I had the opportunity to work on NVIDIA UVM (Uniform Virtual Memory), part of CUDA 6.

These days I work on Chrome, the Internet browser that very likely you are using to view this page. I work to make it faster and less memory hungry.



PGP Key: 1A1A5397 (RSA 4096)