Skip to content

Instantly share code, notes, and snippets.

Andrew Bythell abythell

Block or report user

Report or block abythell

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
abythell /
Last active Feb 17, 2016
Bash script to install Thingspeak server on Ubuntu 12.04LTS using rvm.
# Install Thingspeak server on Ubuntu 12.04 LTS with rvm.
# Andrew Bythell <>
# Install required packages
sudo apt-get -y upgrade
sudo apt-get -y install build-essential mysql-server mysql-client libmysqlclient-dev
sudo apt-get -y install libxml2-dev libxslt-dev git-core curl rubygems
## Install rvm
abythell /
Last active Aug 29, 2015
Sample script to run Java applications on Raspbian with RXTX
# Configure Java for RXTX on embedded platforms like Raspberry Pi (Raspbian) and Beaglebone (Debian)
if [ -e "/dev/ttyAMA0" ] || [ -e "/dev/ttyO0" ]
for port in `find /dev -name 'tty*'`
abythell /
Last active Jul 9, 2018
Bash script to install a Thingspeak server on Ubuntu Server 12.04. Raspbian (2014-01-07-wheezy-raspbian). and possibly Debian-based distros.
# Automatic install of Thingspeak server on Ubuntu 12.04 / Raspbmc / Debian (?)
# Updated to use ruby 2.1.4
## Install required packages
sudo apt-get update
sudo apt-get -y install build-essential git mysql-server mysql-client libmysqlclient-dev libxml2-dev libxslt-dev libssl-dev libsqlite3-dev
## Install ruby
abythell / rxtx.xml
Last active Dec 31, 2015
Ant tasks for distributing Java projects that use RXTX binaries.
View rxtx.xml
Copyright 2013 Andrew Bythell <>
Ant tasks for distributing Java applications with platform-specific RXTX
libraries as zip files. To use:
1. Get and unzip RXTX - into your project directory.
2. Copy this file (rxtx.xml) into the RXTX directory.
3. Include rxtx.xml in your build.xml.
abythell / udisks-glue
Last active Oct 19, 2016
Debian/Ubuntu LSB init script for udisks-glue (automount removable media). To use/install, make the script executable, copy to /etc/init.d/udisks-glue, then run "update-rc.d udisks-glue defaults"
View udisks-glue
# Provides: udisks-glue
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: udisks-glue automounter
# Description: Automounts removable media
abythell /
Last active Dec 15, 2015
A script to download, build, and install CamDate, a Java application built using libgphoto2-jna. CamDate sets the current system time to the current time on a USB-attached camera.
# Automatically download, build, and install CamDate, a tool
# to set the System Time on a Raspberry Pi using a gphoto2-suppored
# camera.
# Check if root
abythell /
Created Apr 8, 2013
Use gphoto2 to set the system time from a USB-attached camera. Handy for use on a Raspberry Pi which does not have a real-time clock or network connection for NTP.
# Set system date using gphoto2 camera
# Make sure a root user is running this script
if [[ $EUID -ne 0 ]]; then
echo "Must run as root/sudo"
exit -1
abythell /
Last active Mar 9, 2016
Bash script to install Ubuntu 12.04 as a Xen paravitualized domU guest on a Xen host with LVM.
# Script to download, configure, and install Ubuntu as a Xen domU
# Uses existing LVM Volume Group. Must be run as root/sudo.
# Based on instructions at
# User Configurable Settings
NAME=ubuntu # name of Domain to create
VG=/dev/domU # existing volume group in which to create a logical volume
LV=$NAME # name of the new logical volume to create
LV_SIZE=5G # size of the new logical volume
abythell /
Last active Jun 2, 2016
Bash script to automatically install and configure Xen 4.1 on Ubuntu Server 12.04 LTS
# Setup and configure Xen DomU
# Run as root/sudo on a fresh Ubuntu Server 12.04 LTS install. Reboot when complete.
# Update
apt-get update
apt-get upgrade
# Install Xen hypervisor
apt-get install xen-hypervisor-amd64
abythell / pro-mini-isp.patch
Last active Dec 14, 2015
Arduino Pro Mini Bootloader Patch. Fixes EEWE compiler errors and adjusts the Makefile to use an STK500 programmer on /dev/ttyS0
View pro-mini-isp.patch
diff --git a/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168.c b/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168.c
index 2b9fefa..046de0c 100755
--- a/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168.c
+++ b/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168.c
@@ -580,7 +580,7 @@ int main(void)
/* if ((length.byte[0] & 0x01) == 0x01) length.word++; //Even up an odd number of bytes */
if ((length.byte[0] & 0x01)) length.word++; //Even up an odd number of bytes
cli(); //Disable interrupts, just to be sure
-#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__)
+#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega328P__)
You can’t perform that action at this time.