Letters from Fedora #2

Having suffered a persistent issue with Arduino Nano’s FTDI chip (under Windows 7) – the OS refuses to relinquish/refresh to COM port upon device removal – I thought I’d try installing several Nanos within Fedora. Result? Flawless integration, no searching for drivers (Arduino IDE 1.6.7) or device management. Now I don’t have to put them up for sale, I can use them with Supercollider.

todo: install PlanetCCRMA;

under Win7 try to disable automatic COM port enumeration, see if I can use them within either OS.

Letters from Fedora #1

Having spent most of the first weekend of 2016 trying to install a dual boot system on my aging ASUS N55S laptop, I thought I should recount my experiences, as a personal log mainly.

Fedora (23), first and foremost requires an extended partition on an OS. There are numerous tutorials out there, but the most n00b-proof one I found is here:

win 7 extended partition

The reason for this is that the Fedora installer (Anaconda) needs to be able to create a number of volumes of differing sizes (/boot, swap, /home etc) and Simple Volumes, Logical Drives etc cannot support this (E&OE).

So, I created an extended partition in Windows 7, (which shows up as Free Space) and ran the Fedora installer (from a USB drive). It allowed me to create several partitions, for /boot, swap and / partitions but failed at the final hurdle BECAUSE:

MBR or Master Boot Record is gradually becoming replaced by GPT.


To do this on my laptop would require deleting all partitions and the entire OS. It is possible to change MBR to GPT on a disk, but must be done on a single unpartitioned disk, with no data whatsoever. GPT also supports multiple volumes (like an Extended Partition under Windows).
So I just changed MBR to GPT on my 150GB external disk and I can boot into it from Windows BIOS; not quite a dual boot system but hey. I am now running Arduino and Processing within a Linux distro. Next stop PlanetCCRMA, Supercollider and OpenSoundControl.


Multiplexed FSRs

If you don’t want to use Dropbox the text is here:

The concept
To construct a grid of dynamic and discrete FSRs, without using independent analogue read pins for each FSR. The concept is borrowed from Oxer and Blemmings (Apress 2009), chapter 8, which describes and demonstrates how to hack a resistive touch panel overlay. The concept requires alternation between 5v (HIGH) and ground (LOW) using digitalWrite on the analogue pins. Separate analogue pins are used in the present example to read discrete touch and force, with the novel implementation that the number of discrete points = N 2 , where N = number of analogue read pins used. For example, 5 analogue input pins can be used to read 25 discrete and dynamic contact points. A delay of 5ms is applied between the alternating functions, to allow the pin voltage to settle.

Proof of concept
A proof-of-concept circuit is constructed using copper tape and Velostat, common materials used to construct FSRs. However, we use a column and row arrangement of power/ground electrodes separated by Velostat. The lower two electrodes connect to a grounding resistor (10k Ohms) and the top two connect to analogue inputs A0 and A1. These pins are used to digitalWrite HIGH or LOW, to read one column at a time.By powering the leftmost column HIGH and the rightmost LOW, we can read the variable current on either of the two lower electrodes; this represents top left and bottom left FSRs (analogue read pins A2 and A3). Setting the leftmost column LOW and the rightmost HIGH, we can again read the variable current on the same pins, this time representing top right and bottom right FSRs.

The only unknown variable in this circuit is how safe it is to pull an analogue output pin LOW, without the use of a grounding resistor – there is a grounding resistor in the circuit, on the lower electrodes, so it is presumed to be okay.

Brendan McCloskey March 31st 2015


Multiplexed FSRs

This afternoon I decided to test my theory that it should be possible to multiplex a grid of discrete FSRs, using only a small number of analogue read pins on the Arduino. The implementation borrows ideas from resistive touch panel hacking and vaguely uses the idea of multiplexing.

Rows of electrodes (tied to ground, and read) are overlaid with columns of powered electrodes, each of which is set HIGH in turn, scanning across the grid. A 5 x 5 grid, for example, allows reading of 25 discrete and dynamic contact points.

Read more here:


Video demos here:



Todo: secure electrodes, and resistive film, overlay a silicone rubber or foam surface to enhance tactility.

Arduino and Windows 8

A useful trick to get Windows 8 to talk nicely to Arduino (as at March 2015); the common method of disabling enforced device driver signature in Windows 8 simply doesn’t work for me, so this guy demonstrates how to manually select a compatible driver (for a Compaq modem) which open up the COM port between Arduino and Windows 8. Works a charm!