any examples pls?
only as mentioned above - the Bond Bridge. I think there have been attempts to use RFX-TRX, not sure if successfully.
Did you have to send the hub back to them in order to do the RF Firmware update? I had already sent back my unit to them last year as part of their proactive recall of the hub memory issues, but they obviously didnât touch the RF Firmware on my unit because its still at B10.
For What itâs worth I have 2 Hubs and 2 Bond Bridges.
I would love to rely on Hubs exclusively but they go offline from time to time. Sometimes itâs Automate home assistant integration, and sometimes the hubs.
I find bond bridges incredibly reliable. So all my Automations use Bond Bridge. But I use Hubs for Data on batteries, accurate blind positioning, etc.
In addition I power the hubs via zigbee smart switches, If a number of shade sensors go offline an automation runs to restart the Pulse 2 and then reload the integration
I cracked open the pulse 2 hub and installed ESPHome directly on it, and built a external component to handle the serial communication with the RF micro to control the ARC shades.
No more cloud for me.
Reverse engineering the pulse 2 hub
I might give it a crack
" * Covers: Six motorized blinds defined via the arc_bridge component"
Is each hub limited to 6 blinds though? Or can more be defined? This would probably be an issue for me.
no i have two hubs and 29 covered
You can keep defining covers and sensors. i think it wont even care if you go past the limit of 15 they impose but youâll start to run into RF issues unless everything is close to the hub.
Ive also added external Whip Antennas to the hubs and external antennaâs to two curtain motors that were weak. but after that they are rock solid now. each mod gains about 10dB so well worth it.
Been running now over a month with this and have just added priority to move commands to improve responsiveness. if you sent a move command in a polling cycle depending on how many blinds and voltages are queried it can be a delay before the move started. now move commands are prioritized so happen immediately and are pushed to the front of the TX queue.
It now works how it should have from the factory and its all local with no reliance on the cloud in Amazon North East AmericaâŚ
Hey Redstorm, Kia Ora!
Big thank you for your effort.
I installed your firmware, but I havenât been able to get things to pair.
Based on your code, it looks like the Esp32 sends relatively âhigh levelâ commands to the stm32 (open, close, stop, move etc.) and itâs very similar to the protocol for the hacs integration with the stock firmware. You give it a â!â, a 3-character address, a command, an optional parameter, and then a â;â.
Do you get the address back from the pair? I notice you expect it in the yaml for esphome; how do you know that?
Acmeda sells their system, white label, to TheShadeStore in the US and I have been having very poor luck with the hubs. To their credit, TheShadeStore have sent techs out maybe 5 times. It works for a while and then blinds start dropping offline.
Over the ordeal, theyâve given me 3 extra hubs. (I bought one and they kept giving me additional ones to spread around the house.) One bricked itself due to the NVM leak and thatâs the one I decided reflash with your firmware. The blinds it controled (which have been offline, controlled only by the handheld remote), arenât doing well getting paired again. It was hard to get them paired to begin with and they werenât able to be paired with the other hubs. But, if I succeeded, I donât know how Iâd address them.
For what itâs worth, I was knee deep in trying to decode the RF signal with an sdr and Iâve been eavesdropping on the SPI bus between the stm32 and the si4460. But, itâd be great if I can save the original hubs with your firmware.
Again, I am super grateful for your work!
Sean
FYI, here are my notes. Theyâre pretty sketchy, but maybe useful to someone.
If you didnât erase the existing pairing as they are stored in the STM32 flash memory not the ESPâs they remain. As i had 3 hubs 2 in use and one to mess with.
As a sanity check if you open the webpage on the pulse2hub with the ESPHome firmware on. and hit the âARC Bridge Versionâ it will return the hub and version plus any blinds and firmware paired with the STM32.
BR1vB17 is the hub and B17 is the firmware version on the STM32.
Everything else is Blind IDâs and Firmware i.e USZ is the blind id for my office blind and A22 is the firmware of the blind.
If you just see BR1 and nothing else then you have to pair the blinds/curtains
if you do get idâs then you can use the custom command and send Blind ID +o for open or âcâ for close to test if they are working and in range RF wise.

Once you have the IDâs you can update the YAML for each device and update the hub once you have defined them all.
To pair using EPSHome firmware use the webpage interface, when testing i would have this page open on my phone. hit the pair button on webpage loaded on my phone while next to the blind to pair and then trigger the pairing on the blind, there is a fairly small window while the SMT32 is in pairing mode to store the keys when they are exchanged. if nothing happens it may be out of range of the hub. If it is successful you will see the Blind ID it created in the log window.
Just reach out if you get stuck, but its light and day to the crap they served up on the hubs talking to AWS US East Coast.
ARC Serial Protocol you can refer to this for any commands you can use. just drop the hub id from the commands.
https://www.automateshades.com/resource/pulse-1-serial-protocol/
I also have one of the hubs with vB10 on it that is supposed to brick its self, i am able to use it and pair with it, i have since flashed the two newer hubs with B17 firmware to run my house.
Have you noticed any difference between B10 and B17? I have one with B10, that was originally sent to them to be flashed, but it seems to work fine with your arc-bridge and ESPHome.
btw, adding some features and improvements to that at the moment.
Added a bunch of features to the ESPHome arc_bridge component in my fork here: GitHub - CircuitSetup/arc-bridge: ARC Serial Protocol RF Bridge ¡ GitHub
New features:
- Introduce
arc_bridge_groupso multiple blinds can be opened, closed, stopped, or moved together as one cover - Speed up grouped motion pacing for better responsiveness (pacing set with
motion_tx_gap) battery_level% derived frompVc- Pairing feedback through logs and
pairing_statusandlast_paired_id - Add round-robin polling per blind instead of burst querying
- Improve status handling for online, offline, not paired, no-position, and movement replies
- Add support for version, speed, limits
- ESP-IDF compatibility
To test you can add this to your config (and see new options for the config on Github)
external_components:
- source: github://CircuitSetup/arc-bridge
components: [arc_bridge, arc_bridge_group]
No real difference in functionality other than the B10 firmware was still in debug mode so made reverse engineering the hardware a bit easier as it reported some of the pins the hardware was configured to in the boot log. the B17 version does not so would have had to trace more of the pins to discover what was connected to what.
I merged the pull request and updated my hubs, All of my Blinds and drapes are hardwired, so hence why i had put minimal effort into monitoring battery levels. Im glad that opening the door has resulted in you kicking it down and making these hubs even more usable as once you disconnect them from AWS North East they work rather well. I have not had a single wife complaint since December when i installed the custom firmware on them.
Ah, I see. Good that they left on debugging then.
Awesome! Thanks for merging those additions. I think it makes grouping blinds a lot easier, and faster in all respects.
Glad to hear the WAF is high on this one too! Im in the US and sometimes the delay would be up to 10 seconds. It was silly. Thanks for doing all the work and getting things rolling.
Would anyone would be interested in the ability to change settings, like favorite positions, speed, and setting upper and lower limits? Although I couldnt get speed to display properly.

