Answers.Body: <p>The RWTH documentation about initiating connections has a sub-chapter called "Using multiple NXTs" which can be found here: <a href="http://www.mindstorms.rwth-aachen.de/documents/downloads/doc/version-4.03/pc_nxt_communication.html#12" rel="nofollow">PC to NXT Communication - Using multiple NXTs</a></p>
  
  <p>The C++ communication from norgesgade14.dk claims to support: "Open and close connections with multiple NXT units" on its <a href="http://www.norgesgade14.dk/bluetoothlibrary.php" rel="nofollow">overview page</a>.</p>
  
  <p>So it should be possible to do this, though I can't confirm since I only have a single NXT. I suspect that you only need one dongle though.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2012-03-03T21:09:30.293Z
Answers.LastActivityDate: 2012-03-03T21:09:30.293Z
Answers.UserDisplayName: Sebastian Wahl
Answers.Body: <p>Those answers above do all work.  If I were looking for fast speed, I would probably use USB, however if you robot moves around, then bluetooth is probably the best solution (the slowest thing in the loop is the NXT anyhow :P).  If your Bluetooth hardware on your computer supports multiple devices, then simply address each associated COM port per device.</p>
  
  <p>After reading through the bluetooth direct command PDF provided by LEGO however, it's written fairly poorly and leaves the user asking a lot of questions or messing around with certain commands for a long time.  There is a great writeup here that goes over the commands in an easier, more understandable, and thorough way:
  <a href="http://www.robotappstore.com/Knowledge-Base/Programming-LEGO-NXT-Mindstorms/92.html" rel="nofollow">http://www.robotappstore.com/Knowledge-Base/Programming-LEGO-NXT-Mindstorms/92.html</a>
  I recommend checking it out as it goes over a whole host of command types.</p>
  
  <p>Hope this helps!</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2012-09-06T06:22:36.253Z
Answers.LastActivityDate: 2012-09-06T06:22:36.253Z
Answers.UserDisplayName: Robotman
Answers.Body: <p>I've used RWTH and vouch for its effectiveness. However, if you don't have MATLAB, don't know how to use MATLAB, or just want an open-source solution, you can use the Perl module for controlling the NXT over bluetooth.</p>
  
  <p><a href="http://search.cpan.org/~collins/LEGO-NXT-2.00-1/lib/LEGO/NXT.pm" rel="nofollow">http://search.cpan.org/~collins/LEGO-NXT-2.00-1/lib/LEGO/NXT.pm</a></p>
  
  <p>It's quite simple to use and provides very thorough control. Best of luck!</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2012-04-10T21:56:01.713Z
Answers.LastActivityDate: 2012-04-10T21:56:01.713Z
Answers.UserDisplayName: Keshav Saharia
Answers.Body: <p>Yes, this is definitely possible! You can connect up to 7 different NXT devices from one computer and one Bluetooth dongle (theoretical limit). I have tested this with the <a href="http://www.mindstorms.rwth-aachen.de">RWTH - Mindstorms NXT Toolbox for MATLAB</a>) successfully with 5 NXTs on Linux and with at least 2 NXTs on Windows. </p>
  
  <p>In real life, it depends on your Bluetooth hardware. Your Bluetooth stack or driver software should provide several serial COM-ports. You can then connect each virtual serial port to a seperate NXT device, and access them via those different serial ports. </p>
  
  <p>If you go the direct way via the official LEGO NXT Bluetooth SDK you mentioned, you can retrieve different handles to multiple NXTs.</p>
  
  <p>Oh, and for the record: You can also connect multiple NXTs via USB, and you can also mix and match with Blueooth.</p>
  
  <p>Regards, Linus</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2012-04-03T03:47:09.557Z
Answers.Text: To back this up, I've also controlled 3 NXTs simultaneously from Windows with a single Bluetooth dongle, using a LabVIEW program with the LabVIEW NXT Toolkit.
Answers.UserDisplayName: nhinkle
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2012-04-02T15:55:56.840Z
Answers.LastActivityDate: 2012-04-02T15:55:56.840Z
Answers.UserDisplayName: Linus Atorf
Body: <p>I am thinking about starting a project involving controlling the movement of a mindstorms robot depending on some input from a Kinect device; however the robot will require at least 6 motors. I have access to 2 NXT sets* (provided by university) - is it possible to control both bricks using either one (or two) bluetooth dongles? I've read through the <a href="http://mindstorms.lego.com/en-us/support/files/default.aspx#Advanced">Bluetooth SDK docs</a> but they only mention that a master NXT can control up to 3 slave NXTs. Reading through the protocol spec I see no reason why another NXT could not be controlled by just sending it "direct control messages". Can it be done in a simplistic way without having to make my own low level bluetooth api?</p>
  
Tags: <nxt><mindstorms><programming><bluetooth>
Title: Can I control 2 NXT bricks from a computer using bluetooth at the same time?
UserDisplayName: Callum Rogers
ThreadText: # Can I control 2 NXT bricks from a computer using bluetooth at the same time?
  
  (Asked by: username_0 on 2012-02-29)
  
  I am thinking about starting a project involving controlling the movement of a mindstorms robot depending on some input from a Kinect device; however the robot will require at least 6 motors. I have access to 2 NXT sets\* (provided by university) - is it possible to control both bricks using either one (or two) bluetooth dongles? I've read through the [Bluetooth SDK docs](http://mindstorms.lego.com/en-us/support/files/default.aspx#Advanced) but they only mention that a master NXT can control up to 3 slave NXTs. Reading through the protocol spec I see no reason why another NXT could not be controlled by just sending it "direct control messages". Can it be done in a simplistic way without having to make my own low level bluetooth api?
  
  **Tags:** nxt, mindstorms, programming, bluetooth
  
  ---
  
  ## 4 answers
  
  ### Answer by username_4 on 2012-04-02. Score: 10 | Accepted answer
  
  Yes, this is definitely possible! You can connect up to 7 different NXT devices from one computer and one Bluetooth dongle (theoretical limit). I have tested this with the [RWTH - Mindstorms NXT Toolbox for MATLAB](http://www.mindstorms.rwth-aachen.de)) successfully with 5 NXTs on Linux and with at least 2 NXTs on Windows.
  
  In real life, it depends on your Bluetooth hardware. Your Bluetooth stack or driver software should provide several serial COM-ports. You can then connect each virtual serial port to a seperate NXT device, and access them via those different serial ports.
  
  If you go the direct way via the official LEGO NXT Bluetooth SDK you mentioned, you can retrieve different handles to multiple NXTs.
  
  Oh, and for the record: You can also connect multiple NXTs via USB, and you can also mix and match with Blueooth.
  
  Regards, Linus
  
  > **Comments:**
  > **username_5**: To back this up, I've also controlled 3 NXTs simultaneously from Windows with a single Bluetooth dongle, using a LabVIEW program with the LabVIEW NXT Toolkit.  
  
  ---
  
  ### Answer by username_1 on 2012-03-03. Score: 3
  
  The RWTH documentation about initiating connections has a sub-chapter called "Using multiple NXTs" which can be found here: [PC to NXT Communication - Using multiple NXTs](http://www.mindstorms.rwth-aachen.de/documents/downloads/doc/version-4.03/pc_nxt_communication.html#12)
  
  The C++ communication from norgesgade14.dk claims to support: "Open and close connections with multiple NXT units" on its [overview page](http://www.norgesgade14.dk/bluetoothlibrary.php).
  
  So it should be possible to do this, though I can't confirm since I only have a single NXT. I suspect that you only need one dongle though.
  
  
  ---
  
  ### Answer by username_2 on 2012-09-06. Score: 3
  
  Those answers above do all work. If I were looking for fast speed, I would probably use USB, however if you robot moves around, then bluetooth is probably the best solution (the slowest thing in the loop is the NXT anyhow :P). If your Bluetooth hardware on your computer supports multiple devices, then simply address each associated COM port per device.
  
  After reading through the bluetooth direct command PDF provided by LEGO however, it's written fairly poorly and leaves the user asking a lot of questions or messing around with certain commands for a long time. There is a great writeup here that goes over the commands in an easier, more understandable, and thorough way:
  <http://www.robotappstore.com/Knowledge-Base/Programming-LEGO-NXT-Mindstorms/92.html>
  I recommend checking it out as it goes over a whole host of command types.
  
  Hope this helps!
  
  
  ---
  
  ### Answer by username_3 on 2012-04-10. Score: 1
  
  I've used RWTH and vouch for its effectiveness. However, if you don't have MATLAB, don't know how to use MATLAB, or just want an open-source solution, you can use the Perl module for controlling the NXT over bluetooth.
  
  <http://search.cpan.org/~collins/LEGO-NXT-2.00-1/lib/LEGO/NXT.pm>
  
  It's quite simple to use and provides very thorough control. Best of luck!
  
  
  ---
  
  