{"product_id":"bbr-digital-expander","title":"BBR Digital Expander","description":"\u003cp\u003eBBR Digital Expander — 4 Encoders, 4 Sensors and 4 Outputs on One I2C Port\u003c\/p\u003e\n\u003cp\u003eOne I2C port in. Four encoder inputs, four sensor ports, four digital outputs and your field position out.\u003c\/p\u003e\n\u003cp\u003eYou ran out of ports\u003c\/p\u003e\n\u003cp\u003eEvery team hits it. A Control Hub has four motor encoders and a handful of I2C buses, and by the time you have a drivetrain, a lift and an intake, the arm encoder and the colour sensor are fighting over what is left. The Expander hands back four encoder inputs and four sensor ports for the cost of the one port you plug it into.\u003c\/p\u003e\n\u003cp\u003eYour loop got slow\u003c\/p\u003e\n\u003cp\u003eFour I2C sensors read one at a time is four round trips every cycle. The Expander reads all four itself, in parallel, and hands you the answers in a single transaction. Reading four sensors costs about what reading one used to.\u003c\/p\u003e\n\u003cp\u003eYour autonomous doesn't know where it is\u003c\/p\u003e\n\u003cp\u003eAn onboard six-axis gyro, fused with two dead-wheel encoders at 1 kHz, gives you field position — x, y and heading all in one read. No maths homework, no second board, no drift correction to write yourself.\u003c\/p\u003e\n\u003cp\u003eIt thinks for itself\u003c\/p\u003e\n\u003cp\u003eTeach a sensor port up to seven colours by example and it classifies continuously, faster than your loop can ask. Set a trigger, a colour seen, an object closer than 200 mm, an encoder past a count, the robot facing a heading and the board drives one of its four digital outputs on its own. Your Hub reads that as an ordinary digital input. Everything you teach lives in the board's flash and survives a power cycle.\u003c\/p\u003e\n\u003cp\u003eWorks with what you already have\u003c\/p\u003e\n\u003cp\u003eFree, open-source drivers for FTC Java, Arduino C++ and Raspberry Pi Python, MIT licensed, with the same helper names across all three. Underneath it is an ordinary I2C target at 100 or 400 kHz, so anything that speaks I2C can drive it. Firmware updates are drag-and-drop over USB, and everything you taught the board survives them.\u003c\/p\u003e\n\u003cp\u003eSpecifications\u003c\/p\u003e\n\u003cp\u003e- Interface:  I2C, 100 or 400 kHz. Address 0x38\u003cbr\u003e- Encoder inputs: 4, quadrature or pulse-width absolute, velocity calculated on the board\u003cbr\u003e- Sensor ports: 4, colour (APDS-9151) or distance (VL53L0X), any mix, detected automatically\u003cbr\u003e- Digital outputs: 4, driven by the board, with or without your code in the loop\u003cbr\u003e- Position: six-axis gyro on board, field pose fused at 1 kHz from two dead-wheel pods\u003cbr\u003e- Logic levels: 3.3 V throughout, not 5 V tolerant\u003cbr\u003e- Memory — taught colours, triggers and calibration held in flash through power-off and firmware updates\u003cbr\u003e- Documentation: \u003ca href=\"https:\/\/expander.buildingblockrobotics.com\"\u003ehttps:\/\/expander.buildingblockrobotics.com\u003c\/a\u003e\u003c\/p\u003e","brand":"Building Block Robotics","offers":[{"title":"Default Title","offer_id":48847282962654,"sku":null,"price":99.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/4759\/2414\/files\/BR-controller-bottom-device-single.png?v=1788066079","url":"https:\/\/buildingblockrobotics.com\/products\/bbr-digital-expander","provider":"Building Block Robotics","version":"1.0","type":"link"}