Skip to content

Releases: arduino/arduino-alvik-mpy

1.1.2 - mpy 1.24 compatibility

25 Nov 10:57
179d60f
Compare
Choose a tag to compare

1.1.2 - micropython 1.24 compatibility

This release is compatible with firmware 1.1.0 and brings following:

  • added a workaround to solve issue on UART hanging on micropython 1.24 related bugs
  • improved update firmware python script
  • all examples are now compliant also with micropython 1.24
  • improved demo performances

1.1.1 - added Arduino Runtime

28 Oct 11:21
6934df7
Compare
Choose a tag to compare

Now Arduino Runtime available here is a dependency of the Alvik package

1.1.0 - major updates

16 Oct 15:27
e94e268
Compare
Choose a tag to compare

1.1.0 - updates 🎉

🚨 New features:

  • timer, one shot and continuos. It is now possible to trigger a callback by a timer, check examples for more;
  • ⚙️ servomotors, now it is possible to call also alvik.servo_<label>.set_position(<degrees>), also get_position() is available;
  • 🪇 movements events, it is possible to trigger callbacks via shaking or tilting Alvik, spare methods such as on_shake() and on_<axis>_tilt() are also available;
  • 🗣️i2c rework, it is possible now to use alvik.i2c as qwiic or Grove I2C, take a look on communication folder in examples
  • 🪫 battery, new behaviour available by default, at 20% Alvik will blink red and at 10% it stops motors asking to be charged, method to check charging is availble;
  • 🛞 wheels, position is now blocking, it is possible to set as non-blocking by a parameter such as move and rotate methods;
  • 🤖versioning, it is possible to check the firmware version compatibility and versions by: get_lib_version() and get_fw_version();
  • 🔥 minor fixes and thread performance improveme

🚨 NOTE:

Since this release firmware version is checked, so update also Alvik firmware with right version is required.
It is possible to find here.

Now Alvik will check constantly the battery charge!
Under 20% it will start blinking red leds and under 10% it will stop motors. Please take care of charging your Alvik

🥳 🛜 We also created 2 new web tools! 🥳 🛜

🤖 Alvik update tool
Alvik update tool is now availble here: https://alvikupdate.arduino.cc/
This tool will update Alvik micropython library and Alvik Carrier firmware.

🧪💻 Arduino Lab For Micropython web
Program Alvik on a webpage, available in Arduino Cloud resources: https://lab-micropython.arduino.cc/

Note: These tools work on Chromebooks, too

1.0.1 - added version and compatibility with ucPack 0.1.6

11 Apr 15:05
80e6656
Compare
Choose a tag to compare

Minor update with version, mantainer and compatibility with ucPack-mpy 0.1.6

1.0.0 - First release

19 Mar 13:59
66054ca
Compare
Choose a tag to compare

0.4.1 - RC2

13 Mar 10:59
c4a250f
Compare
Choose a tag to compare
0.4.1 - RC2 Pre-release
Pre-release

Hot fix on import path

0.4.0 RC1

12 Mar 19:30
3a92145
Compare
Choose a tag to compare
0.4.0 RC1 Pre-release
Pre-release

This pre-release includes:

  • DL1, DL2 naming for top leds (it is still possible to use left_led & right_led)
  • improved move and rotate
  • new flash_firmware method
  • updated parameters for color calibration

This pre-release requires firmware 0.4.0

0.3.0 - mip compatibility

01 Mar 15:08
690e6d4
Compare
Choose a tag to compare
Pre-release

This release is a major pre-release.

It requires firmware 0.3.4 into your Arduino® Alvik.

New in this update:

  • mip compatibility
  • new examples
  • state of charge of the robot
  • touch events, check example on how them works.
  • get_color_label() now works without passing HSV data.

0.2.0 - fixs, units, colors

16 Feb 15:46
04f498a
Compare
Choose a tag to compare
Pre-release

Release notes 0.2.0

Note: This package requires firmware 0.3.0

Now all methods, set and get data in centimeters, you can change units by passing the unit parameters,

Available units are (first is default):

  • distances: cm, mm, m, inch
  • angles: deg, rad, %, rev
  • linear velocities: cm/s, mm/s, m/s, inch/s, %
  • angular velocities: deg/s, rad/s, %, rev/s, rpm (note: wheel speed default is in RPM)

Fixs:

  • improved communication parser
  • improved UART baud rate



New methods available:

  • brake, stops motors
  • get_color(<format>), return normalized color if format = 'rgb' or hsv values if format = 'hsv'
  • get_color_label(<h>, <s>, <v>), return the string label of the detected color, such as 'red'
  • color_calibration(<white/black>), pass 'white' or 'black' to calibrate upper or lower limit
  • get_distance_top(<unit>), return distance above the robot in centimeters, use unit to change the unit
  • get_distance_bottom(<unit>), return distance in the bottom part of robot in centimeters, use unit to change the unit
  • set_behaviour(<behaviour>), set internal behaviours, at the moment 0 disable and 1 automatically turn off the illuminator when you lift the robot
  • set_wheels_position(<left>, <right>, <unit = 'deg'>), set position of both wheels
  • get_wheels_position(<left>, <right>, <unit = 'deg'>), get position of both wheels
  • get_drive_speed(<linear_unit = 'cm/s'>, <angular_unit = 'deg/s'>), get drive speed

Introducing color calibration, how to

Generally default parameters could give you issues, so it is suggested to calibrate your sensor.
You need a white surface and a black surface.

Connect your robot to Labs for Micropython and type in REPL terminal:

>>> from arduino_alvik import ArduinoAlvik

>>> alvik = ArduinoAlvik()

>>> alvik.begin()

Now place your robot on the white surface and type:

>>> alvik.color_calibration('white')

Now place your robot on the black surface and type:

>>> alvik.color_calibration('black')

Press reset on Lab for Micropython.

You can now test using read_color_sensor.py in examples folder.

colors are tested on paper painted using acrilic marker pens, such as UNIPOSCA, or paper printed with an inkjet printer

0.1.0 - new API

02 Feb 16:56
a8ca070
Compare
Choose a tag to compare
0.1.0 - new API Pre-release
Pre-release

This is the pre-release 0.1.0. It is a huge update despite the 0.0.7 pre-release.
Following you can find the major new API.

Note: this micropython package requires at least Arduino_AlvikCarrier version 0.2.0


Robot related commands:

  • begin, initialize the robot

  • rotate(<deg>), rotate the robot of deg, you can also set blocking to false and check accomplishment with is_target_reached()

  • move(<mm>), drive straight the robot of mm, you can also set blocking to false and check accomplishment with is_target_reached()

  • drive(<mm/s> , <deg/s>), set linear velocity and angular velocity of the robot

  • (mm/s, deg/s) get_drive_speed(), get drive data

  • (x, y, theta) = get_pose(), get the pose of the robot in the 2D environment

  • reset_pose(<x>, <y>, <theta>), reset the pose of the robot, by default x ,y, theta are 0

  • set_wheels_speed(<left rpm>, <right rpm>), replace old set_speeds()

  • (<left rpm>, <right rpm>) = get_wheels_speed(), replace old get_speeds()

  • (ax, ay, az, gx, gy, gz) = get_imu(), get data from IMU in g and deg/s

  • (ax, ay, az) = get_accelerations(), get accelerometer data in g

  • (gx, gy, gz) = get_gyros(), get angular velocity from gyroscope data in deg/s

  • (roll, pitch, yaw) = get_orientation(), get orientation data from sensor fusioning



Wheel related commands:

  • set_position(<deg>), set the absolute position of the wheel in degrees
  • (deg) get_position(), get the position of the wheel in degrees
  • reset(<initial position>), reset the absolute position of the wheel in degrees, intial position is 0 by default
  • stop(), brake the wheel
  • set_speed(<rpm>), set wheel speed in RPM
  • (rpm) = get_speed(), get wheel speed in RPM

Other new commands:

  • <led>.set_color(<R>, <G>, <B>), set color on led with boolean R, G, B values
  • (R, G, B) = get_color_raw(), get color in raw format