1. There’s something incredibly satisfying, if a little masochistic, about poring over PIC datasheets and manpages, and tinkering with low-level code you only half understand, when it all actually works and you get two devices to talk to each other (in this case a PIC16F886 and a Raspberry Pi, via I2C)

  2. Playing around with plan9.bell-labs.com/plan9 on the . It seems that old Apple keyboard+mouse are not supported even via a USB hub, but Dell USB keyboard and mouse are even without kbargs=-b in the config file.

    I’ve also had no success just formatting the SD card and dragging the image on, whereas unmounting it, then using dd to transfer the image works perfectly.

    It’s rather an intriguing operating system which I think will reward further study. Next steps:

    • Get a working kbd+mouse so I can play with it at home
    • Get it connected to a network
    • Connect it to a mac via drawterm and try using it as a visual terminal and mounting the filesystems on each other
    • Installing it on multiple Pis and connecting them together, to share processing power or memory or something

  3. Also in today: learning about I2C communications. Tips+resources:

    • @adafruit have a helpful guide to Setting up your Pi for I2C — remember to reboot after enabling I2C modules
    • All commands which access I2C need to be run as root using sudo
    • If you’re not sure which address a particular device is at, run sudo i2cdetect before and after plugging it in and see which address changed
    • If there are libraries available for easily talking to the device you’re using, make use of them. Do this first even if you want to learn about the lower level communications too to ensure that your device is working correctly.
    • Get to know i2cdump, i2cset and i2cget, they’re super useful for poking around in I2C devices

    I cobbled together a class for communicating with the ADXL345 by cross-referencing between the Arduino library for that chip and Adafruit’s I2C library, only to find that someone else had done so only hours earlier!

  4. Successfully got both my RPis automatically connecting to WiFi and serving HTTP and SSH over @pagekite. If you’re having trouble setting up SSH over Pagekite, using Interactive Testing is super useful. Turns out I had typed my secret in wrong — oops!

    At least I can not run them headless now and not keep lugging monitor, keyboard etc. into the kitchen (only source of WiFi strong enough for tiny antenna to pick up). Better for my own sanity as well as my housemates’.