Arduino DRO DIY Build Instructions

Friday, July 12, 2013

If you’re planning to build a basic digital readout using iGaging “Remote DRO” scales and the “Touch DRO” Android application, you will need to make a controller that will interface the scales to the tablet. At this point I’ve designed two different version: one is based on Texas Instruments MSP430 LaunchPad and the other uses an Arduino. Both controllers offer the same functionality so the choice comes down to a personal preference and the availability of the microcontroller board. Yesterday I posted build instructions for the Launchpad version. In this post I will provide detailed step-by-step directions for a DRO controller using Arduino UNO and an inexpensive Bluetooth adapter.

To build a basic version of the Arduino based controller you will need only a few parts:

Tip: Sparkfun 500 1/4W Resistor Kit from Amazon or Sparkfun.com includes all of the needed resistor values (and then some).

If you live in the USA these parts, with the exception of the Bluetooth adapter, are likely available at your local Radio Shack. If you’re lucky you might be able to find a Bluetooth shield or ArduinoBT locally as well. Otherwise there is a number of Bluetooth adapters on the market. I am using the so-called “Linvor Bluetooth Transceiver because its very inexpensive and is readily available on eBay and from many other online retailers.

Most of the parts for a basic DRO controller are sold at the Radio Shack

Additionally, to keep the build neat I’m using an Arduino Proto shield. It adds about $16 to the total cost, though.

Please note, I removed the top part of the stackable headers because they were getting in the way but you don’t have to do it. Never the less, if you decide to get rid of them simply pull out the black plastic part and clip the pins with a pair of wire cutters.

If you are planning to use Sparkfun’s Mini-USB breakout boards to connect the scales please take a look at step 2A in the LaunchPad build instructions. Otherwise you can simply cut off the USB plug and solder the wires directly to the board. For consistency's sake I am intentionally sticking to the Red-White-Green-Black color coding for Vcc, Clock, Data and Ground respectively.

Step 1 - Build the voltage divider for the clock pin

First solder a 220 Ohm resistor as shown in the picture

220 Ohm resistor soldered to Arduino's Pin 2

Then add the 330 Ohm resistor next to it

330 Ohm resistor (left) added

Step 2 - Add the pulldown resistors

Insert three 10-47 KOhm resistors (any value in that range should work) into the board but leave the leads uncut

Three 47 KOhm pull down resistors inserted into the board

Now flip the board over, bend the leads as shown in the picture and cut the excess

On the underside the leads are bent to make the needed connections

Solder the leads farthest from the board edge but leave the ones next to the header pins unsoldered for now

Step 3 - Connect the data lines

Insert three green data-in wires into holes nearest pins 3,4, and 5 (X, Y and Z axes respectively).

While the leads on the right remain unsoldered the green wires can be inserted

Flip the board over and solder the wires and the unsoldered leads of the resistors making sure they are connected.

Step 4 - Connect the clock lines

Solder the white clock line to the point where 220 and 330 Ohm resistors meet.

White clock line inserted into the hole where in the middle of the voltage divider

Make sure to strip about ¼" to ⅜” of isolation so there is enough exposed wire to tie all three points together as shown below.

On the underside the bent wires are soldered to make the needed connections

Side note

If you chained the USB boards you will have a single white wire going to the board. Otherwise you can try inserting all three wires into one hole or making a three-into-one wire as shown in the picture.

Step 5 - Connect Vcc

Prepare a piece of [red] wire just long enough to reach from the 3.3V pin to the lower right corner of the board.

Solder one end to the hole next to the 3.3V pin and leave the other end unsoldered.

Red wire is used to bring the 3.3V supply to the right side of the shield

Insert the Vcc wire coming from the scales in the hole next to it, bend the two ends (on the flip side of the board) so they make a connection and solder them together.

Step 6 - Connect the Ground

Prepare a piece of [black] wire long enough to reach from the Gnd pin to the hole just next to the 330 Ohm resistor. Make sure to expose a bit of extra wire on the end that goes to the resistor. Insert the wire into the appropriate holes and bend the extra bit of the wire on the resistor end so it touches resistors lead.

Strip ¼” or so of isolation off the [black] ground wire coming from the scales and insert it into the hole next to the Z-axis pull down resistor as shown in the picture. Bend the extra bit of wire so it touches the resistor’s lead on the underside.

Vcc and Ground connected to the Arduino V3.3 and Gnd respectively

Checkpoint

When Vcc and Ground are soldered as described in the above two steps the underside should look similar to the picture below. At this point you should have all the connections involved in reading the scales done. If you own a multimeter it might be a good idea to check for continuity and shorts (just in case).

At this point the underside should look similar to this

Additionally I would suggest to upload the sketch to the Arduino, plug it into the PC and make sure you are getting position readings in the “Serial Monitor”. When you move the scales you should see readout similar to “x12345;y2345;z;12345;x12345;y2345;z;12345;” and so on; if you see only “x0;y0;z0;x0;...” the scales aren’t working right.

Step 7 - Connect the Bluetooth transceiver

The transceiver requires only 3 wires: Vcc, Ground and Rx. I’m using a piece of Brown-Red-Orange hobby servo cable but you might as well use the Black-Red-White scheme (which happens to be another hobby servo standard).

  • Prepare a piece of black (brown) wire and connect connect it to Linvor’s Ground pin
  • Prepare a piece of red wire and connect it to Linvor’s Vcc pin
  • Prepare a piece of white (orange) wire and connect it to Linvor’s Rx pin

Step 8 - Connect the transceiver to the shield

a. Strip a bit of extra isolation on the end of the black (brown) wire. Insert it into a hole next to the X axis pull down resistor’s ground lead. Bend the end of the wire so it touches the lead and solder it in place b. Expose a bit of extra conductor on the end of the black (brown) wire and insert it into the hole next to scale’s Vcc wire. bend the tip so it touches the Vcc line and solder it in place. c. Solder the end of white (orange) data wire to the Tx pin of the Proto shield.
Bluetooth transceiver connected to the shield

Side note: Since Arduino uses it’s Tx/Rx pins for programming (uploading the sketches) you will need to be able to disconnect the [orange] data line from the bluetooth module when programming. The simples way to go about this is to simply remove the shield; since I used a piece of servo cable I got the connectors on the end “for free”, I kept them as a convenience feature.

Conclusion

After following these steps you should end up with an assembly that looks something like the one in the picture below.

The board should be functions with these connections

On the underside all Vcc lines should be tied together and so should be the Ground lines.

The underside of a completed shield

At this point you should have a functional Arduino digital readout adapter.

85 comments :

  1. Thanks Yuriy ,

    For sharing such a great project with myself and others with a complete easy to follow assembly that will fit in a case much easier ,

    Bob also known as truckin23 your neighbor to the south

    ReplyDelete
    Replies
    1. Bob,
      Thank you for the kind words :)
      The state to the South from here also happens to be my favorite vacation destination (I can never get too much of Shasta, Napa Valley, Anaheim and San Diego)...

      Thank you
      Yuriy

      Delete
    2. Hi Yuriy.

      I think I have missed something here, where does the 3.3v or the 5v power get connected to run the UNO? You mention that a power supply is needed in the parts list. I just don't see where the power supply gets connected. I have the UNO and the SHIELD stacked together

      Delete
  2. Thanks Yuriy .. great project. This is my first venture into the arduino world after 35 years as an engineer having cut my teeth on mullard red spot transistors and ecl88 tubes i finaly have time to learn some code skills. Thanks again and if your ever over my way give me a call .... joerooney@online.ie

    ReplyDelete
  3. Yuriy

    Quick question in the 1st picture you say solder a 220 ohm but my packages from radio shack shows that one as 330ohm orange, orange, brown & gold

    Bob

    ReplyDelete
    Replies
    1. Bob,
      Quick answer: oops, my bad. You're right, I installed them backwards.
      I retook the first two pictures and will retake the rest tomorrow.

      Thank you for catching this.
      Yuriy

      Delete
  4. I have created a custom arduino shield for wiring 3 iGaging scales. I used the proprietary software at www.expresspcb.com and their MiniBoard service, which has plated through holes but no soldermask or silkscreen (so neither does my design)

    The shield has 3 full size USB input connectors and a place for a max232 chip and DB9 for serial output. Some pads/signals necessary for the bluetooth module are stubbed out for use in place of the max232.

    The board works but I made a few mistakes like traces too thin, solder pads to small for holes, holes too small, positioned slightly off etc.

    If there is enough interest I'd be willing to go back and make the necessary adjustments and post a final version for anyone to use.

    ReplyDelete
    Replies
    1. Can you email me, please?
      ycroosh at gmail.com

      Delete
  5. Hi Yuriy
    Thanks for all your great work. I have an Arduino Uno that I would like to connect to my Chinese Digital Calipers using the as Schumans article. Can you reference me to an article to on how I would extract the data and clock signal from my calipers. The clock signal on my calipers is in the 10milli volt range while my data signal is 1.5 volts.
    Thx in advance
    francisco

    ReplyDelete
  6. First and foremost, this project has given me great pleasure. As many have said, thank you for your gifts. I have been building for the past few weeks as time would allow, and have a working rough version. I have scoured the web looking for folks sharing their builds. Perhaps its beyond the scope of your site, but pix of implementation might be fun.

    ReplyDelete
  7. 1) In one place the cpi is listed as 2560 and another 2650. Which is it?
    2) Sometime when I power up the arduino/igaging the igaging seems to reset to 0 at wherever it currently is. Do you know how to force a reset of the igaging to 0 and how to start up without the reset?

    ReplyDelete
    Replies
    1. 1) It's 2560. Can you point me to where you found 2650? I need to fix that.
      2) They reset every time the microcontroller (inside) looses power for a period of time. To start up without a reset you'll need some sort of battery backup. *Some times* shorting the Vcc and Ground (while power is not applied) resets the encoder (and some times id doesn't).

      Regards
      Yuriy

      Delete
    2. on http://www.yuriystoys.com/2013/07/igaging-accuremote-and-digimag-digital.html about 1/3 of the way down the page. Thanks for the quick response.

      Delete
    3. Thank you. It's now fixed.

      Delete
    4. on the setup creen for the channels CPI is stated as 2650
      just installed the app on my Samsung.
      BTW is there a work-around for the lathe cross slide to give 'diameter' values?
      Walter....

      Delete
    5. Walter,
      Yeah, I know :( fat fingers. I fixed it in the upcoming version...
      For the cross slide you can double the CPI in the settings.

      Thank you
      Yuriy

      Delete
    6. Yuriy, thank you
      When is the upgraded app available ?
      Crosslide double inch per clicks so CPI = 2560/2 = 1280
      I knew what you meant :-)
      Walter

      Delete
    7. Walter,
      Double CPI, not half: 2560*2=5120. You want the position to increase half as fast when moving the cross slide.

      Thank you
      Yuriy

      Delete
    8. When the crosslide moves 0.500" the display needs to read 1.000"
      0.500" of movement is 1280 clicks
      :-) :-) :-)
      Walter

      Delete
    9. Got it. It was early in the morning ... :)

      Delete
  8. I would like to build a dro but don't have a phone or tablet to spare. I do have a portable DVD screen and a keypad. I would like it to output that way. Could you point me in the right direction?

    ReplyDelete
    Replies
    1. Shawn,
      Honestly, the right directions is "go to eBay and get used tablet" :) What you are trying to do is a completely different project (and can of worms).
      Assuming that Arduino can somehow pull it off (i.e. has enough RAM, flash, IO pins etc.), there is a "TV out" library that can output analog video, you will be basically reinventing a whole bunch of wheels that are already taken care of in Android. Handling a keypad isn't trivial either. If you feel adventurous, look at the source code for Shumatech's DRO (OpenDRO project). That is using 7-segment LED displays, and driving a DVD screen will be even more involved.
      Bottom line: if you want to have a hobby and learn something, for it. If you want to have a working DRO in less than a few years - get a used phone/tablet. If the former is the case, at least do yourself a favor and start with Raspberry PI. That way you won't be dealing with low-level graphics (Linux takes care of that).

      Thank you
      Yuriy

      Delete
  9. Yuriy, first off - many thanks for coming up with idea and for sharing it!

    I'm getting ready to build one and after reading your other post regarding the electrical noise issues I'm looking at every step with an eye toward minimizing it. To that end, I have a question on your use of pull-down resistors on the data lines, instead of pullup resistors. Was there a reason for this decision? In general digital circuits are much better at sinking current than sourcing it, also the voltage drop across the pulldown resistor could become problematic (at these voltage levels) at about 60uA of leakage current. It appears the Atmel chip is only rated at 1uA leakage, but who knows what the pin driver in the scale is rated at. Anyway, it just seemed to me that a pullup instead of a pulldown would be more resistant to noise... I'm curious if you had given this any thought.

    Thanks again!

    ReplyDelete
  10. Yuriy, found your site and am very interested in jumping in. Purchased the iGaging scales today for my mill/lathe and now ready to figure out how to get your app and hardware running.....
    Cheers,
    Walter, Alberta, Canada

    ReplyDelete
    Replies
    1. All parts are ordered and await delivery sometime around Dec 20th
      :-) :-) :-)
      Walter

      Delete
  11. Hi Yuri, Nice Project. Thanks for sharing. The first couple of pics threw me off I wish you would get that sorted. Also When trying to connect the android to the Bluetooth it connects and then disconnects. any tips in this? Thanks Charlie

    ReplyDelete
  12. All parts ordered, app installed. Looking forward to Christmas DRO for my lathe! Thank you Yuriy

    Walter....

    ReplyDelete
  13. HI Yuri,

    I got the disconnection issue solved. it the pic above you show one com line connected. I had to connect both the Rx and Tx lines from the Bluetooth to the ardunio and I was able to connect just fine. Now I need the scales. Thanks.

    ReplyDelete
    Replies
    1. Hi Charlie, I just solved my disconnection problem by connecting both Rx and Tx thank you so much for this tip.

      Even though there were issues this DRO is fantastic, FAR worth the time spent building and troubleshooting.
      Again thank you so much Yuriy for putting this together and sharing.

      Marc

      Delete
  14. Is there a 1/2 function and I'm just missing it? I don't want to sound too stupid cuz' this is the first DRO panel I've ever had.(already had the igaging dros on my mill so this was too easy). But from looking at some of the high dollar panels I see a 1/2 button , and just assumed it would zero the axis to 1/2 of the readout.. I don't really know if that's what they do or not but I could find it very useful for finding the center after touching off on both sides.
    Also want to thank you for all your efforts and time

    ReplyDelete
    Replies
    1. Yes, there is. Long-pressing the axis readout (on screen) will bring up a dialog with 1/2 function and "invert" function.

      Take a look at these two posts; they cover most of the current features.:
      http://www.yuriystoys.com/2013/02/new-version-of-android-dro-coming.html
      http://www.yuriystoys.com/2013/07/new-version-of-android-dro-coming-soon.html

      Thank you
      Yuriy

      Delete
    2. Thank you again for the wonderful program and the build instructions for the controller... Everything is now hooked up and working like a charm.. The original igaging dros made my old mill usable,(lots of backlash and barely readable handwheel dials). Your setup has made it fun to use again.
      You may consider adding those 2 posts to the popular post list (for others, I've already bookmarked them) And maybe a sticky post about cpi settings since the cpi box is unpopulated originally.
      Also, I used one of the chinese bluetooth modules (HC06 I think) and I had to connect tx and rx to the arduino before my tablet would connect.I soldered mine straight to a radio shack project board then connected it to a dp switch to cut it off while uploading sketches.
      and lastly, you may consider adding a paypal donate button to your site, I don't have much money but I sure wouldn't mind showing my appreciation other than the 'Thank You's"

      Delete
  15. woohoo! Success. This is such a cool project. Can't wait for the lathe version to come out. One thing I learned was to be certain the proto board is the same brand as the Uno used, at least in my case the Arduino proto board would not work with the sainsmart uno unless I trimmed pins due to the two caps on the edge of the sainsmart uno that are inset on the Arduino uno. Of course the headers do not match exactly either.

    But, all good. I am installing this on my Sherline lathe for now and will build another for the Unimat III lathe mill - particularly the mill.

    thank you, Yuriy!

    ReplyDelete
  16. I thought I would let you know of a different use for you scale reading code. I have built a unit using an Arduino Leonardo to feedback to my laptop cursor. This allows me to draw a component in CAD (in my case a modest circuit board) and then trace it in the style of an ‘etch-a sketch’. Very quick and intuitive to use compared to lists of co-ordinates, and with care allows curves and diagonals that otherwise would only be possible with a CNC set up.
    Cheers
    Rod

    ReplyDelete
  17. Hi - I have built this but not had chance to test with the mill. I have noticed on other projects using the HC-05 that they insist you must put a voltage divider on the TX leg from the Arduino to drop the 5v to 3.3v or it will fry the BT module. You have a divider on the clock line, should there be one on the TX also?
    Cheers, Chris

    ReplyDelete
    Replies
    1. Chris,
      That is correct, the BT module itself is not 5V-tolerant, but the board it's mounted on has the necessary components, so it can tolerate a bit more than 5V.
      Regards
      Yuriy

      Delete
  18. Just finished building the Arduino UBO based DRO. Right now I only have one iGaging scale but I plan on getting two more in the near future. This is a great project. I looked at what you recommended and decided to use an Adafruit Bluefruit shield instead of a prototype shield and a separate Bluetooth module. I loaded the sketch (V2_1) but got a synch error and it would not run. I then got the new version (V2_2) and loaded that and it instantly worked as advertised. I first tried watching the data through the serial port in the Arduino IDE. It worked great. I already had the AndroidDRO app on my Samsung Galaxy S 4. I brought up DRO app on my phone and turned on Bluetooth on my phone. Selected scan and my phone saw a MAC address that I was not familiar with. I selected that and it changed to Adafruit EZ-Link 1684 and I was then able to pair it. A blue LED flashes rapidly on the shield all the time also a red LED on the shield flashes slowly). Started the app on my phone and connected to Adafruit EZ-Link 1684. The app immediately started reading out the position of the scale that I have plugged in. I moved the connection to each of the ports (X, Y and Z) and it all works. Amazing! Thank you so much for this great app and project. I have some images but I don't know how to post them. I used headers to build my circuit and I used the Sparkfun Mini USB breakout boards. The headers will allow me to change to cables instead of the breakout boards if I decide to mount this in an enclosure in the future (probably will). Very happy with this project. I will donate something towards your efforts next week.

    ReplyDelete
  19. Yuriy,

    This is a great project and so much so that I have attempted to build my own DRO using this model. I am a little confused by some inconsistencies between photos that have different wire colors, the fact that you don't have both the TX and RX of the Bluetooth module connected ( at least in the photo description). The schematic you do show they are connected. For the person who is using the mini USB/Arduino/Bluetooth combination there is not a cohesive instruction set. I have tried to pull it all together and am not having any success. I also have not figured out how the Sketch program addresses the Bluetooth. Am I missing something here? The troubleshooting does not seem to address my problems. Also, is there an issue using the Bluetooth HC-06 which I received vs the HC-05? Functionally, from what I have found on the internet they should be equivalent but I cannot get mine to stay locked up. Anyone will to give me a hand?

    ReplyDelete
    Replies
    1. Russel,
      Only BT Rx needs to be connected to Arduino's Tx (it's one-way connection; tablet never sends any data back to the controller).
      The sketch doesn't care about BT. From Arduino's standpoint it's a simple UART connection.
      HC-ox are all compatible. The difference between 03, 04, 05 and 06 is that some are slave-only, some are master-only and some are configurable (don't remember which one is which off the top of my head).
      As far as Mini vs. Uno, vs. any other "small" Arduino - there is no difference. The pins are mapped to the same functions, so all you have to do is to cross reference Uno pins to your particular flavor.

      Hope this helps.

      Delete
    2. Hello, Yuriy
      I would like to say that your project is really nice and it has been helping me with my own.
      Well, I have been working in a project which is to build a DRO on a computer screen. However, I have some doubts about things that I read in your blog and I really appreciate if you could help me.
      First, I cannot understand why I should have something like “x12345;y2345;z;12345;x12345;y2345;z;12345;" on Serial Monitor. I got just "0" and "1" since the data wire provides a digital signal.
      Besides, I connected the Vcc wire with the Arduino 3.3V terminal, but I'm not sure it is correct.
      Well, I really appreciate if you could help me with my project!
      Thanks for reading!
      and congratulations for your work!

      Delete
    3. Well, it depends on what you call "Serial Monitor". Are you using a logic analyzer to "sniff" the wire, or are you looking at some sort of serial terminal? The latter should show ASCII characters, not 0s and 1s...
      3.3V on Arduino UNO is really a "regulated 3.3V output", so that should work for the Vcc line.

      Regards
      Yuriy

      Delete
    4. Oh! Ok, Yuriy. I see.
      Well, I used the code that you provide on your blog and I got some random numbers, like, X4325;, X7893;, so on... depending on how I move the cursor along the "iGaging AccuRemote Digital Readout". I guess they are ASCII characters, but I needed to change them to Decimal numbers and read something in millimeters or inches and I don't know how to do it. Actually, I do not know if it is possible to convert it in mm or inches on the "Arduino Serial Monitor (Screen)" or do it just later on.
      Thanks for replying me (quickly, by the way).
      Regards,
      Diego

      Delete
  20. Hi Yiriy

    I am putting this together using my own PCB with SMD USB headers on it. Can I ask if you have this circuit as a schematic as opposed to pictorial step by step instructions?

    Thanks

    ReplyDelete
  21. ok so which wires on the i gaging go to which wires on the adapter?
    thanks,
    matt

    ReplyDelete
  22. Thank you for an amazing use for an Arduino, is there an actual schematic for the connections as I plan on using a Arduino nano for this build. Thank you.
    Yves from Canada

    ReplyDelete
    Replies
    1. http://www.yuriystoys.com/2012/09/arduino-bluetooth-module-wireless-dro.html

      Delete
  23. Thank you so much for posting such a brilliant project, Ive just finished mine and it works great, i used scales from arceurotrade.co.uk.the scales look just like the iGaging scales. Brilliant

    Kind Regards
    Dave

    ReplyDelete
  24. Hello Yuriy,
    first of...great project and instructions! Followed it 'almost' to a T and out of 3 axis the Z on the mill worked instantly. Not the X and Y....Long story short: on the Arduino Uno (with mega proto) found a continuity on these X and Y Data lines. I'll talk wire colors now: made red,black and white all Common and 1 wire to the Uno, per instructions. Problem. Found out that out of 3 scales from Igaging that 2 of them (I made those X and Y) had 5 !! wires...extra Brown one. Ignored that one at first and went Red,Black,White and Green. No cigar, not working. Called Igaging and they have no clue what wire coding is there! Promising, right? Experimenting and found it. Working great now eventho had to calibrate 2 times? One thing concerned me with my tablet (Samsung 10.1) is that when I go to Settings it disconnects the Bluetooth. Turned out not an issue.
    For those who order Igaging scales (I ordered the cheapo's, not the stainless) and you get one, or more, from the "New Batch" with 5 wires (Brown added) change into this:
    Red = still power
    Black = still ground
    Green = IGNORE
    Brown = Clock
    White = Data

    Hope that helps some.
    And Yuriy...Thank you very much
    Donation shortly
    John

    ReplyDelete
  25. Just managed to built a digital measure on friend pipe bender with TouchDRO and cheapo rotary encoder with Arduino compatible.
    Happy to contribute links on used products, Sketch and arduino code if someone feels that it might be usefull.

    http://www.youtube.com/watch?v=5UV3RL9NAKI

    ReplyDelete
  26. I have completed the project and followed all of your instructions but cannot seem to get the scales to read once in the app. I have downloaded the sketch to my UNO 3 times and still nothing. Also, in my Igaging USB cables, I have 5 wires...X axis RED BLACK GREEN WHITE BROWN/ Y axis RED BLACK WHITE GREEN BROWN/ Z axis RED BLACK GREEN YELLOW BLUE. I have no idea the wiring diagram for these cables...could be that the cables are not what one would expect them to be. ie: red could not be "VCC" etc. Any info helps!

    ReplyDelete
    Replies
    1. Open the black box on the scales and use a multimeter to determine which pin goes to what.
      Vcc = Positive
      GND= Ground
      SRC= CLOCK
      DATA= DATA
      5th wire ignore

      The colors may not mean much but those pins I mentioned above will guide you to the correct colors.

      None the less here is mine as follows
      Red = VCC
      Black = GND
      Green = CLOCK(aka SRC)
      White = DATA
      Brown = 5th wire useless
      ------------------------------------------------------------------------
      Red = VCC
      Black = GND
      Blue = CLOCK(aka SRC)
      Yellow = DATA
      Green = 5th wire useless

      Hope this helps

      Delete
  27. Hi Yuriy,
    Is there a schematic available for wiring the shield. My shield is layed out a little different than the one you show. I think I have it wired right but i would like to verify it with a schematic before I do any soldering.
    Thanks
    Lou

    ReplyDelete
  28. Hi Yuriy,

    For the life of me I can't find out the Voltage and Amp that should be used to power up the board. Ardunio say 9 VDC is good and they offer a power supply for it at 9VDC and 650 MA if I recall. Is that adequate for this project?

    Rick S.

    ReplyDelete
    Replies
    1. Rick,
      Scales draw negligible current, BT module draws about 20 mA, and Arduino UNO draws on the order of 50 mA. 9VDC @ 650 mA will provide plenty of current.
      Thank you
      Yuriy

      Delete
  29. Hi Yuriy,

    I am having a problem connecting DROTouch to bluetooth.
    I make pairing to HC-06 module. Then start DROTouch.
    Click "Connect" then select HC-06 in connection form.
    Few seconds later get "Unable to connect device".

    I can connect OK to the bluetooth using my PC. Also can connect OK using Bluetooth Terminal on the android tablet. And I am getting the scale data with these connections.

    Have I missed something in the setup??

    Thanks
    Coleman

    ReplyDelete
    Replies
    1. Coleman,
      What is the make/model/version of the phone/tablet you are using?
      Thank you
      Yuriy

      Delete
    2. What is the BAUD rate set to on the HC-06? Needs to be 9600 to work.

      Delete
  30. Yuriy/Frank
    Thanks for the reply.
    The tablet having connection issues is a Verizon Ellipsis 7. Android 4.4.2 Build 3.4.67 Model QMV7A.
    Bluetooth is running at 9600 baud.

    I got hold of a Samsung Galaxy Tab 4 to test. It works fine with touchDRO and reads the Arduino Bluetooth OK. So the issue is with the Bluetooth on the Verizon Ellipsis. Using the Samsung is the easiest solution to the problem for me.

    Another question:
    Does anyone have info on the data format for the iGaging AbsoluteDRO scales?
    I figured out it is very similar to the Mitutoyo SPC. There is a data line and clock line.
    Sending a block of 52 bits about 10 times a second.
    I can read the data OK with the Arduino. But I can not make any sense of the 24 data bits.
    It does not seem to be BCD like the Mitutoyo.
    Interesting puzzle to unscramble the bits.

    Thanks
    Coleman

    ReplyDelete
    Replies
    1. Coleman,
      I've plaid some with the Absolute scales, but so far I can't figure out the protocol and the iGaging guy I talked to didn't know the protocol either. I haven't made this into my top priority though, as there is too much work with the app right now and I don't want to get too distracted.

      Thank you
      Yuriy

      Delete
    2. Friend of mine connected one of my Absolute scales up to his O-scope. Here's what he had to say:

      Ok, did a little research. Turns out it's a 52 bit Mitutoyo protocol, and Instructables has an article on interfacing an Arduino to calipers using this format.

      http://www.instructables.com/id/Interfacing-a-Digital-Micrometer-to-a-Microcontrol/


      13 digits, 4 bits per digit. Odd format.

      Oh, it also appears that the magnetic strip encodes the position. That means the DRO can be made absolute, also!

      Delete
  31. Amazing site! Yuriy, thank you for doing all this!

    I have a question, I saw a schematic that had capacitors in it?? Did I see that correctly? I am confused as I do not see them in the build steps... I need to try to find that again to see if I was reading something else...

    Ordered the parts required to build the interface... later I will get the scales

    Arduino UNO R3 board with DIP ATmega328P
    Sparkfun 500 1/4W Resistor Kit
    Arduino Uno R3 Enclosure case box - Black Plastic (just to make it look professional, lol)
    Wall Adapter Power Supply - 9V DC 650mA
    KEDSUM® Arduino Wireless Bluetooth Transceiver Module Slave 4Pin Serial + DuPont Cable
    Arduino Proto Shield R3
    Alldaymall A88X 7'' inch Quad Core Google Android 4.4 KitKat Tablet

    ReplyDelete
  32. Also... just got most of the parts for the build... still waiting on the mini-usb boards (making it so that I can connect without having to solder the gauges wires into it)... Can I load the sketch now? Or do I have to wait for the bridge board to be completed with Bluetooth and everything?

    Here is what I have so far...

    http://i151.photobucket.com/albums/s144/wachuko/Garage/5f23766c-041f-458b-a14b-d6bfe941123d_zpstogsefjr.jpg

    How can they make a tablet for 40.00 is beyond me, but it looks great! App loaded!

    http://i151.photobucket.com/albums/s144/wachuko/Garage/979ad559-6dc0-4f15-8971-d5a172c30b35_zpscqnpkq98.jpg

    ReplyDelete
    Replies
    1. You can load the sketch at any point. It won't damage anything.

      Delete
  33. If anyone is interested, I had some PCBs made that accepts a programmed Atmel 328, bluetooth module and a handful of other components (3.3 reg, crystal,caps, resistors, and mini USB connectors) for the AccuRemote and iGaging DigiMag scales. I have one installed on a standard HD Chinese mill/drill and it works very well.

    ReplyDelete
    Replies
    1. Hello. I know you made this offer 6 years ago, but just wondering if you still had any of those boards left, or if not, could share the PCB CAD files? I've already hand-built my own adapter, using an Arduino Pro Mini, on perf board, but a friend of mine is planning to put TouchDRO on his new lathe, so he might be interested in using a PCB for the adapter.

      Delete
  34. is there a notation that i missed if i was to use the connection via USB instead of Bluetooth?

    i would like to have an option to have a tablet powered and data connected at the same time.

    ReplyDelete
  35. Done!!! Finished mine today... the build, not the install on the G0704.

    Thank you again for documenting this!! Only problem that I ran into was the installing incorrectly the first and second resistor... then I saw the comments on it. Remove both, replaced for correct values... done! Everything works as described.

    I did not install the capacitors on the mini-USB boards... did not have those at hand. But did not notice any issues when doing the testing on the three scales.

    Anyway. Great job documenting this! Also a big thanks to JWAGS55 for posting the files to print a box that accommodates all this with nice cutouts for the plugs.

    http://www.thingiverse.com/thing:585501

    ReplyDelete
    Replies
    1. Sounds like a great project.
      I would like to build one using AcuRite digital scales model SENC 150
      Is this possible?

      Delete
    2. They should work out of the box with the Quadrature version of MSP430 encoder.

      Delete
    3. Thank You Yuriy,
      Can you direct me to the build up to completion of the MSP430 Quadrature?

      Delete
  36. Hi, Great project but just one query before I build. You supply the scales with 3.3v yet the scales whilst having a 3v 2032 battery, as far as I understand actually run on 1.5v (onboard regulator). I am confused

    ReplyDelete
  37. Can you add an angle measurement as well
    on one or all axis?

    ReplyDelete
  38. I purchased a bluetooth sheild and am having trouble with using hardware serial ports and help would be greatful

    ReplyDelete
  39. Cannot seem to locate the wiring of tge Sparkfun USB connectors to board
    Thank you anyone
    Walter

    ReplyDelete
  40. Sorry Yury, found the info under MSP info
    Walter...

    ReplyDelete
  41. As an absolute newbie in the area of PICs and the Arduino, I have actually begun building this great DRO just by following along with these instructions. Thanks a million for making affordable accuracy possible with my machinery!

    However, as I've stated, I have NO experience working with the Arduino beyond modifying the "Blink" sketch, and could use some help. First, I am interested in using the additional axis and tachometer that TouchDRO 2.0.2 includes, but I'm not sure how to wire the Arduino protoshield to include it (I can't find it listed on the instructions, if they're here, can someone please point me to the link?), and second, will I have to edit/modify the sketch for the Arduino?

    Thanks in advance for any help you can provide. This is a fantastic opportunity for someone with a limited income to have a working DRO on multiple machines, improving my machining capability and accuracy!

    John W.
    Camp Verde, AZ

    ReplyDelete
  42. Yury,

    I am grateful for the information you posted here, and was wondering if you could help me with an issue we are having. My iGaging scales have 5 wires coming out of them, red, black, white, green, and brown, at first I ignored the brown and hooked it up according to this, but got no signal.

    I then began to troubleshoot, I reattached the iGaging display using all but the brown wire, it did not work.

    I then reattached the igaging display using all but the green wire.

    It worked, so I assumed in my case the green wire was blank, so I remade your circuit using the brown wire and ignoring the green wire. Still nothing.

    Now I am afraid I am frying circuits, and I am at a loss as to what to do next..

    Note that I do not have absolute, standard Igaging purchased 12/15/15.

    Thank you

    ReplyDelete
  43. Nice work! But - I would like to build one of these using a smaller version of the Arduino like the mini. Is there a schematic available? The pictures of the shield don't give me enough info.

    ReplyDelete
    Replies
    1. Yes, here: http://www.yuriystoys.com/2012/09/arduino-bluetooth-module-wireless-dro.html

      Delete
    2. Thanks very much!

      Delete
  44. I want to add the tachometer input. I'm using an optical tach sensor for a reader with a D0 and A0 output along with power inputs. Where do I connect the D0 and A0?

    Thanks for posting such a great project.

    ReplyDelete
  45. I am wanting to add W axis, tach and touch probe.
    Would appreciate directions for that. What tach pickup and touch probe design as well?
    Thank you

    ReplyDelete
  46. Hi I am a complete newbie I have built this board using your excellent instructions I am using aduino uno with proto shield I am sure I have done everything correctly I only need one axis to work on my sawmill Bluetooth connects no problem but when the wire for scales are attached the board voltage drops to around 1v and nothing works scales are bought from accurate. Co.UK

    Thanks in advance
    Rob

    ReplyDelete
  47. I have 3 iGaging magnetic scales and their displays. The scales are connected to their displays by Micro USB. I would like to connect 3 scales to to an UNO. Is there any Micro USB connectors available to connect the scale to the interface of an UNO?

    ReplyDelete
  48. Hi Yuri, This is a great project, could you tell me if there is Arduino software for 5403 Shaehe scales, I have 5 of them and would love to use them as DRO's for my lathe and mill. As I understand it launch pad kits cant be shipped to Australia at the moment.

    Regards Greg

    ReplyDelete