arendst / Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
https://tasmota.github.io/docs
GNU General Public License v3.0
21.74k stars 4.72k forks source link

Arilux Ar-LC04 with Bouffalo Labs BL602 #9914

Closed anton-garcias closed 3 years ago

anton-garcias commented 3 years ago

Have you looked for this feature in other issues and in the docs?
Yes

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. I've received a new ordered Arilux AR-LC04 but is the v1.2 and has a new CPU Risc Based BL602 Chip seems impressive, but I think it's not compatible with present firmware and even with the instruction set and/or the achitecture. Not sure how to cathegorize the topic.

Describe the solution you'd like
A clear and concise description of what you want to happen. Study the feassibeness of supporting this particular chip. Maybe it's compatible with the present version but I don't think so.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered. none yet

Additional context
Add any other context or screenshots about the feature request here. 20201118_203229 20201118_203208

(Please, remember to close the issue when the problem has been addressed)

Jason2866 commented 3 years ago

Sorry, no ESP82xx or ESP32 no Tasmota.

anton-garcias commented 3 years ago

Maybe you can add it to unsupportable devices

ascillato commented 3 years ago

Maybe you can add it to unsupportable devices

All devices that don't have ESP8285, ESP8266 or ESP32 are unsupported. There is no need to make a huge list of not supported devices.

It is easier and cleaner for search if we list ONLY the supported devices.

exentio commented 3 years ago

I don't want to be that guy, but the ESP family is not here to stay, unless they switch to RISC-V, and if they do there's very little reason not to support new SoCs that are not made by Espressif. The MagicHome controllers will stop using ESP controllers, they all switched to the BL602, and they won't be the only ones

Nobody's asking for a stable and perfectly working release right now, but I definitely suggest you start working on it if you want to keep Tasmota relevant for future products. Let's avoid forks that are essentially the same except for the supported SoC, a unified codebase benefits everyone

Jason2866 commented 3 years ago

No one disagrees that ESP8266 is EoL. Porting Tasmota to a different SoC needs a well working Arduino port. Without there is no Tasmota possible. Tasmota is supporting zigbee. Doing this there is (one way) for cloudless home automation solutions. We would be very happy to see a fork of Tasmota based on a different SoC

exentio commented 3 years ago

Porting Tasmota to a different SoC needs a well working Arduino port.

Looks like there's one: https://github.com/pine64/ArduinoCore-bouffalo
Maybe it's a bit experimental, but it doesn't need to work perfectly right away
Pine64 is very interested in the platform and is working on many tools and docs. I sincerely think it's worth the effort

anton-garcias commented 3 years ago

Seems that also Expressif is planning to migrare to RiscV with the not-yet-released ESP32-C3 Series SoCs (samples only) https://www.espressif.com/en/products/socs

Jason2866 commented 3 years ago

@anton-garcias we hope espressif is doing the needed Arduino port (fast) for the ESP32-C3 There is a high chance Tasmota will be ported too ;-) The chip is a cheap nice direct (pin compatible) replacement for the ESP8266

normanr commented 2 years ago

fwiw, feature requests to add support for BL602:

Jason2866 commented 2 years ago

@normanr after this a well done Arduino port on top of the SDK is needed to have the possibility to port Tasmota. Imho the Arduino port will not happen. The Esp32-C3 is supported from Tasmota. So there is a good alternative for the esp8266 To be clear there will no work invested in this chip from Tasmota dev team.

normanr commented 2 years ago

acknowledged. The ArduinoCore-bouffalo mentioned by exentio looks like it's just a shim from ArduinoCore API to the Bouffalo SDK API, so should be good-enough to plug that gap. Probably the next steps is for someone from the community to create a fork and try, hook this stuff together, and see if it'll even build with everything optional disabled. I may try this in the future if I can get a development environment set up.

I agree that the ESP32-C3 is a good alternative, but it doesn't help those who have already bought pre-made units which have BL602 chips in them and would like to replace the firmware with Tasmota. I found a reddit thread where someone seems to have had some success flashing an SDK sample to a MagicHome unit.

maxgerhardt commented 2 years ago

If anyone can help test my PlatformIO integration (https://github.com/platformio/platformio-core/issues/4046#issuecomment-918220660), please let me know your results. You should be able to compile + upload to a BL602 based board with the Pine64 Bouffalo Arduino core, such as the DT-BL10 or Pine64 PineCone board.

isaga1234 commented 2 years ago

If anyone can help test my PlatformIO integration (platformio/platformio-core#4046 (comment)), please let me know your results. You should be able to compile + upload to a BL602 based board with the Pine64 Bouffalo Arduino core, such as the DT-BL10 or Pine64 PineCone board.

Tx MaxGerhart. I will try (it will not be fast as I'm busy with other topics, but I still have the arilux devices mentioned above)

Minims commented 2 years ago

If anyone interested a project manage bl602 now : https://www.elektroda.pl/rtvforum/topic3889041.html#19992780 maybe it can be done with Tasmota and ESPhome. ? https://github.com/esphome/feature-requests/issues/1049

openshwprojects commented 2 years ago

Thank you for linking, but you should rather link to English version of the article and not to Polish one. Here it is: https://www.elektroda.com/rtvforum/viewtopic.php?p=19992780#19992780 I am personally developing my firmware which supports, at the moment, four platforms, BK7231T, BK7231N, XR809 and BL602 with a fair chance of supporting also RTL (Realtek, RTL8710 etc) chips and at least 50% chance of supporting W600 modules.

Is there anyone with BL602 module like that led strip and would like to help me with futher testing? I am testing all my devices 24 hours per day in room, but still, so far I have only one BL602 thing.

Minims commented 2 years ago

Thank you for linking, but you should rather link to English version of the article and not to Polish one. Here it is: https://www.elektroda.com/rtvforum/viewtopic.php?p=19992780#19992780 I am personally developing my firmware which supports, at the moment, four platforms, BK7231T, BK7231N, XR809 and BL602 with a fair chance of supporting also RTL (Realtek, RTL8710 etc) chips and at least 50% chance of supporting W600 modules.

Is there anyone with BL602 module like that led strip and would like to help me with futher testing? I am testing all my devices 24 hours per day in room, but still, so far I have only one BL602 thing.

Thanks, I have one found the polish version yesterday :-) On my side I have a MagicHome Single color dimmable with bl602 + bluetooth. It is this product : https://www.aliexpress.com/item/33028057032.html?spm=a2g0o.order_list.0.0.9e071802rKVQib

I will try to test your work on it. Need to find the right GPIO.

normanr commented 2 years ago

Did you get OTA working with the BL602 yet? I tried to get OTA working for NuttX, but without any success.

Minims commented 2 years ago

OTA is not implemented for now on BL602. I have asked for it too : https://www.elektroda.com/rtvforum/viewtopic.php?p=20028737#20028737

normanr commented 2 years ago

I figured out to enable logging for the bl602 bootloader (using hexedit on the blob compiled into blflash), so I managed to debug why the xz decompression was failing (not enough memory, shrinking the dictionary to 16kb fixed that). I currently have a hacky shell script that downloads the fw image using tftp (and just replaces the contents of the partition tables to force trigger the update logic in the bootloader), but (finally!) it does work.

Minims commented 2 years ago

I figured out to enable logging for the bl602 bootloader (using hexedit on the blob compiled into blflash), so I managed to debug why the xz decompression was failing (not enough memory, shrinking the dictionary to 16kb fixed that). I currently have a hacky shell script that downloads the fw image using tftp (and just replaces the contents of the partition tables to force trigger the update logic in the bootloader), but (finally!) it does work.

Ok so you can upload the latest FW via wifi. Is so I'm interested in your scripts. Can you share them, with a small how to use ? Thx !

normanr commented 2 years ago

If you're doing this manually like I am for my NuttX build:

Open_BL602 uses a lot more of the bl_iot_sdk, so it does a lot of this for you:

Minims commented 2 years ago

Thanks for this, but it's a bit too complicated for me I think. I'm just running a make in the src project and I have not the ota folder in build_out for example

normanr commented 2 years ago

Yes, I think the OpenBeken bl602 code needs changing to be able to accept the ota file - there's not any support for it at the moment. I've gotten the ota process working with a different sdk (i.e. NuttX instead of the Bouffalolab bl_iot_sdk)

openshwprojects commented 1 year ago

@Minims @normanr OpenBL602 now supports OTA and the OpenBL602 development speed will now seriously increase due to the higher number of BL602 devices in the market. image More info: https://www.elektroda.com/rtvforum/topic3889041.html

Minims commented 1 year ago

@openshwprojects Many thanks, will test it on the next releases.