Diff (diff 0.000 sec, rendering: 0.000 sec, diff len: 2011 chars)
Both hardware and software versions are described using a major and a minor version number separated by a point.
The first commercial hardware version of SBrick is 4.0: 4 is the major, 0 is the minor version. This SBrick comes with a factory firmware version 4.0 too.
A firmware image only compatible with a hardware if their major version number is the same.
The change in the major version number means a big change, that makes that hardware incompatible with the previous firmware images. Uploading an incompatible firmware is either impossible, or results in device malfunction, maybe even the malfunction of the firmware upgrade facility itself, rendeting the SBrick useles. (This is called "bricking", no pun intended. :) )
Less the first hand-made prototypes, there were four hardware versions so far.
14.0
This hardware used BLE112, without OTA. Motors were driven by L293D ICs in DIP16 packages.
This version had a single, hand-made specimen, without PCB, it was wired by hand.
This was only a proof-of concept. Despite this all, it proved surprisingly useful. :)
2.0
After the first success, we managed to manufacture a printed circuit board, and a 3D printed plastic enclosure. The BLE1123 module was replaced by a BLE113. Motor drwiversth remained the BLE113-A-M256K version, which can do OTA without external flash memory.
>We quickly discovered that this solution is impractical:
The DRV8835 chip
s were replaced by DRV8833 ones. These are the sa3.0
The L293D driver was replaced with TI's DRV8835. We thought this is a great idea, since these ICs can handle a LOT more current, and run cooler than the former. This version was created in haste, and no proper attention was dedicated to that BLE module placement, wich ruined the range. Controlling was impossible even at 10-20 meters.
We also discovered that this version could not drive LEGO's M motors at all, or only very unreliably.
We found out that the problem is with the M motor's filter capacitors. LEGO used rather large capacitors across each winding of the motors, making driving them hard. Even the V2 LEGO IR remote has some problems with M motors.
Also, connection loss was very frequent, because the motor drives did not cut off quickly enough, and the BLE module was starved if the batteries were overloaded, or were out of power.
This was the version that the Kickstarter Beta Pledgers received.
42.0
After the first success, we managed to manufacture a printed circuit board, and a 3D printed plastic enclosure. The BLE1132 module was replaced wby a BLE113. Motor drithvers remained the BLE113-A-M256K version, which can do OTA without external flash memory.
>We quickly discovered that this solution is impractical:
1.0
This hardware used BLE112, without OTA. Motors were driven by L293D ICs in DIP16 packages.
The DRV8835 chips were replaced by DRV8833 ones. These are the same chips LEGO use in the IR receivers. These chips can drive two motors, or the two channels can be parallelled for more power. We did the latter :)
This is the first production version had a single, hand-made specimen, without PCB, it was wired by hand.
This was only a proof-of concept. Despite this all, it proved surprisingly useful. :)
4.3
All features currently described in the sbrick protocol description will be implemented, including the channel excitation pattern features.
4.2
Less "channel excitation pattern" features, everything will be implemented in this version by the end of January.
4.1
Fixed LED and 100% problems. The drive and brake commands can control multiple channels (see sbrick protocol description for details)
4.0
This is the stock, or factory firmware on 4.0 hardwares.
Known issues:
This version only allows simple remote control commands, and does not have security, voltage/temperature metering. Actually only commands 00 (brake) and 01 (drive) are implemented, and only one channel can be controlled with one command.
4.1
Fixed LED and 100% problems. The drive and brake commands can control multiple channels (see sbrick protocol description for details)
4.2
Less "channel excitation pattern" features, everything will be implemented in this version by the end of January.
4.3
All features currently described in the sbrick protocol description will be implemented, including the channel excitation pattern features.