Downloads for 8-bit boards
Firmware upgradeStarting from version 2.1, firmware upgrade is possible from GUI.
Another options: you can upgrade firmware using XLoader or AvrdudeR utility. Run utility, select COM port where controller is connected, and specify hex file to upload. Leave all other settings at default (baud is 115200, device is "SimpleBGC"). If device is restarted after upload - it means all done. Run GUI and check if firmware version has changed.
LINUX and MAC users: use avrdude to upload firmware. See command line parameters in XLoader/upload.bat.
XLoader.zip (312Kb 30.08.2013)
AvrdudeR.zip (595Kb 30.08.2013)
For non-genuine board owners: if your board is dead after loading an original firmware, or firmware is failed to start - it's a big chance that your board is not genuine board from our certified partner. You need to do the following steps:
- Download the special unprotected version of firmware, and upload it from the GUI. If it's failed to upload or to start - most probably you need to upgrade a bootloader.
- Flash the optimized for size Arduino-compatible bootloader, like Optiboot (you may need an ISP-programming tool for it, like USBAsp).
Fuses are: LOCK: 0x3f, EFUSE: 0x05, HFUSE: 0xDC, LFUSE: 0xEE
Example string for usbasp and avrdude tool:
avrdude avrdude.conf -c usbasp -p atmega328p -e -u -U lock:w:0x3f:m -U efuse:w:0x05:m -U hfuse:w:0xDC:m -U lfuse:w:0xEE:m
avrdude avrdude.conf -c usbasp -p atmega328p -U flash:w:optiboot_atmega328.hex -U lock:w:0x0C:m
Firmware for genuine boards: SimpleBGC_2_40b8.enc.hex (80Kb 23.12.2015)
New! Firmware for clones (see instructions above): SimpleBGC_2_40b8.hex (80Kb 16.01.2015)
GUI (Windows, macOS, Linux): SimpleBGC_GUI_2_40b8.zip (5Mb 24.03.2014)
- Upper limit for PID values was increased to 255 (2.55 for I)
- Upper limit for RC speed was increased to 255 and its effect was decreased 4x times to get finer step in adjustment
- (GUI) "Erase EEPROM" menu command
Firmware: SimpleBGC_2_40b7.enc.hex (85Kb 7.03.2014)
GUI (Windows, macOS, Linux): file not found
- Serial API, CMD_CONTROL.SPEED_MODE did not worked
- Sum-PPM input (FrSky and may be others 8-channel) was conflicted with PWM inputs from flight controller
- Sometimes YAW axis may go wrong when pitching camera up or down in the Follow mode.
- "Swap RC ROLL<->YAW" menu command did not saved new assignment into EEPROM
- (GUI): When saving Profile 2, 3 to file, actually Profile 1 was saved
- Allow to set RC ANGLE mode (i.e. proportional control) in Follow mode, and for YAW axis.
- Follow SPEED range reduced 2x times to get finer control near low values.
- If motors were turned OFF before ACC and GYRO calibration, they keep their state after calibration finished (otherwise it was problem to make fast 6-axis calibration)
- After executing 'Motors ON' command, reset gimbal to home position
- More stable work with low serial speeds when airlink connection is used (3DR modems, etc). In this case, its recommended to reduce frame rate in the Realtime Data tab to not freese the program.
2.40b6Firmware: SimpleBGC_2_40b6.enc.hex (86Kb 4.02.2014)
GUI (Windows, macOS, Linux): file not found
User manual: SimpleBGC_manual_2_4_eng.pdf (324Kb 28.11.2014)
- Bug fixed: some parameters are always kept their default values regardless of GUI setting
- A new algorithm for increased reliability when motor misses steps: PID gain is decreased, POWER is increased to restore synchronization
- Follow mode was completely rewritten:
- speed can be adjusted in wide range by the "SPEED" setting
- acceleration limiter is applied
- LPF smoothing is applied (configured in the "RC setting" tab)
- Follow for the axes PITCH+ROLL and YAW can be activated independently
- Follow for ROLL axis may be permanently enabled or disabled regardless of camera PITCHing: to disable completely, set "ROLL start"=90, "ROLL mix"=0, to enable set "ROLL start=0", "ROLL mix=0". (Note, that proper Follow offset calibration for ROLL is required now)
- Up to 5x more precision with the new PID (increase I-term until oscillation starts and than reduce a little back to get the maximum from it)
- New menu commands to turn motors ON/OFF.
- (GUI): new setting for additional POWER in case of big error (caused by missed steps).
- (GUI): new visual bar to display the actual POWER level.
- (GUI): new setting to enable estimation of the frame angle from motor's poles in the Lock mode, like in the Follow mode before. Helps to increase the range of frame angles where gimbal's operation is stable.
2.3b4, 2.3b5Firmware: SimpleBGC_2_3b5.enc.hex (84Kb 9.11.2013)
IMPORTANT NOTE: you will loose all previous setting after upgrading to this version.
!!PLEASE, SAVE SETTINGS TO FILE BEFORE UPGRADING!!
- Bug fixed: multiple YAW turns caused variable overflow and instability
- Bug fixed: if the system starts in the YAW lock mode, the camera can accidentally rotate to fixed angle.
- Bug fixed: in Follow PITCH mode, if camera is pitched by 30-50 degree, ROLL looses horizon level if panning by YAW.
- (2.3b5) Bug fixed: some parameters are always keept their default values regardless of GUI setting
- Follow PITCH mode extended by the new setting to configure the ROLL axis lock-to-follow transition.
- If Flight Controller (EXT_FC) is connected and calibrated, the system becomes more stable in the bigger range of inclination angles (even pitched +-80 degrees)
- Battery monitoring and buzzer:
- Voltage drop compensation (PID becomes stable during whole battery lifecycle)
- Low-Voltage alarms and motor cut-off
(This feature will be supported on some newest boards or old ones with the hardware mod. See user manual for details.)
- RC mapping improved: Any of PWM, Sum-PPM, or Analog modes may be set for any of RC inputs separately.
- it lets to use YAW-encoder or joystick together with RC control or External Flight Controller
- it may be required to re-configure RC inputs after firmware upgrade
- RC mix option: you can mix 2 inputs together before applying to any of ROLL, PITCH or YAW axis. It lets to control camera from 2 sources (joystick and remote for example)
- Serial API extended by the 'C' command (camera control). Example written in C++ for Arduino is provided in doc.
- New option to limit angular accelerations in case of hard RC or Serial control (useful to prevents jerks or skipped steps, smoother camera control, less impact on multirotor's frame)
- PID settings: I-term internally multiplied by P-term to increase I response when P is high.
- "Compensate acceleration" algorythm removed to free up program space for more important features
- (GUI) New Full-screen mode available to better fit GUI in small displays
- (GUI) Bug fixed: firmware upgrade fails if working path contains spaces.
- (GUI) New button to switch motors ON/OFF
- (GUI) Italian and Czech translation (thanks to Iacopo Boccalari, Lubos Chatval)
- (GUI) 2 new high-contrast themes for outdoor usage
- (GUI) New red marker: shows RC controlled angle that gimbal should maintain
2.2b2Firmware: SimpleBGC_2_2b2.enc.hex (85Kb 13.08.2013)
- New camera control mode: "Follow Pitch" mode (video tutorial)
- New tab in the GUI to configure this mode
- Smooth switching between modes on-the-fly
- User manual for v.2.2
2.1Firmware: SimpleBGC_2_1.enc.hex (74Kb 10.07.2013)
GUI: SimpleBGC_GUI_2_1.zip (5Mb 10.07.2013)
- New option: skip gyro calibraion at startup. With this option checked, board starts working immediately after power ON.
- New menu command and GUI button for manual gyro calibration
- RC Map, RC Source moved to profiles. It allows to change RC control setting by switching profiles.
(warning: after firmware upgrade, old RC Map setting will be lost)
- RC YAW axis control may be inverted now by specifying Min.angle > Max.angle, like for other axis (but this setting not used for limiting, just for inverting).
- I2C errors monitoring: LED will blink when I2C error detected
- New option: gyro high sensivity. It doubles sensivity of the gyro, that equals to multiplying gains in the PID controller by 2.
It may be usefull for big DSLR cameras.
- Translation to Chinese (thanks to Max) and Polish (thanks to Tomasz Ciemnoczulowski) language versions done.
- The "Firmware Upgrade" tab in the GUI is working now and allows to upload a new firmware.
- German language option
- Bug corrected: not clear upgrade from previous version
- New setting: Expo Curve for more precise RC control
- Bluetooth COM-port is working now on both 32 and 64-bit JRE in Windows
- Other minor bugs corrected
2.0b3Firmware: SimpleBGC_2_0b3.enc.hex (68Kb 15.05.2013)
GUI: SimpleBGC_GUI_2_0b3.zip (5Mb 14.05.2013)
- Completely new GUI, cross-platform and multilangual.
- New serial protocol with error correction and ajustable speed (to use with wireless modems)
- New control mode: Follow frame (FPV) mode for every axis. RC control is possible, too.
- Support of I2C-expansion board to control 3rd brushless axis (HW will be announced later)
- Configurable RC input mapping from 4 inputs to 6 channels
- Sum PPM RC input (up to 8 channels via one cable) with configurable mapping
- Analog control mode, thats allow to connect analog joystick (up to 4 axis).
(GND, +5V connected to potentiometer's fixed outputs, signal pin connected to sliding contact. You may need to solder +5V jumper on controller board)
- New RC channel 'CMD' - 3 position trigger is used to remotely switch functions
- RC input mapping to extend available channels.
- Optional ultrasonic PWM mode for noise-sensitive application
- Profiles support: All setting stored in 3 separate profiles in memory, switched by RC or menu button.
- Saving/restoring profiles to files
- Sensor board may be mounted in any orientation, configurable in GUI.
- Ajustable gyro/accelerometer sensivity to get optimal stability for your preferred flight style.
- Motor output mapping, that allow to use controller in PAN-TILT mode or as separate 3rd axis driver
(see connection diagram)
- New setting: I2C pullups enale/disable. Unlike 1.x firmware, default is DISABLED!. If sensor is not working, try to enable it.
- New setting: control stick neutral position trimming and deadband. Used for joystick or RC in speed mode.
- It may be required to re-tune gimbal, because range of some settings was slightly changed.