
WALTsm
google/walt
A device for measuring latency of physical sensors and outputs on phones and computers

balancing robot
Bbot pcb is an open-source printed circuit board by SharpCoder, from the SharpCoder/bbot repository on GitHub, published under the MIT licence. It is a 2-layer board of 75.7 × 59.4 mm with 16 parts on 53 nets, routed with 233 tracks and 5 vias.
It is built around the L293D, ADXL335BCP and 74HC595, with the L7805 among its other parts. Its parts include 4 ICs, 3 capacitors and 2 resistors. It belongs with the robots and motor control boards and the AVR (ATmega, ATtiny) boards of this library.
bbot - or balancing robot - is a two-wheeled, 3D printed robot which is capable of balancing just like a seguway. The general concept behind the algorithm is: if you are falling forward, move forward. If you are falling backward, move backward. The real challenge comes in doing this quickly and accurately enough.

The main components for bbot are as follows:
The project is split out into different folders. Each folder is responsible for a different aspect of the robot design.
The algorithm which is currently implemented takes the approach of measuring the accelerometer sensor readings every 30ms and then comparing the observed values with a known threshold. If the readings indicate it is tilting forward, the robot will activate the step-forward routine for each motor. If the readings indicate it is tilting backward, the robot will activate the step-backward routine for each motor.
In order to actually move the motors, two primary files are responsible. The first being motors.h and motors.cpp. This code is designed to track which phase of each motor is active at any point in time. Knowing what phase is active allows us to determine what move to take in order to transition to a forward or backward step state. The H-Bridge is actually wired up to a shift register and to activate it, we must keep track of which pins are active in the shift register. The code which handles this is in the files shift.h and shift.cpp. Managing the shift register is relatively straightforward and simply requires sending an int array containing the state of each pin.
Collecting telemetry is an important part of this project, so that the thresholds can be tweaked in order to improve the algorithm. The logger.h and logger.cpp files are responsible for this. By leveraging a Sparkfun OpenLog, we are able to stream telemetry data to an SDCard. Each time the sensor is observed, its readings are written to the SDCard.
You can build the code through the arduino IDE. The microcontroller I used is the Adafruit Metro Mini, which is compatible with most Arduino board targets (for example: Arduino Pro Mini).
TBD
TBD
All source code and models are provided under the MIT license.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | HA-552-4P | bbot-pcb:HA-522P-Latch_Terminal | U1, U3 |
| 2 | L293D | Package_DIP:DIP-16_W7.62mm | MOTOR1_L293D1, MOTOR2_L293D1 |
| 2 | SPARKFUN-RESISTORS_4.7KOHM-0603-1_10W-1% | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P2.54mm_Vertical | R1, R2 |
| 2 | Screw_Terminal_2 | bbot-pcb:Screw_Terminal_2 | BatteryPack1, PowerSwitch1 |
| 1 | 74HC595 | Package_DIP:DIP-16_W7.62mm | SHIFT_REGISTER1 |
| 1 | ADXL335 | bbot-pcb:ADXL335 | U2 |
| 1 | ArduinoProMicro | promicro:ProMicro | U4 |
| 1 | C.0047mf | Capacitor_THT:C_Axial_L3.8mm_D2.6mm_P7.50mm_Horizontal | C2 |
| 1 | L7805 | bbot-pcb:L7805-A | MOSFET1 |
| 1 | L7805_IN_CAP | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C5 |
| 1 | L7805_OUT_CAP | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C4 |
| 1 | MountingHole_3mm | MountingHole:MountingHole_3mm | Mounting Hole |
It measures 75.7 × 59.4 mm and has 2 copper layers, 1.6 mm thick.
16 parts, built around the L293D, ADXL335BCP, 74HC595 and L7805. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the SharpCoder/bbot repository on GitHub, at the commit this page was made from: the board is bbot-pcb/bbot-pcb/bbot-pcb.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

google/walt
A device for measuring latency of physical sensors and outputs on phones and computers




comakingspace/FlipDotDisplay
They were bought at the Makerfaire Hannover 2016.



EthanSousaProjects/CBR_Custom_Cluster
A custom cluster design for my CBR 125RW6 (2006 carb model) to replace the old large mechanical cluster with a smaller simpler design.