Firmware introduction

Introduction

This firmware (arduino pro micro sketch) is intended for small productions of commercial leds/matrix based devices. It is compatible with ATmega32U4 with Arduino bootloader (Arduino pro micro, Arduino leonardo). It is intended to simplify end user device usage (at the price of a little more configuration while building the firmware.)

This requires a dedicated PID/VID and USB name so SimHub can recognize the device without requiring the user to choose the serial port. That's why this firmware can't run on any standard arduino uno, arduino nano or arduino mega which are not capable of USB definition customization).

The sketch is a skeleton giving all the minimal code to make the leds work, other features like controller etc, can be added on your side.

In order to port this protocol to another platform you can refer the the protocol as found in protocol.h.

Overall using this sketch is not the only way to do and is not intended to constrain manufacturers, if you are building your commercial device and have already done your firmware, want a deeper integration etc ... Please contact me at https://www.simhubdash.com/simhub-contact/ so we can evaluate the possibilities.

Sketch features overview

The sketch supports :

  • Up to 4 RGB LEDS strips (WS2812B Neopixels and/or PL9823),

    • Each strip can have its direction reversed. Ideally LEDS must be ordered in end user logic (telemetry LEDs, then buttons …)

    • Leds can be organized as buttons or telemetry leds and reordered.

    • Buttons default static color car be set.

  • One WS2812B 8x8 Matrix

    • With various physical layouts pre-implemented.

  • 25KHZ Fans or custom implementation (At this date the Simhub UI does not supports them yet).

  • Upload/Wipe protection

    • To reduce unwanted flashes, sketch offers a basic upload lock security. Upload will be locked after 15 seconds (can be customized) after the device is plugged. This can be unlocked by sending either the upload unlock command or unplugging/plugging the device.

  • Automatic detection

    • Thanks to the USB signature (name and PID VID) the device can be recognized as compliant and scanned automatically.

    • Default picture URL, the default picture URL can be set in firmware.

    • Various built in combinations are available

      • DEVICETYPE_LEDS_PLUS_VOCORE = Led device + VOCORE

      • DEVICETYPE_LEDS_PLUS_USBD480 = Led device + USBD480

      • DEVICETYPE_LEDS_PLUS_MONITOR = Led device + a windows monitor (HDMI etc ...)

      • DEVICETYPE_MATRIX = Single 8x8 WS2812B matrix device

      • DEVICETYPE_MATRIX_PLUS_LEDS = Single matrix device associated with one or more led strips

      • DEVICETYPE_FANS = Fan device (Not implemented yet in SimHub)

Last updated