Skip to content

Instantly share code, notes, and snippets.

ajfisher ajfisher

View GitHub Profile
ajfisher / _PWM for
Last active Jul 8, 2020
Description of Servo PWM as opposed to normal PWM
View _PWM for

Servo PWM vs "Normal" PWM

This started from a chat in the [](Johnny Five Gitter) and I thought I'd put some notes together because this comes up relatively often as people run into the terminology confusion that is caused by the Servo Manufacturers adopting the term PWM and it's usage amongst the Arduino community in relation to analogWrite().

This is my attempt at an explanation so if I've made any mistakes then please PR and we can make this better for everyone.

Servo is generally served by PWM support, right?

Sort of - PWM is typically a reference to an on/off duty cycle time - if I set my duty cycle to 50% then my pulses are on for 50% of the time and off for 50% of the time. If it's 10% then it's on 10% of the time, off 90%.

ajfisher / _Pebble controlled NeoPixels using
Last active Jan 3, 2017
Using a pebble watch to control NeoPixel (WS2812 ) LEDs via an ESP8266 controller
View _Pebble controlled NeoPixels using
ajfisher / _Minecraft
Last active Aug 29, 2015
Minecraft Server on Raspberry Pi Set up scripts
View _Minecraft

Set up scripts for Minecraft server on Raspberry Pi


Keybase proof

I hereby claim:

  • I am ajfisher on github.
  • I am ajfisher ( on keybase.
  • I have a public key ASAr91tycIDKyqUprNG3JOPdjHO8K70YBU3qKY2Oq68w6wo

To claim this, I am signing this object:

ajfisher / _Ping I2C Johnny Five
Last active Mar 29, 2020
Building an I2C backpack for HC-SR04 ultrasonic sensor
View _Ping I2C Johnny Five

Building an ultrasonic sensor backpack

Note: This is a bit of a scratch to see what's involved in getting the ping sensor to work as an I2C backpack.



ajfisher /
Created Nov 14, 2014
How to make Cricket Australia Live Stream work full screen on your PC.

Making your Cricket Australia live stream bigger.

If you signed up for Cricket Australia's digital streaming service this summer you'd be pretty disappointed with the very tiny size of the video stream. For those of us that can't get terrestrial TV for whatever reason and use digital services and paid good money for them this is a terrible decision.

Thankfully, with a bit of CSS-fu it's possible to get an almost full-screen video feed and get rid of all those rubbish ads to boot.

This is version one - mostly because I only did enough to be satisfied watching the first ODI. I'll keep this updated and refine it over the course of the summer.

Install and configure

ajfisher / network_rgb.ino
Last active Aug 29, 2015
Code for Information Radiator blog post.
View network_rgb.ino
// Adapted from generic web server example as part of IDE created by David Mellis and Tom Igoe.
#include "Arduino.h"
#include <Ethernet.h>
#include <SPI.h>
#include <string.h>
#include <stdlib.h>
#define DEBUG false
ajfisher /
Last active Jul 31, 2020
Auto WiFi detection and hotspot creation in boot for RPI

Auto WiFi detection or wifi hostpot creation during boot for RPI

Note: These are rough notes and there may be some variance as versions of raspbian get updated but should be pretty reliable as a guide.

This gist provides some instructions and config in order to have your Raspberry PI automatically connect to a roamed network, however if it fails to discover an available network it will set itself up as a wireless access point for you to connect to.


Taking your nodebot wifi

Controlling your nodebot using a USB cable is great and all, and obviously you could shell out and grab a sparkcore or some other dedicated controller but what if you've got a standard arduino and you want to take an existing nodebot wireless?

Bluetooth is an option and there's this excellent JohnnyFive wiki entry that will help you there. Bluetooth can be a bit flaky though and it's range is pretty lousy. You can also look at things like XBees and what not using point to point serial, but these are expensive and very fiddly to get working.

Really, what we want is a method of transferring data over a nice, simple, standard method, requiring little configuration, low cost and we can utilise a whole stack of the code we've already produced.

Enter the WiFi232 module. These little beauties are [available from AliExpress for $12 each](


RethinkDB Setup on OSX

This guide will get RethinkDB setup and running with a default configuration on OSX. There is also an option for setting RethinkDB to start at boot time on OSX, and a note on upgrading to a more recent RethinkDB version.

First Installation

Install Homebrew if you don't already have it:

You can’t perform that action at this time.