Specifications
DUELink unifies many aspects allowing modules to come in any shape and form and still conform to unified user experience.
Connections
Connections between modules and to microcomputers is accomplished using standard 4pin 1mm pitch JST connector. These low-cost and common connectors are very small that you can throw on anything without compromising space. They are available in SMT for fast machine placement and in TH in case you need to hand solder them.
The pinout consists of:
- Common Ground
- Regulated 3.3V
- DRP
- CTN
Each module includes both Upstream (white) and Downstream (blue) connectors.
The Upstream connector is used to connect the module to a microcomputer, such as Raspberry PI or Arduino, or a PC. It automatically works with I2C, UART, and USB.
When USB is mostly desired on specific boards, a USB C connector is used instead of the JST Upstream socket. This is the case with DueDuino for example.
Every single module can still access USB by wiring a USB connector the Upstream socket. We also offer USB Hook for convenience.
In some rare case, a module might have both Upstream and USB connector, like we have on Ghizzy. In this case, the user can use either USB or Downstream as they are both wired together internally.
DUELink Upstream connection is compatible with Sparkfun Qwiic and Adafruit STEMMA QT. Both use I2C, which is one of options available on any DUELink Upstream connection.
Always connect the non-DUELink modules first in line with the microcomputer then add as many DUELink modules as the wires can handle!!
The second connector is Downstream. It connects to the next modules' Upstream socket.
Each module has intelligence to know what to transfer and return throughout the entire stream. Only connect DUELink modules on the downstream connection. More details are on the Downstream page.
Upstream JST connectors must be white, while Downstream JST connectors are blue. The Upstream and Downstream connectors must also be clearly marked with U and D respectively.
Tip: When looking at the front of the module, we recommend placing the U socket on the left side, with D socket on the right.
Status LED
Each DUELink module must include a STAT (Status) LED. This is used to indicate the current status on the module and can also be user accessed using the LED command. On boards that have parts on both sides, STAT LED must be on the front face of the module.
On power up, the STAT LED shows the device status. It first blinks fast @ 50ms once of the interface is USB/UART and twice if I2C. And then it blinks slower @ 100ms when the device gets enumerated. It will blink the count of its own address. For example, the 5th device in the daisylink will blink slow 5 times.
The status LED is also available through the statled()
API.
Dimensions
DUELink modules can be of any size and form; however, they must include mounting holes that are placed on a 5mm grid. On boards with right angle corners, holes must be placed 3.5mm from the edges of the circuit.Holes are 3mm diameter with 6.6mm circle around it with copper keep out.
This allows for the use of M3 screws and hardware without worrying about creating circuit shorts.
The 5mm grid placement of holes aids in 3D-print and laser-cut enclosures design. It also allowed us to make Holey Boards!
DUELink Accessories includes all the hardware you need to mount modules.
Processor
Currently, only STM32C071 is supported with DUELink. We use QFN32 package but fear not we have made Stick to help you make your own modules!
The DUELink Sticker is a mini development board that uses the Stick to help you get started testing in your own future designs.