Skip to content

Instantly share code, notes, and snippets.

@stonehippo
stonehippo / Arduino_PN532_NTAG203_dumper.ino
Last active April 2, 2021 02:29
Reading out the contents of an NTAG203 NFC tag using an Adafruit PN532 shield for Arduino. This sketch reads and prints to the serial console all 42 pages of memory on the tag.
/*
Dump the memory on a NTAG203 NFC tag using the Adafruit PN532 RFID/NFC Shield
http://www.adafruit.com/products/789
This sketch requires the installation of the Adafruit I2C library for the shield,
which can be found at https://github.com/adafruit/Adafruit_NFCShield_I2C
The datasheet and other info for the NTAG203 can be found at
http://www.nxp.com/products/identification_and_security/smart_label_and_tag_ics/ntag/series/NTAG203.html
@stonehippo
stonehippo / smartcore_arduino_pin_mapping.md
Last active January 5, 2019 22:07
Mapping Smartmaker Smartcore CPU pins to Arduino pins.

Pin Mapping the Smartmaker Smartcores to Arduino Pins

This note details the pin mappings for the Smartmaker Smartcore microcontrollers to Arduino standards pins.

Smartmaker Smartcore: A Brief Intro

The Smartmaker1 Smartcores are small-form-factor Arduino clones.

The special thing about Smartcores is their use of the Smartmaker Open System I/O Smartbus, which is basically a snap-together bus interface for components based on pairs of the Hirose DF9-31 connector. There are two flavors of the bus, Smartbus Basic with two connector (A+B) and Smartbus Full which add two additional connectors (A+B+C+D). Each connector has 31 pins, which are assigned different purposes. The Smartmaker Wiki has more details on the Smartbus configuration.

@stonehippo
stonehippo / smartmaker_lcd_correct_pins.md
Last active December 24, 2017 23:54
Correct pins for the Smartmaker Smarthost LCD 16X2 boards

Correct Smartmaker Smarthost 16X2 Board Pin Config

The Smartmaker Smarthost LCD 16X2 boards (Smarthost LCD PRO, Smarthost LCD 16X2 MOD, and Smarthost LCD 16X2) are all carrier boards for Hitachi HD44780 driver-compatible 16x2 LCD displays.

In theory, these boards should "just work" with the Arduino LiquidCrystal library. The examples for that lib are all built around this de facto standard interface. And according to the document in the Smartmaker Wiki, the pins used in the example code (digital pins 12, 11, 5, 4, 3, and 2) are supposed to be the same ones that Smarthost LCD boards use: Smartbus pins B13, B12, B06, B05, B04, and B03, which map to the Arduino pins in question.

The correct pins

It turns out the reality of the boards doesn't match the Smartm

@stonehippo
stonehippo / IoT_object_capabilities.md
Last active April 30, 2018 21:11
Some thoughts on the capabilities of devices and object in the context of the Internet of Things.

Object and Device Capabilities for the Internet of Things

As I reflect on the Internet of Things, I have been working on a personal definition of the capabilities of devices and objects that participate in IoT. I want to have a framework for thinking about how these objects interact with the world and each other.

Properties of IoT Objects

I think there a few distinct properties of IoT objects:

  • Communicating
  • Sensing
@stonehippo
stonehippo / install_ruby_with_rbenv.md
Last active November 30, 2024 20:07
Installing a new Ruby with rbenv on Mac OS

Install a new Ruby with rbenv on Mac OS (and make yourself a superhero)

If you're doing stuff with Ruby on a Mac, e.g. installling Jekyll or something, by default you'll end up having to use the sudo command to do stuff, since the permission to modify the default config is not available to your user account.

This sucks and should be avoided. Here's how to fix that.

Installing a new Ruby

To make this better, we are going install a new, custom Ruby. This used to be a big, scary thing, but thanks to the awesome tools Homebrew and rbenv, it's a snap.*

A word of warning: you will have to use Terminal to install this stuff. If you are uncomfortable with text, words, and doing stuff with your computer beyond pointing and hoping, this may not work well for you. But if that's the case, I'm not sure why you were trying to use Ruby in the first place.

@stonehippo
stonehippo / os_x_terminal_emulation_with_screen.md
Last active August 29, 2015 14:10
Serial emulation in OS X Terminal Using screen

Serial emulation in OS X Terminal Using screen

Every once in a while, I need to connect to a serial/TTY device in OS X. I could get a terminal emulation app like ZTerm, or fire up the Arduino IDE (which has a simple terminal emulation interface), but sometimes it's just easier to open up Terminal.app and go from there.

The screen command can work as a simple terminal emulator. Here's how that works

$ screen /dev/[TTY device] [baud]
@stonehippo
stonehippo / SimpleAudioFXTrigger.ino
Last active December 19, 2022 03:21
A simple Arduino trigger of the Adafruit Audio FX Sound Board
// A simple trigger for the Adafruit Audio FX Sound Board
// For complete info on the sound board, see https://learn.adafruit.com/adafruit-audio-fx-sound-board/overview
/*
This is a simple test of a direct trigger of the Audio FX Sounds Board from an Arduino.
For my test, I used an Arduino Pro Mini running at 3.3v & 8mHz. Digital pin #4 of the Arduino
was connected to trigger pin #0 of the Sound Board, and I tied them to a common ground. I powered
Sound Board via a USB external battery for the initial tests, and the Arduino via the FTDI cable.
For later tests, I powered the Sound Board via the Arduino's VCC (3v) pin directly.
@stonehippo
stonehippo / crazy_eight.md
Last active August 29, 2015 14:12
The Crazy Eight

The Crazy Eight

A team of adventurers for GURPS Space

The Crazy Eight is the nickname of a Special Operations team working for the Union's Bureau for Special Cooperation. Like all Special Operations teams, the Crazy Eight takes on the hard missions that the Union needs to get done, no matter the challenge.

Captain Jenna Soong

Captain Soong is commander of the Union Ship Asylum, and the leader of the Crazy Eight. A former officer of the Terran Defense Force, Captain Soong was recruited by the Bureau for Special Cooperation after her involvment in the exposure of a Radu plot to destroy the Union parliament.

Joseph Nwasi

@stonehippo
stonehippo / app-prototyping-tools.md
Last active November 15, 2016 22:06
A collection of app prototyping tools that I find interesting

#App Prototyping Tools

Origami is a plugin for Apple's Quartz Composer visual development tool. Developed by Facebook for prototyping interaction design in mobile apps, Origami is well suited to that task.

Pros

  • Codeless, patches and wires interface
  • Create complex and very refined interaction prototypes quickly
@stonehippo
stonehippo / FTDI_Basic_Hookup_for_ESP-01.jpg
Last active January 6, 2022 14:09
Notes on using the ESP8266 with the Arduino IDE
FTDI_Basic_Hookup_for_ESP-01.jpg