Below is a complete, step-by-step checklist for getting the Arduino IDE to see and upload to a HexBright (the original or Flex version).
Everything is written for the current Arduino IDE 2.x (the same steps work in 1.8.x).
| OS | What you should see |
|---|---|
| Windows | Device Manager → Ports (COM & LPT) → Arduino HexBright (COMxx) |
| macOS | System Information → USB → HexBright (or Arduino) |
| Linux | ls /dev/ttyACM* or ls /dev/ttyUSB* → /dev/ttyACM0 (or similar) |
If nothing appears → install the CDC driver (see §2).
| OS | How |
|---|---|
| Windows | 1. Open Device Manager → right-click the unknown device → Update driver → Browse my computer → point to the Arduino IDE folder drivers\\ftdi (or just install the Arduino IDE – it bundles the driver). <br>2. If it still shows “Unknown”, use Zadig → select the HexBright → install libusbK. |
| macOS | No driver needed (built-in). |
| Linux | Add your user to the dialout group: sudo usermod -a -G dialout $USER and reboot. |
Create the folder
~/Documents/Arduino/hardware/hexbright/ (macOS/Linux)
C:\\Users\\<you>\\Documents\\Arduino\\hardware\\hexbright\\ (Windows)
Create boards.txt inside that folder with exactly this content:
#####################################################
hexbright.name=HexBright
hexbright.upload.protocol=arduino
hexbright.upload.maximum_size=30720
hexbright.upload.speed=57600
hexbright.upload.tool=avrdude
hexbright.bootloader.low_fuses=0xff
hexbright.bootloader.high_fuses=0xde
hexbright.bootloader.extended_fuses=0x05
hexbright.bootloader.path=optiboot
hexbright.bootloader.file=optiboot_atmega328.hex
hexbright.bootloader.unlock_bits=0x3F
hexbright.bootloader.lock_bits=0x0F
hexbright.build.mcu=atmega328p
hexbright.build.f_cpu=16000000L
hexbright.build.core=arduino
hexbright.build.variant=standard
Restart the Arduino IDE.
Select the board:
Tools → Board → HexBright
Select the port:
Tools → Port → COMxx (HexBright) (or /dev/cu.usbmodem… on macOS)
// File → Examples → 01.Basics → Blink (modify pin)
void setup() {
pinMode(9, OUTPUT); // Main LED is on pin 9
}
void loop() {
digitalWrite(9, HIGH);
delay(500);
digitalWrite(9, LOW);
delay(500);
}
Click Upload.