While the plastic injection molds are being verified and the PCB's are being assembled for delivery, I decided to spend a little time in the EZ-B v4 firmware to see what else I could pull out of it for features... You know, to make your wait worth it While the molds are checked over for quality injections.
Well, I discovered there was just enough RAM left to add another UART/Serial TTL port for expanding modules! That's huge news - with a total of 3 High Speed UARTs on the EZ-B v4! The top speed is 3.75 Mbs per UART! That's 3,750,000 bits per second. And to top it off, each UART has an input (read) buffer of 5,000 bytes!
What does this mean? It means the ability to add additional two way peripherals to the EZ-B v4, including GPS, iRobot Roomba and more!
I'm pretty sure this little 120 MHz ARM CPU is literally running to the max right now - there's nothing else I can get it to do
- Streaming real-time audio
- Super low latency real-time video
- TCP/IP Web Server
- WiFi (ad-hoc & infrastructure with DHCP server)
- 3 x high speed i2c ports
- 3 x high speed UART ports
- 24 x Servo/Digital ports
- 8 x 12 Bit ADC Ports
- 50 x Dynamixel Chainable Connection
- High Efficiency/Low Heat Digital Switching Power Supply
All packed in a little 2 inch by 2 inch form factor... You're welcome, World!
Thank you D.J. It sounds like my robot will have many options to grow! Steve S
Hey, Steve... as soon as I get my V4 board I am going to see if I can use the UART port to read the Create's sensor data... I'll let you know if I have any success... and hopefully likewise...
Stunning @DJ! Nothing short of amazing!
Richard , What program are you using that you will try to read the data you mentioned to Steve? Are going to use a terminal program or can you use the data windows in ARC? I'm lost in this area. I'm using a Kangaroo X2 operated by ARC and the SendSerial command. Kangaroo should be sending back serial text and I'm not really sure if I'll be able to see it in ARC or I'll need a stand alone program.
Realterm works... and I can read data using my old Basic Atom Pro mircrocontroller as well... Basically you send the Roomba a command and it spits back data... Like reading the drop sensor, bump sensors, motor amp draw, batt voltage etc... There are dozens of packet data you can get from the Roomba sensors... It's actually really easy if your computer/micro controller can read as well as write serial....
@Dave, Sorry I have been meaning to reply to your other post but wanted to double check first.
ARC has a serial terminal in it as one of the controls under the general tab. I'm pretty confident you'll be able to have ARC read what the Kangaroo sends back. I'm about to look in to getting a sabertooth and kangaroo however funds are very tight but it's one of those things that's been on my wishlist for a while so I may just decide to turn down the heat for a couple of weeks or eat less
@DJ, awesome! I think that sums it up well enough
Hey Rich, the ARC serial terminal might actually work reading data from the Roomba... I mean if your computer had a serial port and the Roomba was connected directly to the port (sans EZb controller)...
Link to Create.exe with examples of many applications using the iRobot Create.
The new roomba control for the v4 receives sensor data. You won't need to program for it
However, to use the receive buffer for the uarts, you will use their respective EZ-Script commands. Search for uart in the EZ-Script manual
Its a Suresity that EZ-V4 will drop jaws around the world! @DJ I guess you learned the cramming technique from sitting on suitcases for your New York trip! Very awesome! ....There must be something you can do with the 10 bytes of remaining RAM Looks like the IRoomba will be an increasingly popular platform! There are two applications that have been mentioned to utilize the UARTS....but.....there are three ports! Lets increase the list
Thanks again DJ!
@Rich , Thanks for the personal response. This info and the other input from the guys really helps. What size Sabertooth are you looking to get? I may have a way for you to get this set of boards real cheap. If you don't need a board that will stand up to a lot of amps I found out that the Sabertooth 2x5 (5 amp max) will work OK with the Kangaroo X2. You'll only need to use the DeScribe Software to change the Baud rate to match the Kangaroo. Anyway, This is going way off topic so if interested please e-mail me privately at dschulpius at wi dot rr dot com.
@DJ... A new Roomba control will be awesome... I use mostly use scripts as I want to have as much autonomous as possible in my projects... I will attempt to get a grip on using the UART if that is the only way to receive serial from the Roomba... But if I had only one Christmas wish/present to ask for it would be a $data= ReceiveSerial( digitalPort, baudRate) command in ARC...
I'm looking forward to some Roomba projects using the v4 too, I have a couple that have been waiting for my attention
@Richard I believe a command exists already, UARTRead() (I think, I'm not near ARC and I can't use it yet so not 100% sure)
Awsome DJ, I can't wait to see how my position potentiometers will work with 12 bit analog inputs. Right now with 8 bit I have resolution to about a degree, with 12 bit this could potentially get to a sixteenth of a degree! Of course there will probably be limitations. I will post my results when I get my hands on my v4.
@Purple with robotics and so many other thing in life , position is everything as in your driverless car staying on its side of the road! and the difference between 1 degree and 1/16 is huge whether the puck goes in the net or not Looking forward to any results Purple @Rich your modesty is apparent I am sure you have ARC tatoonine (d) on the inside of your eyelids
@Rich, I hope you didn't try to send me an email as I suggested above. My email crashed the other day and I lost 3 years of letters. I hope I didn't lose yours if you had tried.
@Dave, no I didn't, I didn't get around to it lol.
@Irobot, while most of what is in ARC is pretty much burnt in my memory (it's borderline eidetic so it should be) my OCD means I prefer to check and be sure.
Seems Like the new UART ports on the EZ-B V4 can do wonderful things. Any possibility that someday one or more could be used to pass data thru to an EZ-B V3? Would just need to remove the bluetooth adapter on the V3 and make up a 3 pin serial cable. From the sounds of it the V4 UARTs are fast enough. Wouldn't think it would be a huge mod to the ARC software either. Would be a great feature for things like the B9 robots which need multiple controllers. Gets the robot controlled by WiFi instead of bluetooth and makes the V3 alot more useful and it is all controlled with ARC software.
@Robert Wizard Idea! V3 and V4 linked together via one WiFi