Alternative firmware for ev3 sensors


#1

All,

I’m working since a few weeks on an alternative BrickPi firmware in the hope to have a better support for ev3 sensors.

A first version of this firmware and the associated driver is available: https://github.com/guervillep/BrickPi

It’s for advanced user who know how to flash a new firmware on the BrickPi.

This firmware is based on UART Sensor and Device Communication Protocol Description:
http://ev3.fantastic.computer/doxygen/UartDriver.html
http://ev3.fantastic.computer/doxygen/UartProtocol.html

and on the ev3dev linux kernel driver
https://github.com/ev3dev/lego-linux-drivers/blob/master/sensors

This driver can autodetect the sensor type. It takes 2 ms to update one single sensors and 0.5 ms to update one single motor. So, if you have 4 motors and 4 sensors connected, an update loop take 10 ms.
This firmware has been tested with the gyro, color, ultrasonic and touch sensor. It should be ok with the infrared sensor, but I don’t have one.


#2

Sounds awesome! If its stable enough perhaps dexter Ind will want it. Thought of creating support for nxt?


#3

NXT and EV3 motors are compatible. So, this driver should be able to control NXT motors.
This firmware and driver could be faster to control motors, thanks to a better synchronization between the raspberry pi and the 2 mcu (you don’t need to add a call to sleep)
NXT sensors talk to BrickPi over I2C. I cannot test it, I do not have NXT sensors. But I think that the current BrickPi firmware is ok.
EV3 sensors talk over a serial interface (UART). The current BrickPi firmware has many issues https://github.com/DexterInd/BrickPi/issues/24. It is why I wrote this firmware.
I’m ready to support anyone who’d like to add NXT sensors, but I cannot test it myself. I do have only EV3 sensors.


#4

I would test it but, I only got one BrickPi and no avr programmer thing or yah. :frowning: