Electronic Thumb

A real life implementation of the Electronic Thumb from HHGTTG

Similar projects worth following
A microcontroller project to interact with an online ride sharing service, showing the first 10 rides leaving from your current location and presenting an interface to book the selected ride.
Has extended functionality for interplanetary travel.

Ok, let's be honest: we don't pretend to be able to create a device that can actually flag down nearby spaceships. But we CAN make a device with lots of antennas and try to do something useful with it.

The ESP8266 comes with wifi capability, we can do something useful with that. We found a ride sharing service with a public API that we could query for available rides. To keep it simple the device needs to know where you are, so we need a GPS for that. And a screen to display the results.

In keeping with the HHGTTG theme, we should also make sure the device can tell which planet it's on.. After all, GPS only works on planet Earth. We added a pressure/temperature sensor to be able to take measurements and compare those to a small database of supposedly inhabitable planets..

From there, we thought it would be nice to be able to display the measured data in a nice way, so we added a clock function where a clock is displayed and other avaiable data is presented.

Next, we thought it might be nice to be able to find other electronic thumb users. If we have wifi and a gps, we could just publish our location in the ssid, while at the same time looking for ssid's from other thumbs. If we find one we'll display the course and distance. Nice to find your family/friends in a conference hall or theme park, or put a beacon on your car and find it in the parking lot..

Lastly, we shouldn't forget to have a go at the ultimate function of the Electronic Thumb: Flagging down spaceships. Since we lack info on the protocol and frequency used to do that, we'll design our own protocol and implement it on a radio device like a 433 Mhz transmitter. It might work! It might also interfere with some local electrical equipment as well though.. Can't guarantee that our protocol wouldn't turn off all remotely switched lights in the immediate area.. And maybe, just maybe it would eventually result in a Vogon spaceship picking us up. We'll to keep our towels close at hand while testing..


Code for ESP8266

ino - 24.50 kB - 03/07/2017 at 04:04



STL file for 3D printer part 1

Standard Tesselated Geometry - 246.76 kB - 03/06/2017 at 15:22



STL file for 3D printer part 2

Standard Tesselated Geometry - 23.13 kB - 03/06/2017 at 15:22


Electronic Thumb.iam

3D design for enclosure

iam - 217.00 kB - 03/05/2017 at 19:34



part of 3D design

ipt - 249.00 kB - 03/05/2017 at 19:34


View all 7 files

  • State of the project

    Marco Saarloos03/07/2017 at 04:30 0 comments

    Our original idea was to query a ride sharing webservice ( for the first ten rides in the immediate area and display details about those rides on the oled. When we started implementing the code to do this though, we ran into a BIG problem.. The json file that we get from the blablacar api is about 30kb in size.. That's a bit rich for the 80kb ESP8266.

    We ARE making the API requests on the device though, and if we can get the data we need from some other source we will make it work like we intended. We now have plans to set up a webservice (like an AWS lambda code or something like it) that fetches the blablacar json, filters out the bits that we need and gives us a much smaller set of data to work with on our limited device..

    Other TODO's remaining:

    • 3D printing the enclosure and mounting the electronics in it
    • writing code for the 'Thumb Grid' network, where the thumb is put into WiFi AP mode with the latitude and longitude from the GPS in the SSID; Other thumbs (in wifi range) then will be able to 'see' where the thumb is and display the distance and course from it's current location
    • writing code for the 'intergalactic' part of the thumb. We're thinking about hooking up a 433 Mhz transmitter so we can put out some useful signals. We'll design a protocol for it and test to see if we can attract some Vogons..

    What's DONE:

    • Prototype electronics, consisting of a NodeMCU ESP8266 microcontroller, a 128x64 0.96" Oled, a BMP180 pressure sensor and a gps module. We use a rotary encoder to get user input and have also included a button to reset the controller.
    • 3D design for the enclosure
    • coding of basic framework for the user interface, providing a menu structure and display for clock/temperature/pressure/gps data, some graphics like 'stars' shooting through the screen and drawing a compass rose or clock. Wifi setup works, and API calls are made

  • First review is in

    Marco Saarloos03/06/2017 at 22:33 0 comments

    We got our first review in the slack channel: (there must be some weird time paradox in play here as well, as we've not sent out any beta versions yet..)

    Review Electronic Thumb.

    By accident I got a beta version of this device in my mail. It’s nice looking device, matte and smooth with only a few buttons and a dial at one end of the device. I tested the device and it seems to work however the user experience can be slightly compared to running head first into a brick wall at maximum velocity.

    I used the dial to select a destination and pressed the button to activate the signal. It took only 4 minutes before I was picked up by a Vogon Constructor Fleet. The hosts were very unpleasant to put it mildly.

    Things escalated quickly when a Vogon started reciting its poetry which is, after marriage, the worst experience I ever endured. Compared to listening to Vogon poetry passing a kidney stone is a pleasure. I was lucky to back a kickstarter project to replace some internal organs with 3D printed prostheses or else I would have died from spontanous organ failures.

    Normally every fully functional device with only a few controls would definitely get a five star rating but because of the terrible customer journey I have to award a single star.

    As a side note I’ve come to learn that instead of firing high energy beams to vaporize planets Vogons now have more sustainable methods of destruction by replacing the most powerful leader of the planet by a destructive nitwit. I hope my review reaches Earth before the election day on the 8th of november 2016.

    1 star out of 5 stars

  • 3D design

    Marco Saarloos03/05/2017 at 19:30 0 comments

    Got a 3D design for an anclosure from my brother. Thanks Pim! Got an embed link for the design, just trying it here to see if that works. -edit: well it doesn't :-( -re-edit:But I managed shared a link to the design! :-D

    I'll try to add a rendered image to the project and upload the raw design files.

    Refactored the code and added some functions as well, find the updated code on Github

  • First prototype

    Marco Saarloos03/04/2017 at 13:32 0 comments

    Well, we've built a prototype on a breadboard and added some code for the user interface. We slapped together an ESP8266 based NodeMCU with a small oled screen(I2C), a BMP 180 pressure sensor (I2C) and a gps breakout board (Serial), and for user control added a rotary encoder. Big reset button necessary in this stage of development..

    Code is uploaded on Github, go take a look if you're interested.

    Next steps are to add some functions to the code and work on the physical appearance of the thumb.

  • The basic idea

    Marco Saarloos02/28/2017 at 20:01 0 comments

    The new-year's reception at our company led to a semi-regular get-together of some colleagues to help each other with various projects. I noticed the sci-fi contest on Hackaday and we started brainstorming on a good idea for a project. HHGTTG is a favourite among our little group (it's no coincidence our company street address is at 42), and taking inspiration from there we found that with the limited time to the contest deadline a real life (though limited) version of the electronic thumb should be feasible.

    We found a ride sharing service with a well documented API and the current idea is to have an ESP8266 poll the service for rides from our current location, provided by a GPS breakout board. User interaction through a small oled display on the device and some 'flat switches and dials'..

    Will update the project once we've started hooking up the hardware parts and writing code to make it work. OH! We'll need a nice 3D printed enclosure, of course.. :-)

View all 5 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates