Skip to the content
2 layers68.6 × 53.3 mmRoomba pcb, the printed circuit board in 3D

This is the primary repository for the Olin College Aero club's attempt at competing in IARC 2018.

Size
68.6 × 53.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
38
Pads
72
Tracks, vias
93, 0
Pours
1
Routed
Yes
KiCad
KiCad 4
Created
18 Sep 2017
Updated
14 May 2018

Overview

Roomba pcb is an open-source printed circuit board by Olin-Aero, from the Olin-Aero/iarc-2017 repository on GitHub. It is a 2-layer board of 68.6 × 53.3 mm with 21 parts on 38 nets, routed with 93 tracks and 0 vias.

Its parts include 10 connectors, 3 resistors, 3 switches, 2 diodes and 1 capacitor.

README

README.md

This is the primary repository for the Olin College Aero club's attempt at competing in IARC 2018.

Running with Docker

Installing GPU acceleration

text
# https://nvidia.github.io/nvidia-docker/
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

# https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-1.0)
sudo apt-get install nvidia-docker

Starting the container and getting a terminal

text
nvidia-docker run -it --rm \
	--net foo \
	--name devel \
	--env="DISPLAY" \
	--env=UIUSER=(whoami) \
	--volume="/etc/group:/etc/group:ro" \
	--volume="/etc/passwd:/etc/passwd:ro" \
	--volume="/etc/shadow:/etc/shadow:ro" \
	--volume="/etc/sudoers.d:/etc/sudoers.d:ro" \
	--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
	ros:iarc-2017-devel   \
	bash

Getting more terminals

text
docker exec -it devel bash

Running GUI tools

text
docker exec devel ui rviz
# or
docker exec devel ui rqt
# .... etc

Installation instructions

This repository includes a dependency on gstreamer, a program for low-latency network video streaming. You must install it for the program to build.

text
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-* gstreamer1.0-libav* gstreamer1.0-plugins*

All other dependencies can be installed using rosdep and pip:

text
rosdep install --ignore-src --from-paths $(rospack find iarc_main)/.. -y
pip install -r $(rospack find iarc_main)/../requirements.txt

Finally, catkin_make can be used to build the code

text
cd ~/catkin_ws && catkin_make

Copy camera calibration to your ROS install

text
mkdir -p ~/.ros/camera_info && cp $(rospack find iarc_vision)/calibration/* ~/.ros/camera_info/

Useful Commands

As of 12/18/2017, the following commands are useful to run the code on an AR Drone

text
roscore
roslaunch iarc_main backbone.launch
roslaunch iarc_main ardrone_interface.launch

roslaunch iarc_vision apriltags.launch
rosrun iarc_main ardrone_keyboard.py cmd_vel:=/teleop/cmd_vel

# One of the following three...
rostopic pub /arbiter/activate_behavior std_msgs/String "teleop" -1
rostopic pub /arbiter/activate_behavior std_msgs/String "goto_click" -1
rostopic pub /arbiter/activate_behavior std_msgs/String "follow" -1

rqt
rviz
rostopic echo /ardrone/navdata/batteryPercent

rosbag record -a -x ".*image_raw\$|.*tag_detections.*"

Parts

21
QtyValueFootprintReferences
4CONN_01X01Socket_Arduino_Uno:Arduino_1pinP5, P6, P7, P8
2330Resistors_SMD:R_0603R2, R3
1 0.1µCapacitors_SMD:C_0603C1
147KResistors_SMD:R_0603R1
1AnalogSocket_Arduino_Uno:Socket_Strip_Arduino_1x06P2
1DigitalSocket_Arduino_Uno:Socket_Strip_Arduino_1x08P4
1DigitalSocket_Arduino_Uno:Socket_Strip_Arduino_1x10P3
1LAND_PLATEPin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmSW1
1LED-GLEDs:LED_0805D1
1LED-RLEDs:LED_0805D2
1MODEPin_Headers:Pin_Header_Straight_1x03_Pitch2.54mmSW3
1POWERPin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJP1
1PowerSocket_Arduino_Uno:Socket_Strip_Arduino_1x08P1
1RECEIVERroomba_pcb:Receiver_IARCJ1
1RESETButtons_Switches_SMD:SW_SPST_B3U-1000PSW2
1TESTPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmTP1
1TO_CREATEPin_Headers:Pin_Header_Straight_1x07_Pitch2.54mmJ2

Similar boards

  • 2 layers28.3 × 39.8 mmLevelShifter, the printed circuit board in 3D

    LevelShifter

    gusmanb/logicanalyzer

    24 channel, 100Msps logic analyzer hardware and software

    21 parts5.1kGPL-3.0
  • 2 layers171.2 × 72.9 mmAmiga gfxcard before pour, the printed circuit board in 3D

    Amiga gfxcard before pour

    mntmn/amiga2000-gfxcard

    MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog

    21 parts1k
  • 2 layers93.9 × 46 mmRectifier, the printed circuit board in 3D

    Rectifier

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    21 parts990GPL-3.0
  • 2 layers45.5 × 42.9 mmEsphome han reader, the printed circuit board in 3D

    Esphome han reader

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    21 parts915
  • 2 layers31.8 × 14.5 mmEsp prog, the printed circuit board in 3D

    Esp prog

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    21 parts744MIT
  • 2 layers23.5 × 15.8 mmQuiverAttachPCB, the printed circuit board in 3D

    QuiverAttachPCB

    Arrow-air/project-quiver

    Project Quiver documentation, designs, and project artifacts.

    21 parts617CERN-OHL-S-2.0
  • 2 layers69.9 × 41.3 mmHeaterMeterLCD, the printed circuit board in 3D

    HeaterMeterLCD

    CapnBry/HeaterMeter

    HeaterMeter and LinkMeter Arduino BBQ Controller

    21 parts557MIT
  • 2 layers161.3 × 111.8 mmDoj, the printed circuit board in 3D

    Doj

    kelu124/echomods

    Open source ultrasound processing modules and building blocks

    21 parts463

Questions

How big is the Roomba pcb PCB?

It measures 68.6 × 53.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Roomba pcb use?

21 parts. 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.

Where can I download the Roomba pcb KiCad files?

From the Olin-Aero/iarc-2017 repository on GitHub, at the commit this page was made from: the board is hardware/roomba_pcb/roomba_pcb.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Roomba pcb design in my own project?

Its repository states no licence, so its author keeps all rights: ask Olin-Aero before reusing the design.