× “Everyone has already heard about the young person who comes to Shenzhen to make something and is astounded by the city, this is an old story - let’s talk about something else” An MIT Alum said this to me in our cab ride back from our visit to a market leading Robotics firm after about a week of my own time as a young person having my mind expanded in Shenzhen (thanks to MIT’s INM for…
Deployable robots in the woods! Drawing in space! Long exposure linework. I got lucky again this year and was able to join in Haystack Labs , which is a craft school / summer camp that Neil (my advisor) and James Rutter (Haystack Fab Lab Director) temporarily repurpose (for six days) as a kind of craft x digital-fab experiment. The gist of the experiment is to ask: why is it that digital fab and…
What feels like ages ago when we were both at the CBA, Sam Calisch pointed out to me that it’s possible to control a stepper motor as if it were a brushless motor, using field oriented control, aka FOC - everyone’s favourite motor control algorithm. This was an exciting idea and I quickly built a circuit to carry it out and I made a decent pass on the project back in 2021 although I never managed…
I’ve been at the CBA for seven and one half years and it is time to scoot. I have learned very many things, met many exceptional people, and built many circuits, fimwares, machines, systems, etc. A ‘thesis proposal’ is what you do when you think you have figured out what you will do to finish a PhD. Academia is weird because you are inventing new things, and so no-one (besides a collection of your…
Remote Procedure Calls (RPCs) are a great pattern for interfacing with embedded codes - especially when they replace serial string parsers - but they can be tiresome to generate by-hand. In this post, I demo an automatic RPC generator that pulls function signatures directly out of compiled code on embedded devices, and rolls up python interfaces for them. Automated RPCs and Templated Proxy Classes…
MUDLink on GitHub / Arduino I built a new library for Arduino that lets us promote any Serial port (UART) into a competent link / transport layer with guaranteed delivery of framed packets. MUDLink adds packet framing, delivery guarantees, and flow control to just about any UART Port. It also records stats on the link’s performance, to enable a litle bit of feedback systems assembly. I have wanted…
TL:DR, I wrote an RPC protocol and compiler tool for Arduino that lets us quickly turn hardware modules into software modules. I think it’s a good candidate design pattern for replacing newline-delimited string-parsing protocols. Remote Function Calls aka RPCs - are a pretty common design pattern in distributed systems. The basic idea is simple: we use a network connection to ask another computer…
A lotta charts and graphs in this one, friends! Low Level Link Speed Tests on the CBA GitLab I’ve been developing an FDM 3D printer that can produce oodles of data. Our collaborators at NIST are interested in this because it will allow them to build better models of the FDM process, and we are interested in that because it will allow us to better optimize FDM slicing, machine control, etc - and I…
Open Hardware has the potential to change the way we make and maintain our world - but we need to learn how to put our heads together to do it. This post contains ideas that I’ve been bothering my friends about in conversation over the course of many years, and whose inputs (and prior works!) have been hugely valuable, so, shoutouts to Nadya , Sam , Anna WB , Quentin , Leo , Ilan , and many more -…
Werner Herzog does Music Machines We had a fun week trying to make this off-the-research-piste project at Haystack this July. This was part of Haystack Labs 2023 , and I had the pleasure of working with Christopher Taylor , Quentin and Ivana Dama . In the Jewelery Studio at Haystack About Composable Systems I’ve always wanted to build some kind of prototyping kit for music machines. I’m not a…