Some of my projects
Emotion recognition inside a VR headset, on a £10 chip
I mounted a Raspberry Pi Zero and a camera on the outside of a VR headset. Via a computer vision model run on the pi, we could tell when someone smiled. This was fed into the VR environment (characters in that environment behaved differently when they knew you were smiling). The first version was made of cardboard and masking tape.
StoryFutures · 2020– Pi Zero, OpenCV, Python · finished rig filmed for AI Spy
A Duplo windmill that answers to Alexa
My son wanted a windmill that turned when he asked it to, via Alexa. A micro servo fits inside a Duplo brick. The rest of the windmill is ordinary bricks.
2019–2020 · Duplo, micro servo, Alexa
An Arduino you can hold in both arms
An Arduino Uno is about the size of a credit card. Here’s a huge one! Took some days to 3d print.
2026 · 3D printed
A brain that lights up
Full size print done with transparent PLA. The model’s from a brain scan I had a few years ago.
Christmas 2021 · white PLA, LEDs
Helen Falls In
Helen cycles the Wey towpath from West Byfleet to Godalming on a very wobbly bike. Keep her dry with the arrow keys, the left and right halves of the screen.
2026 · play it
Wind and haptics you can post to someone
Multisensory experiences mostly live in expensive venues. Here’s a robotic wind generator I built. An awesome PhD student is exploring whether augmenting movies / experiences with additional senses provided by this and other devices, boosts metrics such as enjoyment.
Ongoing · Arduino, servos, 3D printing · gamepad-controlled
A scent release device, also for Unilever
Unilever needed a way to contain scent and release it on cue. An early project of mine.
Unilever · 2012 · badged Xperiment Hardware, Mk 1.0
A six-channel taste delivery machine
Multisensory flavour research needs precisely timed, repeatable delivery of six liquids to a person’s mouth without them seeing what’s coming. I designed and built this solution.
Unilever R&D · psychophysics apparatus · clip from 2011, early version
My brain, open sourced
I have printed a lot of brains. This one is mine. The raw structural MRI and printable models are on GitHub, under Apache 2.0. You can print it yourself.
Opensourced 2019 · MRIcron, STL, 3D printed · github.com/andytwoods/brain
Vibrating HairWare
Hair follicles have tactile sensors. It’s a shame we can’t make use of them when communicating with our tech… that’s where this idea came in. Via gear I had…
· arduino
The Inclusivity Bookshelf
Three physical bookshelves already on campus, plus a website so other places of work can set up their own.
Launched 2025 · inclusivitybookshelf.com
Can I Still Code?
An ongoing longitudinal study of what AI coding assistants do to developers’ underlying Python skill. I was curious (and worried!) about the impact of coding ability due to using AI.
Ongoing · canistillcode.org · Django
LiveQual – live qualitative research that runs itself
A WhatsApp based research platform I’m proud of, made with Django. Paper coming shortly!
Current · Django
Simulating a psychology study with ChatGPT4o
I asked ChatGPT4o to simulate a psychology study with a complex multilevel design (here’s the final code). I wanted to check whether an effect we observed was down…
· simulation · psychology · chatGPT · python
DnD ability scores chance
I felt bad about rolling an 18 amongst 5 other 3d6 scores. I wrote this browser based probability checker to show that chances do happen.
· probability · dnd
IDE+browser-refresh hotkey productivity tip
Do you have your IDE and your browser open side-by-side? Do you want explicit control of when your browser refreshes with a single shortcut key? Auto-reloaders are…
Trumpet note / valve learning tool
I’ve made this tool help people like my son and me, who have trouble learning notes and fingerings. I have no formal musical training, except for 4 years of…
django htmx modal popup loveliness
I thought to share a pattern I’ve been using recently, for providing modal popups, via HTMX. I’m using Bootstrap5 but this is straightforward to implement in…
· bootstrap5 · django · htmx
TestXR – a platform for running VR studies in the wild
A platform I developed for coordinating at home and central location VR base research.
StoryFutures · Django, AWS · £200k secured
Pizero arty alexa-powered sunblind controller
I need to be careful with sunburn, so we installed an electronic sun-blind that extends out from the house to cover part of our garden. I was excited to hear from…
OK google, are there parking spaces — my PiZero, computer-vision, voice-assistant, parking-space detector
Situation
· raspberry-pi · computer-vision · ok-google · pizero
Setting up google-actions to control python gadgets
I am using PyCharm so I used it’s GUI to create a new project and a Virtual Environment. I also:
Xperiment – millisecond timing in a browser, before that was possible
Back in 2011, not a lot of research was done online. I spent seven years developing software to make this possible, rewriting the engine three times as the web platform caught up: ActionScript, then Haxe, then ES6. Conducting perception research over the internet came out of it.
Founded 2011 · ran to 2018 · AS3 → Haxe → ES6 · archived site