Category Archives: geek

How the US Reverse Engineered Soviet Typewriter Bugs

This is a fascinating and in-depth description of how the US uncovered and reverse engineered sophisticated bugs placed in the electric typewriters of embassy staff in Moscow in the late 70s/early 80s.
Bruce Schneier suggests these devices may the worlds first keyloggers and it’s easy to see why. These astounding devices buffered characters typed by the golf-ball and sent them to the soviets using RF burst transmitters. It took 8 years to discover they were there!

New Toybox

Cypress PSOC BLEAnother perk of my new job is that we often get our hands on some interesting hardware, of which this superb little kit is the latest example. It’s a development kit for an amazing little chip from Cypress which, apart from having a full-on Bluetooth Low Energy (BLE) implementation, contains a Cortex M0 jam-packed with goodies, including most of the radio hardware you’ll need. It’s a great idea because it means that you can create just about any BLE device you could imagine with a single chip and the absolute minimum of external components – no need for an external microcontroller or PHY hardware.

The Kit itself consists of three  devices Рone of which is capable of being battery powered and has Arduino compatible I/O ports, an RGB LED, capacitative touch pad, buttons and proximity sensor.

The software is pretty amazing too, but only runs on Winblows. Fortunately it seems to run perfectly on a Virtualbox VM running TinyXP which means I’m happily using it on my old Mac. You design applications by dragging components into a workspace and “wiring” them together on screen. Some of the components are designed to be external (e.g. resistors and LEDs), and some are internal to the chip (for example op-amps and logic gates) but you can hook them up however you like. Obviously, one of the components you have at your disposal is a BLE module, and it comes preloaded with all of the various standard profiles and configurations, so you can literally have it behave as anything you wish from a virtual mouse to a heart rate monitor.

When your design is complete, the software will generate the corresponding code for the device, complete with comprehensive comments, and you can tinker to your hearts delight before building. You can then run and debug it on the hardware. It will even generate a full PDF datasheet for your design that you can then publish to make it look like you’re a proper chip designer who knows what he’s talking about and everything!

So as a result of this I’m very excited and have a new project in mind. OK I’ll shut up now.