Skip to content

RobotFormAndFunction/BuffaloBytes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Outline

Overview

This repository contains Buffalo Bytes design, including the circuit board and mechanical hardware. The bill of materials and 3D design files are included. This README file details the hardware specifications and tutorials on getting started with the Buffalo Bytes platform.

The robot is presented in the the IEEE Robotics and Automation Letter article, Buffalo Byte: A Highly Mobile and Autonomous Millirobot Platform

To cite:

@ARTICLE{Singh_2024,
  author={Singh, Shashwat and Truax, Reed and St.~Pierre, Ryan},
  journal={IEEE Robotics and Automation Letters}, 
  title={Buffalo Byte: A Highly Mobile and Autonomous Millirobot Platform}, 
  year={2024},
  volume={9},
  number={5},
  pages={4067-4074},
  keywords={Robots;Robot sensing systems;Legged locomotion;Wheels;Batteries;Wireless fidelity;Three-dimensional displays;Biomimetics;field robots;biologically-inspired robots;millirobot},
  doi={10.1109/LRA.2024.3375290}}

Hardware Specifications

This section details the electrical and mechanical hardware used in the Buffalo Bytes platform.

Electrical hardware

The custom PCB for Buffalo Bytes is detailed in here, with the schematic of the board, Gerber files, and BOM (bill of materials). The microcontroller is an ESP8266x SoC (system-on-a-chip), which enables Wi-Fi, and general input/outputs. The summary of electrical hardware is below in the BOM.

Bill of materials (BOM)

Passives

Component Value Quantity Package size
Capacitor 0.1 µF 5 0603
Capacitor 8.6 pF 1 0603
Capacitor 2.4 pF 1 0603
Capacitor 10 µF 3 0603
Capacitor 1 µF 2 0603
Capacitor 5.6 pF 2 0603
Capacitor 2.2 µF 1 0603
Capacitor 220 pF 1 0603
Capacitor 0.01 µF 1 0603
Inductor 1.5 nH 1 0603
Resistor 200 Ω 1 0603
Resistor 12 kΩ 5 0603
Resistor 1 kΩ 1 0603
Resistor 4.7 kΩ 4 0603
LED Red 1 0603

Electronics

Part Part Number Quantity Package size
Antenna AN9520-245 1 ANT-SMD_L9.5-W2.1
Crystal - 26 MHz ECS-260 1 4-SMD, no lead
MCU ESP8266x 1 QFN-32
Motor driver DRV8833 1 TSSOP-16
IMU MPU6050 1 QFN-24
LDO Voltage regulator TPS7A0533PDBZR 1 SOT-23
Flash memory ZB25VQ80  1 SOIC-8

Assembly

The exploded view of a Buffalo Byte is shown below.

Exploded View of Buffalo Bytes

First, the custom PCB needs to be populated (details in Electrical Hardware), and all of the mechanical hardware sourced, printed, and molded (details in Mechanical Hardware).

Each Buffalo Byte is assembled by sliding the motors into the chassis, attached the actuated wheels to the motors, and unactuated wheels to carbon fiber axles. The molded treads are wrapped around each actuated-unactuated wheel pair. The motor wires are connected to the custom PCB, and the battery connected to the PCB as well. Kapton tape is applied around the body to secure all parts.

Programming

To Buffalo Bytes Boards has 8 headers that goes directly into female headers of ESP8266 burning fixture to upload either the bootloader or code through serial communication. A USB-ASP programmer can also be used to do the same task, though the burning fixture is recommended.

ESP8266 Burning fixture

The board can be bootloaded with both Arduino and MicroPython to make software development easy. In this work, the board is flashed with the Arduino bootloader, and the Arduino IDE was used for software development. Alternatively, the board also enables wireless programming using Wi-Fi. To do this, a base script must be first uploaded through a serial connection, then additional programs can be sent via Wi-Fi.

To bootload Micropython firmware on the board, we downloaded and uploaded the latest micropython firmware from official micropython website. (https://micropython.org/download/esp8266-1m/).

About

Buffalo Bytes repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published