Skip to the content
PCBKitNew board
4 layers70 × 70 mm449pcb v1, the printed circuit board in 3D

F22 Distributed Embedded Final Project: UWB Drive-by-Wireless

Size
70 × 70 mm
Copper layers
4
Thickness
1.6 mm
Parts
56
Nets
76
Pads
284
Tracks, vias
454, 418
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
6 Nov 2022
Updated
8 Dec 2022

Overview

449pcb v1 is an open-source printed circuit board by asinghani, from the asinghani/drive-by-wireless repository on GitHub. It is a 4-layer board of 70 × 70 mm with 56 parts on 76 nets, routed with 454 tracks and 418 vias.

It is built around the RP2040, DWM3000 and ECS-120-20-3X-TR. Its parts include 17 resistors, 16 capacitors, 7 connectors, 4 ICs and 4 diodes. It belongs with the RP2040 boards of this library.

Main components

3

README

README.md

Distributed Embedded Final Project

UWB drive-by-wireless

Build Instructions

  1. Clone pico-sdk and pico-extras and put them in your environment variables as PICO_SDK_PATH and PICO_EXTRAS_PATH. Also clone FreeRTOS-Kernel, smp branch and put its path as FREERTOS_KERNEL_PATH

  2. cd firmware

  3. rm -r build; mkdir build; cd build (its safest to delete and re-make the build directory every time because CMake caches things incorrectly sometimes)

  4. cmake .. && make -j8 (this will build all 3 targets - cockpit, steering, and drivetrain)

  5. This should yield zone_cockpit.uf2, zone_steering.uf2, and zone_drivetrain.uf2 which can be flashed to the boards.

File Structure

text
- firmware/ (the directory for the firmware)
    - main.c (main entry point, shouldn't put any more code into this file)
    - utils.h (utility functions for math, safety, etc.)
    - config.h (configuration of GPIO pins, etc.)
    - FreeRTOSConfig.h
    - z_cockpit/
        - main_cockpit.c (entry point for cockpit zone)
    - z_drivetrain/
        - main_drivetrain.c (entry point for drivetrain zone)
    - z_steering/
        - main_steering.c (entry point for steering zone)
    - common/ (common stuff)
        - freertos_callbacks.c
    - peripherals/ (drivers for hardware peripherals)
        - testpoints.h (driver for test points)

- experimental/ (for test programs)

- scripts/ (scripts to run on a host machine)
    - proxy_gui.py (the steering wheel proxy, to run on Windows)

- hardware/ (hardware / CAD files)
    - 449pcb_v1/ (PCB CAD)
    - schematic.pdf (board schematic, for easy reference)

Parts

56
QtyValueFootprintReferences
6100nCapacitor_SMD:C_0603_1608MetricC5, C10, C13, C14, C15, C17
6220RResistor_SMD:R_0603_1608MetricR1, R2, R6, R8, R13, R14
547RResistor_SMD:R_0603_1608MetricR5, R9, R10, R11, R12
41uCapacitor_SMD:C_0603_1608MetricC2, C4, C12, C16
4holeMountingHole:MountingHole_3.2mm_M3_Pad_ViaH1, H2, H3, H4
210uCapacitor_SMD:C_0603_1608MetricC1, C6
21kResistor_SMD:R_0603_1608MetricR7, R15
227RResistor_SMD:R_0603_1608MetricR16, R17
227pCapacitor_SMD:C_0603_1608MetricC7, C8
25K1Resistor_SMD:R_0603_1608MetricR3, R4
10.1uCapacitor_SMD:C_0603_1608MetricC9
122uCapacitor_SMD:C_0603_1608MetricC3
1AZ1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1BlinkLConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4
1BlinkRConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ5
1DWM3000DWM3000:DWM3000U2
1DW_PWRConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP2
1DW_RSTConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1
1DebugConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ7
1ECS-120-20-3X-TRECS-120-20-3X-TR:XTAL_ECS-120-20-3X-TRY1
1GD25Q128Package_SO:SOIC-8_5.23x5.23mm_P1.27mmU3
1IOConnector_PinHeader_2.54mm:PinHeader_1x14_P2.54mm_VerticalJ6
1PWRLED_SMD:LED_0805_2012MetricD4
1PwrScrewTerminalBlock_4Ucon:TerminalBlock_4Ucon_1x02_P3.50mm_HorizontalJ2
1RP2040RP2040:RP2040-QFN-56U4
1RXLEDLED_SMD:LED_0805_2012MetricD2
1ResetButton_Switch_SMD:SW_SPST_PTS810SW1
1STATUSLED_SMD:LED_0805_2012MetricD3
1TXLEDLED_SMD:LED_0805_2012MetricD1
1TestPtsConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1
1USB_USERUSB_C_Receptacle_HRO_TYPE-C-31-M-12:USB_C_HRO-31-M-12_nofrontJ3

Questions

How big is the 449pcb v1 PCB?

It measures 70 × 70 mm and has 4 copper layers, 1.6 mm thick.

What parts does the 449pcb v1 use?

56 parts, built around the RP2040, DWM3000 and ECS-120-20-3X-TR. 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 449pcb v1 KiCad files?

From the asinghani/drive-by-wireless repository on GitHub, at the commit this page was made from: the board is hardware/449pcb_v1/449pcb_v1.kicad_pcb and its schematic hardware/449pcb_v1/449pcb_v1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the 449pcb v1 design in my own project?

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

Similar boards

  • 4 layers48.3 × 57.7 mmSensor node v1, the printed circuit board in 3D

    Sensor node v1

    asinghani/rp2040_aprs_sensor_node

    RP2040-based sensor node PCB that communicates on the APRS (Automatic Packet Reporting System) network

    57 parts2
  • 4 layers99.1 × 83.8 mmIbm-5151-pcb, the printed circuit board in 3D

    Ibm-5151-pcb

    asinghani/ibm-5151-controller

    Building a VT100 emulator out of an IBM 5151 monitor and an FPGA

    85 partsMIT
  • 2 layers50 × 56 mmOpentag, the printed circuit board in 3D

    Opentag

    open-tags/opentag

    Open-source UWB Device

    40 parts25MIT
  • 4 layers40 × 60 mmTMDT1UC1, the printed circuit board in 3D

    TMDT1UC1

    GrimGT/Meridian

    Tagged ranging and coordinate position system for FRC events. Using UWB ranging with anchors and tags to provide realtime positioning of robots

    35 parts1
  • 8 layers50 × 50 mmINT R1.0.1, the printed circuit board in 3D

    INT R1.0.1

    manyetox/Autonomous-Photonics-Carrier

    Source-available modular mobile carrier for autonomous photonics experiments using ESP32 control, optical flow, IMU sensing and magnetic wheel encoding.

    182 parts1
  • 4 layers71 × 64 mmUWB, the printed circuit board in 3D

    UWB

    victorstoica114/UWB_Module_ESP_IDF

    ESP-IDF 6.0.2 firmware for the custom UWB Module V1.0 Rev.B, based on an ESP32-S3-WROOM-1-N16R8. The same application image runs on every module; persistent identity and runtime configuration select the role and active…

    254 parts1
  • 4 layers45 × 49 mmSwarm drone, the printed circuit board in 3D

    Swarm drone

    aniranaway/Drone_Swarm

    A fully custom, low-level embedded hardware and firmware platform designed for autonomous multi drone swarms. The system integrates custom STM32-based flight controller PCBs, coreless DC motor drive arrays for a micro…

    108 parts
  • 4 layers20.3 × 49.5 mmUWB RTLS Node PCB, the printed circuit board in 3D

    UWB RTLS Node PCB

    CaramelFur/UWB-RTLS-Node-PCB

    CustomLibs has all custom libraries and 3D models used in this project. This is merged with GeneratedLibs, which contains all the libraries and 3D models from easyeda.

    2 parts