Skip to content

Releases: mazduino/mazduino-fw

Nightly 2026-06-22

22 Jun 16:57

Choose a tag to compare

Nightly 2026-06-22 Pre-release
Pre-release

Automated nightly firmware build for Mazduino boards.

Added

  • Nightly release workflow publishing per-board .bin, .srec, and .hex artifacts as GitHub Releases
  • Docker-based build system (build_boards.sh) using --platform linux/amd64 for consistent builds on Apple Silicon and x86-64
  • TunerStudio UI flags in prepend.txt to hide ETB, traction control, boost, rotary, Harley-Davidson, torque model, and other features not applicable to each board variant
  • mazduino-mega100: STM32F407VGT6 (1MB) board with full feature set, dual pinout support (board04 and UA4C) selectable via TunerStudio board action
  • mazduino-mega100-512: STM32F407VET6 (512KB) board with reduced feature set; firmware constrained to 384KB to keep tune storage sector (sector 7, 0x08060000) free

Changed

  • _compile_unit_tests.sh updated to use boards/mazduino-lite/meta-info.env as the reference board (replacing deleted root meta-info.env)
  • generated/controllers/generated/ pre-generated headers regenerated to include CAN input/output feature structs and new enum values from the mazduino rusefi fork
  • mazduino-mega100 and mega100-512: status LED at PB7 enabled (getCommsLedPin() and LED_CRITICAL_ERROR_BRAIN_PIN both assigned to PB7)
  • mazduino-compact: second idle solenoid field corrected to secondSolenoidPin
  • mazduino-lite: knock disabled by leaving EFI_SOFTWARE_KNOCK undefined (not set to FALSE) so #ifdef guards evaluate correctly
  • mazduino-mini6ch: ts_show_traction_control true enabled as ETB-capable board is the only variant that supports traction control
  • Dockerfile updated to handle both ports.ubuntu.com (ARM64) and archive.ubuntu.com (x86-64) Ubuntu mirror replacements for EOL Mantic release

Removed

  • Root meta-info.env (SHORT_BOARD_NAME=mazduino): generic board identifier removed; all builds now reference a named board variant

Fixed

  • Root board_configuration.cpp: removed forward declaration of customBoardTsAction which caused undefined reference linker error in CI unit test build
  • EFI_EMBED_INI_MSD=FALSE on mega100-512: the embedded TunerStudio INI file was contributing approximately 155KB to the firmware binary; disabling it reduced firmware from 488KB to 271KB
  • EFI_EMBED_INI_MSD=FALSE on all boards (mazduino-lite, mazduino-compact, mazduino-mini6ch, mazduino-mega100): CAN feature additions grew firmware beyond the 768KB linker budget; disabling INI embedding removes the 160KB ramdisk from flash. The TunerStudio INI is published as a GitHub Releases artifact instead
  • EFI_HPFP=FALSE on all boards: high-pressure fuel pump (GDI) control is not applicable to Mazda port-injection hardware; disabling it removes unused code
  • board_unit_tests.mk: added BOARDINC pointing to generated/controllers/generated/ so the unit test build can find rusefi_generated_mazduino.h (previously the compiler could not find this file because the unit test Makefile does not include rusefi.mk which is what adds that path for firmware builds)

Boards included

  • mazduino-compact (STM32F407VGT6, knock enabled)
  • mazduino-lite (STM32F407VGT6, no knock)
  • mazduino-mini6ch (STM32F427VGT6, ETB + traction control)
  • mazduino-mega100 (STM32F407VGT6, 1MB, full features, USB + CAN)
  • mazduino-mega100-512 (STM32F407VET6, 512KB, reduced feature set)

Bundle contents

Each .zip contains:

  • rusefi_console.jar - rusEFI desktop application (requires Java 11+)
  • rusefi_<board>.ini - TunerStudio definition file
  • rusefi.bin - firmware binary (flash via ST-Link or DFU)
  • Flash scripts (flash_dfu.sh, flash_stlink.sh)

Flashing

  • ST-Link / SWD: run flash_stlink.sh or use STM32CubeProgrammer with rusefi.bin
  • USB DFU: hold BOOT0, then run flash_dfu.sh

TunerStudio

Launch rusefi_console.jar or open TunerStudio and point it to the .ini file for your board.