Talk slides are available here. A hands-on session with real hardware is offered during the normal Code Coffee time slot (maybe 11/29 or 12/6); email Craig (ckulesa@email…) if you’re interested.

Resources

The Antarctic observatory used as an example in the talk is the High Elevation Antarctic Terahertz (HEAT) telescope at Ridge A.

Go build something and control it with software. Sparkfun and Adafruit have a lot of good resources and some nifty development boards to get you started.

Talking to hardware: SPI and I2C

Wikipedia links for I2C and SPI.

A very low-level example of performing SPI communication via a microcontroller in C is here.

For the python-centric, look at spidev and I2C, also this.

Talking to hardware: Serial (RS232, RS485, RS422)

If you get a USB-to-serial converter, ones with a Prolific PL2303 chipset will work generically under just about any operating system without fuss. They can be purchased with flying leads for about $5 and with a DB9 connector for $10-20.

The bible: Serial Programming Guide for POSIX Operating Systems.

The pySerial API is excellent and will get you to a working device quickly.

Talking to hardware: CAN bus

The SocketCAN or can-utils package will let you display, record, generate, or replay CAN traffic.

The python-can library is excellent.

Wrappers for astronomical hardware

Abstract your system onto the network using network sockets. Examples for basic client and server operations can be found in most languages like C and python. This lets you control your instrument using scripts or a GUI without impacting the hardware or low-level control software itself.

INDI, the Instrument Neutral Distributed Interface is a nifty way to wrap up multiple elements of an astronomical system into a clean, self-describing system.