Gumband Hardware - OLD

Gumband Hardware

Gumband hardware, also known as Bundle, is a programmable microcontroller-based platform that is used to control an Exhibit’s electromechanical components. This hardware has the Gumband stack built in to seamlessly monitor and interact with physical hardware such as buttons, sensors, LEDs, and motors. Bundles also allow for remote firmware updates across a fleet of hardware.

Types of Hardware

Bundle

The Bundle is Gumband-native hardware for new Exhibit development.

  • ARM M0+ core handles the entire Gumband communication stack

  • ARM M4 core is entirely dedicated to user firmware

  • Program using the Arduino IDE with the Gumband board library

  • Program natively through Cypress PSoC Creator (advanced)

  • Two 2x13 0.1” pitch connectors

  • 40 multipurpose GPIO pins

  • Existing API supports I2C, UART, SPI, Ethernet

  • Additional protocols (RS485, CAN, LIN, ModBus, etc.) supported by MCU

Gumshoe

For highly-specific functionality, an accessory board called a Gumshoe can be designed and attached to the Bundle, similar to a Pi HAT or Arduino Shield. Gumshoe designs exist for basic breakout capabilities such as screw terminals, high current relays, and stepper drivers. Deeplocal has the capacity to design custom Gumshoe PCBs. The Bundle Hardware can be breadboarded or mounted directly to Gumshoes. Mechanical Hardware drawings for mounting purposes and ECAD footprints and specification are available.

Microcontrollers with Networking

Microcontrollers with networking capabilities can enable Gumband functionality by adhering to a defined MQTT protocol and the Gumband topic hierarchy.

Microcontrollers without Networking

Microcontrollers without networking capabilities can enable Gumband functionality by using Bundle as a passthrough to the platform. To communicate with Bundle, the microcontroller must adhere to a defined low-level protocol over SPI, I2C, or UART.

Custom Microcontrollers

Deeplocal has developed other custom PCB layouts to integrate the Gumband platform into space-constrained mechanical designs and other hyper-specific applications. Deeplocal has the capacity to design custom PCBs and will assess on a case-by-case basis.

Hardware Peripherals and Properties

A Peripheral is a named assembly of physical hardware components within an Exhibit. Each Hardware device will have one or more Peripherals.

Peripherals serve as an organizational structure within which to group Properties. A Property is either an input or output of that Hardware device. Inputs include button state, switch state, dial position, etc and outputs include LED color/brightness, relay state, motor speed, etc. Each physical component within the Peripheral can have one or more Properties.

Peripheral and Property groupings are defined and implemented by the firmware developer.

Peripheral Example

A motor turns a physical wheel mechanism as part of an Exhibit experience. The Hardware device would have a Peripheral (“Output Crank”) that has two Properties (“Motor Speed” and “Motor Direction”). If necessary, that same Hardware device could control other Peripherals or they could be attached to the Exhibit using additional Hardware.

Monitoring Gumband Hardware

The Bundle Hardware natively reports its current status upon establishment of a connection to both the Gumband master and the Gumband exhibit. The initial connection handshake includes a manifest of all peripherals and properties of the current exhibit instance in addition to a packet contains status information about the hardware, including:

  • Device ID

  • Assigned IP

  • MAC Address

  • Gumband Firmware Version

  • User Firmware Version

  • Exhibit IP

  • Exhibit Connection Status

  • System Voltage

  • Last Reboot Reason