Reprogramming the Robobuilder BT Module: interestingfindings

Korean company maker of Robot kits and servos designed for of articulated robots. Re-incarnation of Megarobotics.
1 postPage 1 of 1
1 postPage 1 of 1

Reprogramming the Robobuilder BT Module: interestingfindings

Post by PedroR » Thu Feb 23, 2012 8:04 pm

Post by PedroR
Thu Feb 23, 2012 8:04 pm

Hi all

We've been working hard on preparing 2 KHR 3Hvs for a custom project ( I know this is the Robobuilder forum, so please bear with me during the intro).

Part of the project was designing a Wireless Remote Control System to feed commands from the PC to the KHR 3HV.
We decided to use the Robobuilder Bluetooth Module (it is a Parani ESD 200) as it creates a Transparent COMM port on the PC (the client software doesn't need to be aware that BT is even involved; it just sees a COMM port).

There were (and still are) a number of challenges and tasks: we've documented the whole RCB4 protocol for playing motions, based on libkondo (we'll publish this later) and most importantly we've learned how to reprogram the Robobuilder BT module with an inexpensive USB to TTL Serial adapter.
We needed to do this because the KHR 3HV controller uses 115 200 bps, 8 data bits and 1 stop bit like Robobuilder but KHR uses EVEN parity (Robobuilder uses No Parity so the module needed to be reconfigure to EVEN)

Setting up:
We've used Sparkfun's excellent Breakout board for FT232RL http://robosavvy.com/store/product_info ... cts_id/545

This is a Swiss knife for any developer.

The connection Diagram is the following:
BT Vcc -> USB2TTL +3.3V pin
BT Gnd-> USB2TTL Gnd

BT RX -> USB2TTL TX
BT TX -> USB2TTL RX

BT CTS -> USB2TTL RTS
BT RTS -> USB2TTL CTS

from our experience all other pins should be left unconnected (ie "floating")

The pinout for the Bluetooth module can be found here http://www.sena.com/download/datasheet/ ... ni_esd.pdf
The pinout for the USB2TTL is actually printed on the board so it makes things easier :)

To read the pin number on the Parani you need to hold it with the pin headers facing down (ie the flat surface facing you).

Get the Software:
You will need to download ParaniWin from this website http://www.sena.com/support/downloads/ and install it on you computer.

After everything all the Hardware is connected, run ParaniWIN

Connect and Configure:
Once you run the software you'll need to connect to the module by indicating the connection settings.
If you're using it on Robobuilder, connection settings are 115200, 8 data bits, no parity, 1 stop bit but if you don't know these settings you can do a procedure to hard reset it to factory defaults (see bellow).

You will immediately access a nice configuration Window where you can set a wide range of options:
- Connection speed
- connection settings (parity, data bits, stop bits)
- hardware flow control (which you typically want it to be OFF)
- the Bluetooth Pairing Mode
- the Module's name
- and a lot more

With Robobuilder the module is set to Mode 3 (always discoverable and anyone can connect) and has "Command Response" set to OFF (otherwise the module may start trying to interpret what's passing through it against it's own AT command set).

There is some magic in ParaniWin that somehow it detects command response is OFF, informs you of this and reverts the setting to ON so that you can use the software to configure the module.
Once you're done just remember to set "Command Response" to OFF again and Save.


Interesting Features:

We noticed the module can be set to much higher Baud Rates (or so it seems on the software). This is particularly nice if you're using a custom firmware or if you're using the module with other devices.

Another interesting thing is that you can configure a security passkey for the module (instead of the generic 1234).


Hardware Reset to Factory Defaults
Finally we wanted to leave a note about Hard resetting the module. We inadvertently Hard reset one of our modules leading us to believe we had killed it.

After a Hard reset the module is not discoverable by any BT device (it doesn't advertise itself), goes back to 9600bps and since it has no status LEDs it may seem "dead".

We still don't know exactly how we did it but it seems we did it through the RESET pin.

The instructions seem a bit contradictory (at least to me) but in practice the RESET pin should be left unconnected on day to day operation.

If you need to hard reset the module to restore factory defaults, power the module (with Vcc and Gnd) and then apply +3.3V to the RESET pin for a couple of seconds.
This should reset it to factory defaults. You should then connect to it using ParaniWin to configure it. By default it goes back to 9600 bps and 8N1 setting I believe.

Still, refer to the user manual regarding the Hard reset. Some parts of the manual seems suggest you need to connect RESET to GND to cause a Factory reset but I don't think that was what we did and that's also not our experience on day to day operation.


We're extremely busy these days with projects but I'll try and post back some images if I have the opportunity.

There was a great sense of accomplishment when reprogramming these modules.

I remember we had discussed this previously on some thread without any conclusion (just the "maybe you need to get the official programming board").

I hope this post shows an easy (and fairly inexpensive) way of reprogramming a Parani ESD 200 with the simple resources.

Regards
Pedro.
Hi all

We've been working hard on preparing 2 KHR 3Hvs for a custom project ( I know this is the Robobuilder forum, so please bear with me during the intro).

Part of the project was designing a Wireless Remote Control System to feed commands from the PC to the KHR 3HV.
We decided to use the Robobuilder Bluetooth Module (it is a Parani ESD 200) as it creates a Transparent COMM port on the PC (the client software doesn't need to be aware that BT is even involved; it just sees a COMM port).

There were (and still are) a number of challenges and tasks: we've documented the whole RCB4 protocol for playing motions, based on libkondo (we'll publish this later) and most importantly we've learned how to reprogram the Robobuilder BT module with an inexpensive USB to TTL Serial adapter.
We needed to do this because the KHR 3HV controller uses 115 200 bps, 8 data bits and 1 stop bit like Robobuilder but KHR uses EVEN parity (Robobuilder uses No Parity so the module needed to be reconfigure to EVEN)

Setting up:
We've used Sparkfun's excellent Breakout board for FT232RL http://robosavvy.com/store/product_info ... cts_id/545

This is a Swiss knife for any developer.

The connection Diagram is the following:
BT Vcc -> USB2TTL +3.3V pin
BT Gnd-> USB2TTL Gnd

BT RX -> USB2TTL TX
BT TX -> USB2TTL RX

BT CTS -> USB2TTL RTS
BT RTS -> USB2TTL CTS

from our experience all other pins should be left unconnected (ie "floating")

The pinout for the Bluetooth module can be found here http://www.sena.com/download/datasheet/ ... ni_esd.pdf
The pinout for the USB2TTL is actually printed on the board so it makes things easier :)

To read the pin number on the Parani you need to hold it with the pin headers facing down (ie the flat surface facing you).

Get the Software:
You will need to download ParaniWin from this website http://www.sena.com/support/downloads/ and install it on you computer.

After everything all the Hardware is connected, run ParaniWIN

Connect and Configure:
Once you run the software you'll need to connect to the module by indicating the connection settings.
If you're using it on Robobuilder, connection settings are 115200, 8 data bits, no parity, 1 stop bit but if you don't know these settings you can do a procedure to hard reset it to factory defaults (see bellow).

You will immediately access a nice configuration Window where you can set a wide range of options:
- Connection speed
- connection settings (parity, data bits, stop bits)
- hardware flow control (which you typically want it to be OFF)
- the Bluetooth Pairing Mode
- the Module's name
- and a lot more

With Robobuilder the module is set to Mode 3 (always discoverable and anyone can connect) and has "Command Response" set to OFF (otherwise the module may start trying to interpret what's passing through it against it's own AT command set).

There is some magic in ParaniWin that somehow it detects command response is OFF, informs you of this and reverts the setting to ON so that you can use the software to configure the module.
Once you're done just remember to set "Command Response" to OFF again and Save.


Interesting Features:

We noticed the module can be set to much higher Baud Rates (or so it seems on the software). This is particularly nice if you're using a custom firmware or if you're using the module with other devices.

Another interesting thing is that you can configure a security passkey for the module (instead of the generic 1234).


Hardware Reset to Factory Defaults
Finally we wanted to leave a note about Hard resetting the module. We inadvertently Hard reset one of our modules leading us to believe we had killed it.

After a Hard reset the module is not discoverable by any BT device (it doesn't advertise itself), goes back to 9600bps and since it has no status LEDs it may seem "dead".

We still don't know exactly how we did it but it seems we did it through the RESET pin.

The instructions seem a bit contradictory (at least to me) but in practice the RESET pin should be left unconnected on day to day operation.

If you need to hard reset the module to restore factory defaults, power the module (with Vcc and Gnd) and then apply +3.3V to the RESET pin for a couple of seconds.
This should reset it to factory defaults. You should then connect to it using ParaniWin to configure it. By default it goes back to 9600 bps and 8N1 setting I believe.

Still, refer to the user manual regarding the Hard reset. Some parts of the manual seems suggest you need to connect RESET to GND to cause a Factory reset but I don't think that was what we did and that's also not our experience on day to day operation.


We're extremely busy these days with projects but I'll try and post back some images if I have the opportunity.

There was a great sense of accomplishment when reprogramming these modules.

I remember we had discussed this previously on some thread without any conclusion (just the "maybe you need to get the official programming board").

I hope this post shows an easy (and fairly inexpensive) way of reprogramming a Parani ESD 200 with the simple resources.

Regards
Pedro.
PedroR offline
Savvy Roboteer
Savvy Roboteer
Posts: 1199
Joined: Mon Jun 16, 2008 11:07 pm

1 postPage 1 of 1
1 postPage 1 of 1