hi there!

Rather than keeping my stuff personal I decided it would be more fun to throw it all over the internet. This is the wikileaks of my brain. All content is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

I have a few accounts at various websites you might also be interested in: github where most of my code worth using goes, twitter which I rarely use, tumblr which you can see below and facebook; I'll let you find that one on your own. If you'd like, bitcoin donations can be sent to


If you would like to inform me of some serious facts or evidence, you can reach me at jeremy dot 006 at gmail dot com. You can also tell me if you like ampersands as much as I do.


Addressing The Greenhouse Problem (ETI Feb 1989) - I recently came into some old Australian Electronics Today International magazines and this was an article I found particularly interesting.

AVRs for friendly people {in progress} - Most guides are written for unfriendly people; I intend to change that.

Building a DIY CNC mill (sort of) {in progress} - My propensity for building things has reached its inevitable conclusion: I have decided to start building a CNC mill, one way or another.

Getting Started with the Linux Kernel and the Digilent Zybo/Xilinx Zynq - Getting started with the zybo is kind of tricky, here are some tips and tricks I worked out.

the (unofficial) guide to engineering at UQ - Stuck on your project? Here is what I wish someone told me when I was doing engineering.

Open Source Contributions - A list of my open source contributions

Regular expressions are the business! {in progress} - Processing things with a computer is hard. Unless you have regular expressions.

Getting Started with the STM32F4 and GCC - Using the STM32F4 Discovery board can be difficult if you don't want to pay for a commercial toolchain. Never fear, all of that hardware floating-point goodness is but a few clicks away.


and now for some quick updates:
  1. xilinx vivado 2016.1 on ubuntu 16.04

    for some reason, xilinx ships the 32bit ARM toolchain with their 64bit-only version ?

    here is the answer: https://forums.xilinx.com/t5/Embedded-Development-Tools/PC-with-Ubuntu-14-04-64bit-SDK-2015-1-fails-to-compile-make/td-p/596893

  2. error: -420 query unterminated

    is your keysight/agilent/hp signal generator spitting this error at you? Make sure you set the GPIB address below 21. no idea why though!

  3. sniffing usb traffic on a raspberry pi

    It’s easy:

    $ sudo apt-get install tcpdump

    $ sudo modprobe usbmon

    $ sudo tcpdump -i usbmon1

    If you get the error: can\'t open USB bus file /sys/kernel/debug/usbmon/1t: No such file or directory, you need to run the modprobe command above.

  4. installing debian on the kobo mini

    (note: I’m assuming your SD card reader shows up as /dev/disk3 like mine)

    1. Open your kobo mini, take out the microSD card and put it in your reader
    2. Run “dd if=/dev/disk3 of=/tmp/kobo_mini.bin bs=512 count=1024” then take your card out and put it somewhere safe (we don’t need it anymore)
    3. Download the kobo touch image from here (look for a dropbox link)
    4. Get a new 8GB or larger microSD and put it in your reader
    5. Burn the debian image to the new card using “dd if=~/Downloads/2013-08-17_kobo_debian.img of=/dev/disk3 bs=512”
    6. Replace the kobo touch configuration with the kobo mini configuration: “dd if=/tmp/kobo_mini.bin of=/dev/disk3 bs=512 count=1 seek=2 skip=2”
    7. Download the kobo u-boot binary from here, extract it and change to the newly created directory
    8. Replace the old u-boot with the new one for the kobo mini: “dd if=u-boot_mddr_256-E50610-K4X2G323PC.bin of=/dev/disk3 bs=512 count=137 seek=1024 skip=1024”
    9. Put the microSD into your kobo mini and enjoy!

    sources here, here and here.

  5. A neat LCD module driver for beaglebone black

    You can get these modules on ebay for less than $5 each, look for “pcf8574 lcd” or “lcm1602”. Build instructions for a standard ubuntu x86 machine:

    1. “sudo apt-get install build-essential”

    clone https://github.com/beagleboard/linux

    2. “git checkout 3.8”

    3. “cd linux; cp arch/arm/configs/bb.org_defconfig .config”

    4. Download gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux and put it somewhere (google is your friend)

    5. Clone https://github.com/tsrrocha/lcddriver and follow the install instructions

    6. “make ARCH=arm CROSS_COMPILE=/home/jeremy/downloads/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf- modules SUBDIRS=drivers/misc/lcd/lcd16x2”

    7. You should now have lcd16x2.ko in drivers/misc/lcd/lcd16x2, copy this to the beaglebone black and run “insmod lcd16x2.ko” as root or sudo

    8. Follow the instructions on https://github.com/tsrrocha/lcddriver to use your display

    Hopefully this works, it is all written from memory!

  6. christmas

    I bought myself some japanese precision ballscrews for christmas. I wonder how many people have ever done that…

  7. mayavi and vtk without a monitor on linux

    Here are the magic commands that will let you run mayavi or vtk without a display:

    $ Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./10.log -config ./xorg.conf :10
    $ export DISPLAY=:10

    Then run your python script, or run glxinfo to test if it is working. Taken from here, they also have an example Xorg configuration.

  8. I’m going to france, have some shlohmo

  9. aussie music at its finest

  10. the heartbleed OpenSSL bug

    oh dear

want more? check out the rest of my posts on tumblr.