Downloads for 32-bit boards
You can check new versions and upgrade firmware from the SimpleBGC GUI application. Download latest GUI, connect board and upgrade firmware at the Upgrade tab. See user manual for more info.
If you want to participate in testing of new firmwares, get the latest test snapshot.
- Support of ICM20608 gyroscope+accelerometer sensor.
- New option "I2C high-speed". Use it carefully: high-speed mode may cause I2C errors.
- Support for saving and restoring of calibration data to the IMU's EEPROM (if present).
- Support of analog encoder (rotary position sensor) on YAW axis in the regular firmware.
- New option "Advanced" → "Order of hardware axes" that supports several configurations besides the standard "Camera - PITCH - ROLL - YAW" configuration.
- Support of magnetometer sensor (compass) to prevent drift of gyroscope. Can be combined with the frame IMU or the main IMU.
- New setting: "RC" -> "Order of Euler angles" that allows extending the possible trajectories of a camera and the range of working angles.
- Improved the precision of RC control in the "Follow" mode
- New option "Follow" - "Apply an offset correction when an axis is not following."
- New option "Follow" - "Follow rate inside dead-band" to apply very soft control to keep camera always in the center of the dead-band.
- Regular calibration of Accelerometer and gyroscope does not discard the results of temperature calibration but improves it.
- ACC calibration at "normal" Z-top position does not discard the results of 6-point calibration.
- Magnetometer (compass) calibration was significantly improved:
- you do not need a GUI connection (allows to calibrate in the field by menu button);
- an ellipsoid approximation is used;
- New option to skip gyro calibration if gimbal is not fixed well during startup: it allows to start with fresh calibration for best quality, or to start immediately with the previous calibration.
- Advanced algorithms for correction of mutual drift in both IMUs.
- "2nd IMU above YAW" position is more reliable now.
- New option "ACC low-pass filter" that helps to improve the stability of the IMU angles. Under dynamic conditions like motion with short lateral accelerations.
- New adjustable variables GYRO_HEADING_CORRECTION and FRAME_HEADING_ANGLE that helps to manually correct YAW axis drift.
- New option "Advanced" - "Set to the normal position on profile switch".
- Better handling of high-speed control from scripts.
- Improved the range of working angles in 1- and 2-axes systems, making use of 2nd IMU or encoders; all possible 2-axes configurations are supported now.
- New menu command: "Untwist cables".
- New checkbox "Advanced" - "Upside-down PITCH auto-rotation" to turn camera when turning frame upside-down.
- New option "Follow" - "Use frame IMU, if possible" to use 2nd IMU for the "Follow Mode" control, to make it more reliable.
- New menu command: "Center YAW axis" to move a camera to the neutral position by YAW.
- New menu command: "Level Roll, Pitch to the horizon".
- New option "Service" - "Blink profile number" - onboard LED will show currently selected profile.
- Proper handling of "gimbal lock" condition - when YAW and PITCH motor axes are parallel.
- (GUI) New "Emergency stop" option (stop motors in case of the big rate of I2C errors).
- (GUI) Serial-over-UDP connection is supported to configure remote devices via a network (WiFi, Ethernet, Internet).
- Menu button pressed 12 times in series will reset "Serial speed" setting to default value 115200.
- OuterP, OuterI gain increased 5x times.
- Option to emergency stop if the motor angles reported by the encoder differs a lot from the angle reported by the 2nd IMU.
- Encoder-to-motor gearing ratio can be adjusted.
- In the case of geared setup, the uncertainty of the motor or the frame angle detection at startup can be removed with the help of 2nd IMU.
- Option to enable Briefcase position auto-detection on-the-fly when in "Follow" mode: just hold the camera by hand and turn frame ±90 degrees.
- More reliable soft limits; option to enable/disable them for each motor independently.
- Back-EMF compensation is applied at full battery voltage amplitude. It allows getting the maximum speed from the motor (that is limited by the Kv parameter of a motor) even with the low "POWER" setting.
- CMD_CONTROL command with the extended format allows specifying different control modes for each axis.
- CMD_AHRS_HELPER command allows accessing internal IMU attitude in DCM form, to use it in the external system or to replace or correct it by the information acquired from the high-grade external IMU.
- User-written scripts (see Language Reference and user manual)
- IMU temperature calibration and compensation.
- New tool "Analyze" to make an analysis of system response.
- Notch filters have adjustable gain (0…100%)
- "Motor outputs" settings group is changed to per-profile basis
- GUI and firmware support Bluetooth Low-Energy (BLE) module communication (experimental)
- New setting group "Outer PI controller" to adjust values for outer (cascade) PI controller (default value is 100 suit most setups)
- New option "Swap frame and main sensors" to use frame IMU as main IMU and vice versa
- New option "Gyro dead band" to cut off gyro noise around zero (that may be audible as 'white noise' in heavy setups)
- New option "I2C high-speed". Use it carefully: high-speed mode may cause I2C errors.
- Problem with SSL connection during firmware upgrade is solved
- Frame upside-down command loads default profile after reset
- Frame upside-down detection doesn't work if "skip gyro calibration" is disabled.
- Acceleration limiter does not work properly with the big speed setting in the "Follow" mode: camera overshoots target position
- New encoder type "Analog". See updated manual http://www.basecamelectronics.com/files/SimpleBGC_32bit_Encoders.pdf
- Different encoder types may be assigned to different axis
- Option to adjust sound volume in the 'beep by motors' mode in the 'Service' tab
- Bug fixed: upside-down frame switching is not correct
- Several bugs fixed related to encoder calibration
GUI (Windows, OS X, Linux): SimpleBGC_GUI_2_43b9.zip (6Mb 14.04.2015)
User Manual (English): SimpleBGC_32bit_manual_2_43_eng.pdf (813Kb 8.12.2014)
User Manual (French) translation by Nono15: SimpleBGC_32bit_manual_2_43_fra.pdf (1Mb 26.11.2014)
- (GUI): new option to enable auto-detection of system startup in the upside-down mode
- (GUI): New interactive dialog to detect sensor orientation
- (GUI): New interactive dialog to calibrate sensors
- Second UART port to process Serial API commands: Rx goes to RC_ROLL, Tx goes to RC_YAW. It can be enabled in the RC tab ->"RC_ROLL pin mode"
- Spektrum satellite new binding and data format options (used in the "Bind RC" command and to decode spektrum protocol)
- Bug fixed: in the Follow mode when the camera is pitched down about 90 degrees, its not controlled by YAW
- Bug fixed: calibration of accelerometer in the simple mode did not reset extended mode calibration, making a result of simple calibration not correct.
- Bug fixed: "Estimate angle from motors" doesnt work in 2.43b6
- Minor bug fixed with firmware update dialog.
- Recovery firmware works now with USB connection on v.3.1 "Tiny" boards.
GUI (Windows, OS X, Linux): SimpleBGC_GUI_2_43b6.zip (6Mb 14.04.2015)
- New GUI tab "Adjustable variables" to change system parameters remotely in real-time:
- 10 slots for trigger-type controls
- 15 slots for analog-type controls
- New sound model: if "Beep with motors" option is enabled, gimbal plays various sounds instead of simple beeps.
- New Serial API commands to communicate with external I2C devices
- New Serial API commands to store up to 128 bytes of user data in the EEPROM (may be usefull for third-party GUI or external application developers)
- New RC signal source "API_VIRT_CH1..32" controlled via Serial API to simplify gimbal control (see examples in the specification)
- PID Auto Tuning should give more precise results because of decreased error threshold
- Better error handling on writing parameters to the board via slow connection.
- (GUI) New menu option to save all profiles into single file. This file can be loaded back by standard "Load from file.." command
- (GUI) New menu option to write all profiles to the board.
- Updated examples for Arduino: SBGC_Serial_API_Examples.zip (27Kb 24.08.2015)
- (GUI) New command to backup/restore whole EEPROM (including all calibrations)
- Analog joystick auto-detection: if signal at startup is outside +-50 of neutral point, analog input is disabled. Option can be enabled in the RC tab.
- Bug fixed: in Follow mode, when ROLL is locked, "INIT.ANGLE" has no effect.
- New command LOOK_DOWN: Camera pithes down to 90 degree with the speed configured in the RC tab.
- New command HOME_POSITION: Camera goes to home position (set by INIT.ANGLE for each axis) with the speed configured in the RC tab.
- Add a 4-second delay after the "Upside-down mode" command is switched, to let to rotate gimbal to new position.
- (GUI) New option "Remember last used profile", to make the profile (activated by RC or menu button) default. If disabled, system always starts with profile set as default from the GUI.
- (GUI) Firmware upgrade now works under Mac OS and Linux (see User manual for details)
- (GUI) Option to log realtime data to CSV file for further analysis
GUI (Windows, OS X, Linux): SimpleBGC_GUI_2_42b6.zip (5Mb 14.04.2015)
- 4xPWM servo output with adjustable rate to output virtual channels decoded from RC input, or driven by Serial API
- PID auto-tuning
- Adaptive PID gains
- Digital filters to remove resonances: 3 x Notch filters, 2nd-order low-pass filter
- Bug fixed: upside-down settings lost after switching to different profile
- "Frame upside-down" command now inverts RC control for YAW, together with inverting YAW motor and rotating second IMU
- Bug fixed: should ignore CMD channel during system init
- MOTORS_ON command resets system to home position
- New option for second (frame) IMU: "Below YAW + PID source". It means, if Frame IMU is mounted below YAW motor, it can be used as data source for PID controller, and in some cases can give better result, than main IMU.
- (GUI) UI elements re-arranged to adopt new settings and make groupping more consistent
- (GUI) Separate LPF setting for RC and Follow Mode
- (GUI) New setting "RC Inverse" (you can use it or switch Min. and Max. angles, as before)
- Last used profile is saved as default when switched by service button, RC CMD command of from GUI.
- Bug fixed: s-bus fast mode was not decoded correctly
- New button command "Frame upside-down". Use it to quickly re-configure system for new frame position (YAW motor is inverted, second IMU orientation is updated).
- "Beep by motors" option: motors emit sound instead of internal buzzer, when motors are energized.
- Lost of synchronization detection:
- better recovery from this mode
- notification by LED and buzzer (enable "Errors" checkbox in the "Service" tab)
- Smooth motor start at power-on
- Option to disable RC limits in SPEED mode (set min=max)
- Improved PID and IMU algorithms lets to achieve precision +-0.06 degree in dynamics, +-0.02 degree in static
- Stable work at bigger ROLL angles (system keep stability up to +-80 degree for ROLL inclination)
- Short beep on each press of menu button (if buzzer confirmation mode is enabled in GUI)
- (GUI) New extended debug variables RMS_ERR_X, FREQ_X helps to detect problems caused by oscillations
- (GUI) New "Erase EEPROM" menu command
- (GUI) Profile name is stored in the board after renaming. Max. 48 ASCII characters allowed (or less, if national characters used)
- (GUI) New option in the RC tab: "INIT.ANGLE" to set initial angle of the camera at system startup, if RC control is not applied.
Changes in settings (you need to take it into account when using profiles, saved for previous version)
- Follow speed rate is decreased 4x times, range is increased to 0..255, to make adjustments finer.
- Range for I setting was increased 2x times (old 0.01 equals new 0.02).
- Range for P, D setting was increased 4x times (values will be updated automatically after upgrading).
- Upper limit for PID values 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.
- Changing sensor orientation in GUI does not reset calibration data.
- Fixed problems with RC control in Follow mode and Follow<->Lock transition.
- Battery voltage sensor drifting with time issue was fixed (but may be required to re-calibrate it).
- Bugfix: calibrate poles and direction did not work as expected.
- Add UART parity setting auto-detection from firmware side. Together with GUI auto-detection, it allows to connect Bluetooth modules with Parity=No|Even (but with Parity=No, module doesn"t allow to upgrade firmware).
- PID distribution between motors is more correct when frame is picthed and if ROLL and YAW motors differs a lot.
- Bug with the Serial Control fixed (board hangs after first command sent via Serial API).
- IMU: better handling of corrupted sensor data (wrong calibration, vibration, accelerated motion, etc.) and faster reach of settle point.
This is the first version of firmware, that is fully compatible with the 2.40 version for 8-bit boards, and have additional features:
- Allows to connect second IMU to know the frame angle. Advantage is more precise stabiliation and wider range of working angles and more reliable work in Follow Mode. Due to this you don"t need to use connection of external flight controller.
- Number of profiles extended to 5
- Additional RC protocols are supported: Futaba s-bus, Spektrum Satellite