Lander Module Build

8 Articles



alphanumeric & 3d printing

25 Jul 2021

builds: Lander Module
tags: HT16K33 thermal-printer

Recent efforts have gone into getting the 14-segment alphanumeric display working. I first tried it with d2r2’s translation of the Adafruit library into Golang, but that proved a little frustrating. I then pivoted to periph.io’s experiment, and that worked much better. I do have to wrap it in some logic for a few reasons: out of the box, it panics in certain situations related to the decimal I will need a single interface that ends up controlling multiple ht16k33 devices (as in a 6- or 8-digit display) I will likely need to implement scrolling text I may or may not need the interface to control a whole line of nearby displays (as in the case where there are two 6-digit timers, but sometimes they work together to scroll a long string) But I got the test (ht16k33Test) to work!Read More...


RPi4 setup, The Game-Stack

4 Jul 2021

builds: Lander Module
tags: golang

To dev on the RPi 4 I have to first update it: sudo apt update df -h # to check disk has enough free space sudo apt full-upgrade sudo apt clean The game stack (tm) requires some careful thinking. I almost want to thread the quit signal all the way down, from main to the game server, to the modal game, to each mode. Because (a) the modalGame Run() can’t block on the mode’s Run(), and (b) we’ll want to wait while a mode finishes Close() before we Setup() the next mode.Read More...


state machine

3 Jul 2021

builds: Lander Module

A few things are clear today: I should dev on the RPi 4, so I can remote SSH in with VS Code The next software hurdle to cross is the modal architecture. To that end I’ve worked up an interface and implementation that uses a guitar pickup switch as a SP5T instead of its normal operation (three digital outs, five positions: 100, 110, 010, 011, 001) This modal idea is about to get a little hairier.Read More...


transcribed to Go, looks promising

30 Jun 2021

builds: Lander Module

I have successfully transcribed my simple python script to a slightly-less-simple go program. No, I don’t know why I call python files “scripts” and go files “programs”. I’ve been using the https://github.com/warthog618/gpiod library. It seems to do what we need. I didn’t immediately understand the WithFallingEdge option, but edge detection is easy enough to implement, and I bet if I tried again to figure it out I could. It’s time to try the next hurdle, and this time to start in Go.Read More...


first done 3d print, first done code!

29 Jun 2021

builds: Lander Module

First tests are promising! I have completed a 3d-printed bracket mount for the digital joystick. I have also completed a short program that reads a single mom-off-mom toggle and latches an LED every time it goes up or down. I wrote it in Python, but my hopes are high that I can transcribe it to Go next. Some resources I should look into for that effort: https://medium.com/@farissyariati/go-raspberry-pi-hello-world-tutorial-7e830d08b3ae https://github.com/warthog618/gpiod https://github.com/stianeikeland/go-rpio I have also ordered the 3rd round of parts from Adafruit and Digikey, and finished intake processing for the 2nd round.Read More...


LED driving, I2C chains, pull-up and -down resistors

27 Jun 2021

builds: Lander Module
tags: gpio i2c

I’ve been getting up to speed on LED driving and button/switch driving, so that I can prototype a Raspberry Pi with code that reads a switch, and turns on and off an LED. A couple of thoughts here: The RPi 0W has 26 available GPIO pins. This feels like a lot, but if I pair one or two LEDs with each toggle switch, I’ll run out quickly. Next I found this AW9523 breakout, which controls 16 I/O over I2C.Read More...


toggle switch guard print #1

18 Jun 2021

builds: Lander Module
tags: 3dp

I printed out the “space shuttle toggle switch guard”. In plating I selected the single guard then did “Add Part” to expand it to a row of 5. Then, in print settings I made sure to go into Expert > Infill and set “Solid infill threshold area” to 16mm^2. This ensures there’s a solid infill for the upright portions of the guard, extending just below the joint with the side plates.Read More...


Project start, core principles

17 Jun 2021

builds: Lander Module
tags: thermal-printer

A couple weeks ago Dr Professor asked me if I want to build a thing for Caravan Rally (happening this October). So far we’ve been talking about a “lander module” experience. Here are some parameters: it should be fun, engaging and diverting it should involve 2-3 people working together it should last about 5 minutes it should entail the operators landing a spacecraft it should be able to answer the question “how well did the operators land the spacecraft?Read More...