# Software Release Notes

<mark style="background-color:green;">**2025.04.16 - Main Controller Firmware - Version 10 | Hackerbot Software Online**</mark>\
\&#xNAN;*New Commands Added*\
\> N/A

*Changes*\
\> Update serial commands to improve readability and consistency, check out new serial command names [here](https://hackerbot-industries.gitbook.io/documentation-hackerbot-industries/firmware/serial-commands).

\> Hackerbot software is officially release, python-package, flask-api and command-center are now available for user to use. Check it out [here](https://hackerbot-industries.gitbook.io/documentation-hackerbot-industries/software).

*Other*\
\> N/A

***

<mark style="background-color:green;">**2025.03.18 - Main Controller Firmware - Version 8**</mark>\
\&#xNAN;*New Commands Added*\
\> N/A

*Changes*\
\> Minor fix to the BUMP command MACHINE mode output. Now sends the values of the left and right variables instead of the variable's names.

*Other*\
\> N/A

***

<mark style="background-color:green;">**2025.03.18 - Arm Controller Firmware - Version 4**</mark>\
\&#xNAN;*New Commands Added*\
\> VERSION

*Changes*\
\> The names of the arm commands have changed to match the main controller (sorry for the changes):\
&#x20;     A\_CAL\
&#x20;     A\_OPEN\
&#x20;     A\_CLOSE\
&#x20;     A\_ANGLE\
&#x20;     A\_ANGLES

*Other*\
\> N/A

***

<mark style="background-color:green;">**2025.03.18 - Dynamixel Controller Firmware (Head) - Version 4**</mark>\
\&#xNAN;*New Commands Added*\
\> VERSION

*Changes*\
\> The names of the head commands have changed to match the main controller (sorry for the changes):\
&#x20;     H\_IDLE\
&#x20;     H\_LOOK

*Other*\
\> N/A

***

<mark style="background-color:green;">**2025.03.18 - Audio Mouth Eyes Firmware (Head)  - Version 4**</mark>\
\&#xNAN;*New Commands Added*\
\> VERSION

*Changes*\
\> The names of the head commands have changed to match the main controller (sorry for the changes):\
&#x20;     H\_GAZE

*Other*\
\> N/A

***

<mark style="background-color:green;">**2025.03.17 - Arm Controller Firmware - Version 3**</mark>\
\&#xNAN;*New Commands Added*\
\> N/A

*Changes*\
\> The LED on the Arduino now turns green (instead of blue) to indicate that the setup has been completed successfully

*Other*\
\> Cleaned up the code by pulling out I2C addresses into a separate hackerbot\_share.h file\
\> Cleaned up the code by adding some SerialCmd helper functions into a serialcmd\_helper.h file

***

<mark style="background-color:green;">**2025.03.13 - Main Controller Firmware - Version 7**</mark>\
\&#xNAN;*New Commands Added* (see HARDWARE API section for usage details)\
\> MACHINE,\[0/1]\
\> TOFS,\[0/1]\
\> MODE,mode\_number\
\> QUICKMAP\
\> STOP\
\> BUMP,\[0/1],\[0/1]\
\> MOTOR,linear\_velocity,angular\_velocity\
\> GETML\
\> GETMAP,map\_id\
\> STATUS\
\> POSE\
\> H\_GAZE,x,y

*Changes*\
\> The names of the head and arm commands have changed to (sorry for the changes):\
&#x20;     H\_IDLE\
&#x20;     H\_LOOK\
&#x20;     A\_CAL\
&#x20;     A\_OPEN\
&#x20;     A\_CLOSE\
&#x20;     A\_ANGLE\
&#x20;     A\_ANGLES\
\> The LED on the Arduino now turns green (instead of blue) to indicate that the setup has been completed successfully\
\> GOTO - Angle is now in degrees instead of radians\
\> Calibration values for the ToFs have been updated (still could use some more tuning). Hopefully, the ToFs won't trigger when docking now.\
\> There is a new MACHINE mode that, when enabled, changes the output from the main controller to JSON so it's easier to parse. Note that not all of the commands support MACHINE mode yet and may return an error.\
\> A lot was added to parse the frame packets coming back from the SLAM robot base. It is now more robust and supports things like file transfers used for GETMAP and lidar data in the future.

*Other*\
\> Cleaned up the code by pulling out I2C addresses into a separate hackerbot\_share.h file\
\> Cleaned up the code by adding some SerialCmd helper functions into a serialcmd\_helper.h file\
\> Moved the packet structures out to \
\> Increased the ranging frequency of the ToF sensors from 4 to 32Hz\
\> The ToFs are now checked separately every \~250ms, preventing a buffer overflow from occurring from data coming from the SLAM base robot. Eg. At 0ms the left sensor is read, at 125ms the right sensor is read, at 250ms the left sensor is read, etc. For one sensor to be read it takes \~50ms.

***

<mark style="background-color:green;">**2025.03.12 - Dynamixel Controller Firmware (Head) - Version 3**</mark>\
\&#xNAN;*New Commands Added*\
\> N/A

*Changes*\
\> The LED on the Arduino now blinks green (instead of blue) to indicate that the setup has been completed and the code is running successfully

*Other*\
\> Cleaned up the code by pulling out I2C addresses into a separate hackerbot\_share.h file\
\> Cleaned up the code by adding some SerialCmd helper functions into a serialcmd\_helper.h file

***

<mark style="background-color:green;">**2025.03.12 - Eyes Firmware (Head) - Version 3**</mark>\
\&#xNAN;*New Commands Added* (see HARDWARE API section for usage details)\
\> GAZE,X,Y - Sets the eye positions on the LCD eye screens

*Changes*\
\> N/A

*Other*\
\> Added support for the SerialCmd library

***

<mark style="background-color:green;">**2025.03.12 - Audio Mouth Eyes Firmware (Head) - Version 3**</mark>\
\&#xNAN;*New Commands Added* (see HARDWARE API section for usage details)\
\> GAZE,X,Y

*Changes*\
\> The LED on the Arduino now turns green (instead of blue) to indicate that the setup has been completed successfully\
\> When IDLE mode is off (eg running IDLE,0 or after a 10 minute timeout) the LED will turn yellow

*Other*\
\> Cleaned up the code by pulling out I2C addresses into a separate hackerbot\_share.h file\
\> Cleaned up the code by adding some SerialCmd helper functions into a serialcmd\_helper.h file
