Coder Social home page Coder Social logo

zubax / babel-babel Goto Github PK

View Code? Open in Web Editor NEW
4.0 5.0 3.0 11.07 MB

All-in-one hardware solution for developing UAVCAN-compatible devices.

Home Page: https://shop.zubax.com/collections/development-tools/products/zubax-babel-babel-all-in-one-debugger-for-robotics-drone-development

uavcan canbus embedded-systems embedded-development robotics avionics robotics-development embedded-debugging jtag jtag-probe jtag-adapter swd swd-connector microcontroller-programming dronecode-probe can-adapter usb-can usb-uart usb-hub

babel-babel's Introduction

Babel-Babel

All-in-one hardware solution for developing Cyphal/CAN and DroneCAN devices.

Babel-Babel consists of three devices that are assembled on a single PCB: 2x Babel USB-CAN adapters and a Dronecode probe (a generic JTAG/SWD + UART console adapter).

Babel-Babel is connected to the PC with a single USB cable as it contains a built-in USB hub. It provides the following interfaces for connecting to the device under development:

  • CAN 1 (UCANPHY Micro connector)
  • CAN 2 (UCANPHY Micro connector)
  • SWD and UART (Dronecode Debug connector, medium)
  • USB (regular USB A connector)

Along with that, all these interfaces are routed to additional PLS connectors (regular 0.1' single-row pin headers). These connectors may be used for production testing purposes.

Each Babel can be turned off using the corresponding dip switch.

For technical characteristics, please refer to requirements document.

Standalone debug tool

When the device is used as a standalone debug tool (when the pin headers are not used), Babel-Babel is constructed using a "novel approach" often called oreo-construction. This approach eliminates the need for having separate housing, reliably protecting all the electronics inside the device while also providing a possibility to deposit some explanatory notes on the top surface of the device (like the purpose of connectors, pinouts, etc.) without any additional technological processes, which allows Babel-Babel to be a relatively self-documenting device.

Production flashing tool

To use Babel-Babel as a production flashing and testing tool, an adapter PCB should be designed. In general, such PCB should have PBS connectors for Babel-Babel on one side and some connectors for the device under test (usually pogo pins). Both Babel-Babel and the device under test can then be connected to this adapter PCB and the flashing and testing routine can be performed.

Although using Babel-Babel for testing requires some preparations, it still may be beneficial as it greatly reduces the total amount of wiring and connectors involved in the production testing routine. This, in turn, makes the process faster, more reliable, and less painstaking.

The Mitochondrik-LV evaluation board is a good example. To eliminate additional adapter PCBs, the evaluation board is designed to host Babel-Babel directly:

Manufacturing instructions

For details on the manufacturing process of the device, check the instructions at manufacturing document.

Release notes

Newest entries at the top.

v1.3 (In progress)

  • Flip the two rest switches.

v1.2.2 (2023)

  • Added alternative part:
Original Alternative
74LVC2T45DC,125 74LVC2T45DC-Q100H

v1.2.1 (2023)

  • Replaced Parts A, C, and D (spacer) PCBs with 3D.
  • Added the Zubax logo to the enclosure PCB.

v1.2 (2023)

  • Fixed silkscreen labels and BOM inconsistencies.
  • Replaced references to UAVCAN with Cyphal/CAN.

v1.1 (2023)

  • CAN VDD pulled high with resistor.
  • Bootloader switch added to DCP with added pulup resistor.
  • CAN VBUS voltage measurement implemented.

v1.0 (2021)

The original version.

babel-babel's People

Contributors

abualkasim-bakeer avatar farzan-saleem avatar j3qq4hch avatar pavel-kirienko avatar suzonch avatar zentrus avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

babel-babel's Issues

Vref pin unrouted

VREF pin should be tied to VDD. (Controller did not work if VREF left in floating state)
image

DCP enters the bootloader mode at first power on

The DCP tends to occasionally freeze up when high-voltage power is applied to the target with Babel-Babel connected. Steps to reproduce:

  1. Connect Babel-Babel to the (unpowered) target via both CAN interfaces, the DCP port, and the USB.
  2. Connect Babel-Babel to the USB host (in my case this is a USB hub with a dedicated wall power supply).
  3. Apply high-voltage power to the target (Myxa B0 in my case).
  4. Observe DCP disappear from the list of connected devices on the host.

It may take several attempts to reproduce the problem.

The issue affects none of the other three devices connected to Babel-Babel. The DCP can be brought back to life by physically re-connecting Babel-Babel to the host with the DCP port unplugged, and then plugging the DCP port back in.

I suggest equipping the DCP port with EMI mitigation measures, perhaps resistors or chokes. Also, increasing the decoupling capacitance on the MCU might help.

Error in TPD3S014 EN pin control in Babel section

image
The drain of mosfet Q2 is directly connected to power line, which causes a short if CAN_VDD_EN is high. It should be pulled up to 3.3V power line with 10K resistor instead.
Solution for current prototypes - remove Q2 from both Babel sections (Q102, Q202) at all. They can be seen in the picture below.
image

CAN bus voltage measurement

Implement CAN bus voltage measurement as it's not implemented in babel-babel. Follow Babel for reference.

Fix USB footprint

Footprint of USB type A connector on Babel-Babel PCB does not match with the footprint of part which we a using right now. Fix it

ERC Warnings & Part Number Check

  • check R43 & R113, R213 - they have the same part number but different packages (402 & 603)
  • resolve ERC warnings in the schematic

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.