I’m a software engineer from Christchurch, New Zealand now in Zürich, Switzerland.
Electrical and Electronic Enginnering
University of Canterbury
Mathematics
University of Canterbury
A build of the Sawppy rover
A build log of my work-in-progress project to solar power my home server.
Notes on using an Aluminium case ST Link v2 clone as a development board
Added SAMD21 support to the Zephyr ROS
Seeing how C++17 compares to Go
A fast indoor mousebot
A rover tracking camera
A balancing robot written in Go and running on ARM Linux.
I’m getting a 10 square metre office built in the garden. Let’s solar power it! This page has notes. Most bits are from Jaycar. A 380 W pure sine wave inverter.
Ideas for future projects.
The Never complete; often never started autopilot.
Some things I’ve hacked on.
A toy compiler for the PL/0 educational language.
ser2neo makes it easier to drive a NeoPixel ring
Markdown templates for project plans, etc.
Day 1 Controller brownout when accelerating. I can reproduce this on the bench by gunning the throttle with the wheels off the ground. The documentation suggests that the power module is designed for 3S batteries, not the 2S equivalent that my 7.
The NAZE32 is a STM32 based flight controller. I own a rev5 version with the baro and magnetic compass that would be a great sensor and controller board for nppilot. This page has notes on the hardware itself.
crucis Thinkpad R500 P8600 HD3470 Uses PC3-8500 / DDR3-1066 orion ASUS 1215B Uses DDR3 PC3-10600 2 x SO-DIMM Spare Kingston KVR800D2S5/2G: 2GB 256M x 64-Bit DDR2-800 CL5 Elpida 1GB 2Rx16 RC2-6400S-666
Random, incomplete notes on using a Miniand Tech Mini Xplus H24 as a server machine. v2 I’ve soldered up a serial port so doing things from scratch is much easier.
From left to right: Prague for the 2010-07 sprint Orlando, Florida for the 2010-10 LDS Budapest for the 2011-05 LDS Dallas, Texas for the 2011-01 sprint San Francisco, California for the 2012-02 Connect Orlando, Florida for the 2011-10 Connect Brisbane, Australia for the 2011-01 LCA Hong Kong for the 2012-05 Connect San Diego, California for the 2012-08 Plumbers Copenhagen, Denmark for the 2012-10 Connect I’m missing a Cambridge mug for the 2011-08 Connect and Shenzhen for 2011-11.
I’d like to set up clean auto builds of my personal projects and some upstream projects like crosstool-ng, gcc, and binutils. Clean install I’d like the build to run in a clean setup so the base system can be used for general development without affecting the build results.
TCHAIN_PREFIX = arm-none-eabi- export CODE_SOURCERY = NO to skip -fpromote-loop-indicies Command line programming There’s an experimental command line programmer in ground/openpilotgcs/src/experimental/USB_UPLOAD_TOOL. Use http://juju.net.nz/src/pilot-hacks.git/tree/opuploadtool.mk to build it. Custom code The link command is
Links SynoCommunity Optware What’s running The usuals cron inetd syslogd rsyslogd hotplugd Services ntpd sshd Apache httpd 2.2.22 postgres cupsd Sambda nmbd / smbd snmpd avahi-daemon lighttpd for MediaServer Layout Generally under /usr/syno with one directory per package.
I’ve worked remotely since 2009. Here’s some random notes. Organisations The New Zealand Open Source Society: http://nzoss.org.nz/ Canterbury Software Cluster: http://www.canterburysoftware.org.nz/ Institute of IT Professionals (old NZCS): http://www.iitp.org.nz/ Christchurch Robotics Club:
Using the new features in C++11 and the GCC extensions in anger.
I’m using the Jaycar MP3735 12V/24V 30A MPPT Solar Charge Controller for charging my office. It’s got a micro on board so let’s open the box and try and get more information out of it.
Documentation: https://help.ubuntu.com/community/UEC/Images The image itself: http://uec-images.ubuntu.com/oneiric/current/oneiric-server-cloudimg-armel-disk1.img This is the plain QCOW2 image. The normal one includes OMAP3/4(?) kernel but I’ll use the vexpress-a9 Linaro hwpack instead. michaelh@crucis:~/linaro/tests/qemu/img$ qemu-img info oneiric-server-cloudimg-armel-disk1.img image: oneiric-server-cloudimg-armel-disk1.
Download 1.0.1. Needs PHP 5.2.3+, MySQL, various extensions. apt-get install php5-cli mysql-server php5-curl php5-mysql php5-gd php5-gmp Would be nice to shift to Debianised versions of the external libraries. MySQL password with a c.
info.product = ‘GT-P7510/Galaxy Tab 10.1’ info.vendor = ‘Samsung’ usb.serial = ‘304D19FDB028588E’ info.capabilities = { ‘camera’, ‘portable_audio_player’ } According to: https://answers.launchpad.net/ubuntu/+question/69910 Set /etc/hal/fdi/policy/no-mtp.fdi: portable_audio_player camera