"robotling" is a simple circuit board to control small robots. Check out the videos (videos 1, 2, and 3) and find the details in the German wiki.
Currently, the plugin "pymakr" causes errors if install using the usual way from inside Atom. Instead, download the develop
branch from GitHub and follow the instructions under "Manual install" in the readme file.
-
2019-11-15
- New articel in the German Make: magazine ("Krabbelroboter sendet Telemetrie").
-
2019-08-31
- New type of Sharp sensor added (GP2Y0AF15X, 1.5-15 cm) to
sensors\sharp_ir_ranging.py
. This allows using a triple IR distance sensor array such that the robot's head does not need to scan sideways. - I2C frequency increased to 400 kHz in
robotling_board.py
. The I2C frequency used is now also printed when the robot boots. - Robotling v1.3 board in
robotling_board_version.py
. - In case of an uncaught Python exception, the firmware tries to send a last MQTT message containing the traceback, allowing to get information on code errors even when the robot is not attached via USB.
- Wiki page Telemetrie über MQTT
- New type of Sharp sensor added (GP2Y0AF15X, 1.5-15 cm) to
-
2019-07-25
- Now an option was added to send telemetry via WLAN using the MQTT protocol (ESP32 only). An example script (
test_mqtt.py
) that demonstrates how to subcribe to robotling telemetry on a PC was added to../code
. hexbug.py
- Bias factor (IR_SCAN_BIAS_F
) added to the configuration filehexbug_config.py
; it allows correcting for a direction bias in the turning motor. Also, the scan scheme was slightly changed from "left-right-center" to "left-center-right-center", which helps the robot to walk more straight.telemetry.py
- Encapsules the MQTT functionality.main.py
- Simple "memory" was added to remember the direction of successful turns (experimental).robotling.py
- Now the keyword "wlan" can be added as a device toMORE_DEVICES
inhexbug_config.py
to activate the network (instead of changingboot.py
)
- Now an option was added to send telemetry via WLAN using the MQTT protocol (ESP32 only). An example script (
-
2019-07-22
- Robotling code moved from
../code
to../code/robotling
- Robotling code moved from
-
2019-07-16 - Release v1.7
- New wiki pages 'Sensors etc.' with supported sensors and 'Verhalten' with behaviours added
- Wiki pages 'Demo' and 'Erweiterungen und Modifikationen' updated
- Code Release v1.7
-
2019-05-18 - Release v1.6
- Added new "behaviour" (take a nap) based on deepsleep/lightsleep support for ESP32
- Cleaned up the code
- Changed
hexbug_config.py
to make it also standard Python compatible (for future extension) - Now uses
getHeading3D
instead ofgetPitchRoll
to determine if the robot is tilted; the additional compass information (heading) is saved (for future extension). - Driver for LSM9DS0 magnetometer/accelerometer/gyroscope added.
-
2019-03-17 - Release v1.5
- Some code improvements (handing devices, cleaning up)
- Tested w/ MicroPython v1.10
- New pictures
- A new wiki page with extentions and modifications
-
2019-03-02
- New pictures, annotated pictures of board v1.2
- some new text on memory and performance
-
2019-01-12
- A few bug fixes
- More drivers (dotstar, VL6180X).
- Works now also with the M4 Express Feather from Adafruit (and CircuitPython).
-
2018-12-28 - Release v1.3
Eliminated the need for a timer. Addedspin_ms()
, which needs to be called once per loop and instead ofsleep_ms()
to keep board updated. This solution is superior to the use of a timer, because (i) it is deterministic (avoids randomly interrupting the program flow and, hence, inconsistencies) and (ii) makes the code compatible to CircuitPython, which does not (yet?) support timers. -
2018-12-24 - Release v1.2
Now board v1.2 included, some code refactoring and improvements -
2018-11-29 - Release v1.1
First complete version for board v1.0 and huzzah32 -
2018-11-18 - Initial release
- Tilt correction and calibration for LSM303 and LSM9DS0 compass function is not yet implemented.