Projects Ross Glashan
Kip Biped
2021 —





A (work in progress) small, low-cost, 6-DOF, dynamically-stable biped. The primary goal (besides learning), is for the robot to be buildable using only off-the-shelf parts and a hobbyist 3D printer. Drone brushless motors with 9:1 belt reducers, Raspberry Pi, and CAN-FD bus for internal comms.
Wuffle 2
2020 —




A small (60mm tall) two-wheeled balancing robot based around an STM32H7, running a custom Erlang-like language.
STM32 Game Console
2019 —




The STM32 Game Console is a GBA-like retro console built around an STM32F7. The hardware includes a 160x120px LCD, 10 buttons, speaker and SD for game storage. It also includes a small 2D game engine written in C. The game engine runs on PCs as well as the STM32 to simplify development. I worked on a couple of game jam games (indiviually and with friends) for the console.
Brushless DC Motor Test Platform
2017 — 2019






A series of smaller projects to explore BLDC motor control, quadcopter motors, magnetic encoders, Ethercat, and Julia with the eventual goal of a low cost real-time motion control platform for robot experiments.
Quadbot
2017 — 2018


The Quadbot is a cheap 8 degree of freedom quadruped walker. Built around an STM32F042 and HXT900 micro servos, it includes a bytecode based Logo-esque language with REPL via USB.
Razen
2012 — 2016


Razen is a collaborative, scriptable schematic and PCB layout tool. The schematic and layout editor is backed by a JSON and Mercurial file store, providing a version-controlled design (with a visual-diff tool to show changes). All functionality is scriptable via a Python API, from simple scripted part generation to implementing entirely new design tools.
Awesomebus
2011 — 2014



Awesomebus is a high-speed (100Mbit), low-latency (1KHz cycle time with ~5us per-node delay) network for robot actuator control. Awesomebus uses the Ethernet physical/link layer with a custom XMOS-based MAC for on-the-fly packet processing. An ARM microcontroller (programmed in Pindakaas) handles the IO (motor and encoder interfacing).
Erwt / Noot
2011 — 2013


The Erwt and Noot are two small (75mm across) hobby robots based around the same phsyical layout and motor / wheel combo. The Erwt is a mostly through-hole design (for construction as a kit) with an AVR running a Forth. The Noot is a full SMT design with an STM32 microntroller running Pindakaas. I'm keeping notes of the design process.
Pindakaas
2011 — 2012

Pindakaas is a modern language for small embedded devices. It is type-inferred, garbage collected, and compiles to ARMv7-M. The Pindakaas prompt communicates with the target via JTAG allowing interactive development and debugging.
Foxtalk
2009 — 2011

Foxtalk is a Smalltalk implementation for the Foxbot robots. The environment runs on Mac/Windows/Linux and provides a virtual robot that simulates most of the functionality of the real hardware. The base libraries include basic motion control, shape drawing primitives, and a 2-channel music synthesizer.
Foxbots
2008 — 2011

The Foxbot is a small, cheap educational robot designed to be programmed in Foxtalk. The robot is built around a single PCB frame with an ARM microcontroller and includes 2 encodered wheels, 2 IR bump sensors, 3 line-following sensors and a beeper. A stackable expansion bus carries I2C and SPI signals to "Expansion Hats" which provide further functionality.
Happyboard
2005 — 2007
The Happyboard is a robot controller board developed for the MIT 6.270 LEGO robot competition. An Atmel AVR runs user code (C), and a Xilinx FPGA is used to offload IO-handling, driving 6 DC motors, 6 RC servos, 28 analog/digital IOs, and an 2.4Ghz RF interface.