CubeSat Onboard Computer Design

Over the past year and a half, I have been working on the SFU Satellite Design Team as the computing subsystem lead. The team and I have been developing a low-cost, reliable, custom onboard computer (OBC) to meet the current and future mission requirements. This post features quite a few details about the project.   […]

Running HALCoGen on Mac or Linux With WINE

This tutorial covers installing and running HALCoGen for TI Hercules/TMS570 MCUs on a mac or linux using WINE. I first started using HALCoGen for the SFU Satellite Design Team, where we’re developing an onboard computer using the TI Hercules/TMS570 microcontrollers. These are really interesting industrial lockstep MCUs, with ECC memory and all kinds of neat […]

Software Setup for ARM LaunchPad Tutorial

I’ve been interested in trying out ARM microcontrollers for a long time – especially after dreaming up some projects that require building a USB device, and learning that I won’t touch them in university until my third year. Anyway, here’s an overview of how I got my TI ARM LaunchPad board up and running.   […]

TI ARM LaunchPad GPIO Unlock Tutorial

TI locks some GPIO pins because they’re required for programming interfaces like JTAG. SW2 on the LaunchPad is connected to PF0 (page 334), which is one of these locked up pins. We can’t use it as an input without unlocking it first. Here’s the code from my GPIO Input tutorial, but modified to use SW2. […]

TI ARM LaunchPad GPIO Input Tutorial

The TI Tiva Launchpad boards are an excellent way to get started working with ARM microcontrollers. With the Tivaware software suite, they’re not too much harder than an Arduino to program, either. I’ve found the tutorials from TI and elsewhere online to be very helpful. Unfortunately, the TI tutorials go over GPIO outputs, which are […]