Alternative firmware for ev3 sensors

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.

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

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.

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