LEAP#354 PissOff Mutant Offspring

Somewhere in my travels (Five Below?) I picked up a cheap SpiderBot robot kit mainly to see how they drive the legs. OK, interesting for about 15 minutes then I guess I started channeling Sid and decided to hook it up with the BoldPort PissOff.

So now I have an angry sentry dog that scuttles about like a spider.

As always, all notes, schematics and code are in the Little Electronics & Arduino Projects (more...)

LEAP#353 D Flip-Flop with NAND Gates

The D Flip-flip is the synchronous (clocked) sibling of the D latch.


There are various ways of constructing a D flip-flip from fundamental logic units, here I’m using only NAND gates. And there we have it - 1 bit of memory in a clocked register! It’s nice to see it work, even if this circuit is no longer of any real practical use.

As always, all notes, schematics and code are in the Little Electronics (more...)

LEAP#352 Decoding ACARS

Aircraft Communications Addressing and Reporting System (ACARS) is a short message digital datalink protocol transmitted around 129-137 MHz in different regions. As well has assisting air traffic control, it is (I gather) how services like flightaware get their data.

For a quick test, I’m using the open-source rtl_acars_ng. It built and ran on MacOSX without trouble, connecting to an R820T2+RTL2832U dongle.


As always, all notes, schematics and code are in the Little Electronics & Arduino (more...)

LEAP#351 SDR with cheap R820T2/RTL2832U dongles

Cheap SDR dongles? Apparently it all started when a bunch of folks (Antti Palosaari, Eric Fry and Osmocom) found that the signal I/Q data could be accessed directly from the Realtek RTL2832U digital TV tuner chip, allowing it to be turned into a wideband software defined radio receiver with just a little extra hardware and softare.

Combined with a tuner front-end (commonly the Rafael Micro R820T2) in a USB dongle package with dinky antenna, these (more...)

LEAP#350 Drawing Circuits with CircuitScribe

There seems to have been quite a boom in conductive paint/ink applications in recent years. From the (google) research I’ve done, I haven’t found any particular reason for “why now” .. no great materials breakthough seems to be driving the trend. Perhaps it is more a market-pull situation - more people interested in wearables and flexible tech for example.

When I saw the latest Circuit Scribe kickstarter campaign, it was a perfect opportunity to try some (more...)

LEAP#349 BURN a new demo for the Stringy

So, a long time after building the Boldport Club String, I decided to read the source .. and discovered I totally missed the fact that it has a demo mode!

I started out reading the source to learn more about the tricks James Hutchby used to implement the Karplus-Strong algorithm, but I was quickly distracted and decided first to make some new demo tracks..

After first confirming I could burn the original source, and of course (more...)

LEAP#348 D Latch with NAND gates

The gated D latch is perhaps the fundamental 1-bit memory unit in active digital logic.


There are a few ways of constructing a D latch, here I’m using a NAND gate SR latch as the base, which is convenient as all it requires is a single 74LS00 (quad two-input NAND).

As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub hero_image

LEAP#347 RF Connectors

Just notes on RF connectors, including crimping your own… As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub hero_image

LEAP#346 S/R Latch with NAND Gates

Yet another implementation of a Set-Reset flip-flip, this time using NAND gates.

The NAND gate implementatation has an undefined state with both inputs high, whereas a NOR gate implementatation has an undefined state with both inputs low.

Consequently NOR gates are typically used for active-high SR latches and NAND gates for active-low SR latches. A good example of this is the application in touch sensors, where active low makes sense. See the Boldport Club tap (more...)

LEAP#345 Boldport Club MOSTAP

The MOS TAP circuit was originally published in Elektor magazine in Feb 1975. It was an update or the original TTL Tap circuit to use “state-of-the-art” COSMOS (CMOS) components.

In practical terms, that means 4000-series logic instead of 7400-series logic.

The Boldport Club version of this venerable circuit makes an additional improvement by replacing the output stage BJT drivers with 2N7000 n-channel MOSFETs so that the project really does live up to it’s name!

I’ve (more...)

Reduce Proxmox LXC Backup Size and Time

Proxmox backs up guests byte-for-byte in a compressed archive. Looking at LXC backups specifically, the file system is compressed into the target backup file with just a few exceptions – temp files aren’t included. You can also add your own exceptions by editing the vzdump.conf to exclude specific file patterns. All that said, one of

Gitlab Runner Error: sudo: no tty present and no askpass program specified

After issuing the first build on a dynamically created Container I came across the following build error when running a command with sudo. [crayon-59847f31522f3681093998/] The error is caused by trying to run a command with sudo, however the calling user has not been authorised to use sudo. The error isn’t helpful, and doesn’t really spell out where to

Scripted Install of Oracle Java 8 on Ubuntu 16.04

Please see Install Oracle Java In Debian/ Ubuntu using apt-get for more information. [crayon-59844b9392d4e955734194/]  

Rename a Proxmox Host

Renaming a Linux server’s hostname is usually a trivial task, and that’s no Different to a Proxmox server providing it’s not part of a cluster. If your machine is in a cluster then things get a bit more complicated and that’s a blog subject for another day. For a single node machine it’s simple –

Proxmox 5.0 is now available

Today, the Proxmox VE team have released a new version of Proxmox, incrementing the major version to 5.0! The new version packs in a raft of new features, the headline being the new Replicated Storage feature which enables batch style synchronisation of local storage volumes across servers. You can download the ISO from https://www.proxmox.com/en/downloads/item/proxmox-ve-5-0-iso-installer Highlights

OBI formatting grand totals – without XML!

Recently I needed to have some conditionally formated grand total rows in OBI. I remember years ago hacking around with the XML which is far from ideal. I then realised it could be done another way, here is the example:   Create an analysis with a measure column: Apply the conditional format on the Actual

Start/ Stop Container Using The Proxmox Web API in Bash

The Proxmox Web API can perform any actions available in the front end Web. By implementing a REST API, all commands have been exposed and can be used programatically. In this example we’ll use Bash to call the Proxmox Web API with our authentication token to start and stop an existing LXC Container. See this

Generating Diceware Passwords in Python

Today I’m going back to a theme from a post last year and looking at generating passwords with my favourite programming language. A tweet from Simon Brunning pointed me to Micah Lee’s article at The Intercept and my first thought was to write a function to do this in Python. So here it is;

def generate_diceware_password(word_count=6):
    import random
    word_dict = {}
    passphrase = []
    with open('diceware.wordlist.andy.txt') as f:
        for line in f. (more...)

Teaching an old dog to Fish

Inspired by the recent furore around Shellshock I decided that it was time to try an alternative to bash. By the very grown up process of shutting my eyes and poking my finger at the results of a search for “shell” I ended up at fish shell, described by the project as “a command line shell for the 90s”. I’m presuming that this means the 1990s and is not a minimum age requirement.

I’m (more...)

Generating Reasonable Passwords with Python

Thanks to a certain recent Open SSL bug there’s been a lot of attention paid to passwords in the media. I’ve been using KeePassX to manage my passwords for the last few years so it’s easy for me to find accounts that I should update. It’s also a good opportunity to use stronger passwords than ‘banana’.

My problem is that I have always resisted the generation function in KeePassX because the resulting strings are very (more...)