Repository navigation
Home
Welcome to the BowlsEye wiki! This wiki aims to provide technical information concerning the design and construction of the BowlsEye measurement system, allowing you to replicate it at home. This project has been designed for use with a RaspberryPi Zero running Raspbian 9 Squeeze with a Python GUI for user control (Linux recommended). A complete bill-of-materials for construction of the PCB and CAD design for the system housing is available here. We hope this system will be useful for settling any distance-related arguments at a bowling club near you!

The BowlsEye system determines the distance from the face of an ultrasonic transducer to an object using a time of flight calculation for multiple points within 360 degrees of rotation. The transducer is excited using an 8-cycle 40kHz square wave generated directly from the Raspberry Pi GPIO. The echo signal is then recorded at a user-defined sampling rate (500k-1MHz) via 2 channels of SPI communication protocol with a TI ADC122s101. These communication signals are generated using the pigpio C library available here. Once the distance to an object from each transducerhas been determined the motor increments a user-defined step and the measurement is repeated.
The distance-to-object measurement and associated angle is transmitted for display on the GUI via bluetooth. This is achieved on the Raspberry Pi using the Bluez C library and within the GUI using the PyBluez library. Once this data is received it is displayed within the GUI window. This also the user to save any measurement results once they have been obtained.
An overview of the software is illustrated in the block diagram below.

This repository features two versions of the PCB designed to implement the hardware required in the BowlsEye system. These files can be found in the KiCad folder. KiCad is an open source schematic capture and PCB design tool, so well worth checking out! Although two designs are included, only Proto1 has been tested, with Proto2 containing the improvements we found were needed.
CAD files for the BowlsEye base design can be found here. These files will allow you to build the base at home!