Forum Replies Created

Viewing 25 posts - 1 through 25 (of 32 total)
  • Author
  • in reply to: Help compiling #914
    Matt G

    If you are seeing that output – your serial monitor is working fine. That’s the output from the robot you’re seeing. So you now have the program running.

    Now you need to configure it. Rob’s software post goes into this nicely – you’ll need to look here, about halfway down the page:

    SandBot Software Revamp

    Where it says “Getting on the Net”

    Once on the net – you should be able to visit both the cncUI.html and sandUI.html page using the ip address. You will then need to configure the robot to use the SandTableScaraMatt configuration using the cncUI.html, assuming you are using my PCB. Most of these details should be available on the forum here and in the sandbot posts.

    in reply to: Android app apks #912
    Matt G

    – Fixed storage status card

    in reply to: Help compiling #911
    Matt G

    Glad you got the compile issue figured out. I actually ran into that too recently when trying to compile again. Not sure if someone committed anything to Rob’s repo or not, but this change will also fix that compile issue:

    in the file lib/RdUtils/Utils.h – change

        // Following code from Unix sources
        static const unsigned long INADDR_NONE = ((unsigned long)0xffffffff);


        // Following code from Unix sources
        #ifndef INADDR_NONE
        static const unsigned long INADDR_NONE = ((unsigned long)0xffffffff);

    As for the serial monitor – you need to set the serial monitor port in the platformio.ini to the same port you upload to. it’s commented out by default:

    monitor_port = COM9

    Change COM9 to the same com port as your board.

    in reply to: Bolts #908
    Matt G

    I believe I used all m3 button head screws and nuts, so if you can find a kit with varying lengths. I did use nylocks as well, so I don’t think those are available in the hardware kits. Also the long screws to fasten the top and bottom plate together will have to be bought separately.

    in reply to: Two issues with stepper motors #897
    Matt G

    You’ve gone through the initial troubleshooting I would have. Can you probe the driver pins and see if they are getting the correct signals?

    in reply to: Pulley/gearing ratio #896
    Matt G

    So it looks like the bigger gears are 60 tooth, and the motor drive gears are 20 tooth, so you’re looking at a 1:3 ratio. I’m super interested to see how accurate your machine turns out to be with metal and acrylic.

    in reply to: Any tips for printing the parts? #885
    Matt G

    I printed everything in PLA except the top arm. I printed that in PETG to give it some flex due to the sagging nature of a large sand area. I also printed everything in 100% infill if it made sense. My original build I didn’t do 100% and noticed some deforming after a while.

    ABS would probably be even better, but I’ve never dialed ABS in on my printer to attempt it.

    in reply to: PLEASE HELP #884
    Matt G

    To expand bliksem’s post. The subfolder in my github called “Original Parts” are the untouched parts from Rob’s original model that need to be printed in addition to the models in the root folder. Also included there are the top/base plates as STLs to print, rather than laser cut.

    It also depends on what you want to build. There are several STLs in the folder that are specific to my actual furniture build.
    – Furniture DC and USB panel
    – PCB Support
    – slim legs
    – table spaces
    – LED holder

    are all specific to my build. You may or may not want/need them. All the other parts are essential to building the robot mechanism. The arms are 184.5mm in length to accommodate a ~36″ diameter table – so if you are looking to build that size, the arms will work for you. If you need something bigger or smaller, you will need to customize them using Fusion 360 and the SandTableDesignScara model.

    This is not a one size fits all project. The blog post is more of a guide on customization of Rob’s original project. I customized all of the sensor mounting and belt tensioning of the main arm to what worked for me. Something different may work for someone else.

    in reply to: auto play #878
    Matt G

    Also. I think it only works on a desktop. I’m not sure how to “drag” on a mobile browser.

    in reply to: auto play #877
    Matt G

    Hi Geri

    You can create a “playlist” by creating a sequence in the web interface. I haven’t incorporated sequence creation into the app yet.

    You have to set a name, then drag the tracks you want in order into the sequence. You can repeat tracks as well. Then you can play the sequence and it will run all the tracks.

    in reply to: Converting DXF file to STL #873
    Matt G

    I just converted them using Fusion 360 and posted them in the original parts section of my models github repo:

    in reply to: Android phone won’t connect #863
    Matt G

    Yea good call on reminding me about the app not showing the storage correctly – I forgot about that issue.

    The amount of sand you use depends on how “deep” you want the tracks to be.. I think I used 4-5 bags to get a nice even thickness across the whole table.

    I wish I would have saved the old sisyphus dropbox before it went down. I got a lot of my tracks from there. I am not aware of anyone that has an archive. I also tried to get the default sisyphus tracks from the sisbot rpi image without any luck.

    I posted lots of links to tracks in one of the comments on the main post, but here they are.

    The sisysphus subreddit is a decent community, although it’s not very active. I’ve gotten some cool patterns from here

    markyland posts some good stuff.

    This guy makes some of my favorite tracks. I love some of the crop circles, and hosta is great. StarryNight is very cool too – looks like the actual painting

    This guy creates some nice ones – there are preview images

    Another guy’s dropbox

    I also run some of these patterns

    I like this guys’ spirals and run a few of them

    Sisyphus actually has a new community tracks section. I haven’t really browsed this yet, but should be a good source of thr files

    There is also a sisyphus public dropbox somewhere that I used to go to .. I can’t seem to find the link anywhere although it’s referenced a lot on reddit and the sisyphus forums

    This website apparently lets you make your own from an image. I’m not sure how well it works

    Sandify lets you create parametric patterns and export the thr files

    • This reply was modified 3 months, 1 week ago by Matt G.
    in reply to: Android phone won’t connect #861
    Matt G

    This is a tough one.. Normally I’d think it was some wifi setup issue, but if your ipad and laptop can both see the sand bot, then it’s gotta be an issue on the phone. I haven’t seen this before, but if this happened to me I would try some of the following…

    – Is your phone IP address on the same subnet? I would assume so, but always worth checking the IP. Maybe compare it to the ipad and laptop and see if it’s some different range of IPs
    – 2.4 vs 5Ghz bands – are both the devices on the same band? I believe the huzzah is 2.4 only, so try connecting your phone to the same band. (Not that this is needed – but would be worth it for troubleshooting)
    – Are you running any private DNS on your android phone for ad blocking?
    – Download a terminal emulator app and attempt to ping the sand bot

    See if any of those lead to some lead at all…

    in reply to: wiring diagram #849
    Matt G

    Hi Gee. The schematic for my build is available where my PCB is stored on easy eda.

    That details all the wiring connections needed if you do not use the PCB.

    in reply to: STATIC IP #845
    Matt G

    Just curious how you did it? I was going to suggest on the router side as I didn’t think the firmware supported static IP.

    in reply to: How to get the app #844
    Matt G

    I just pushed a new commit to the repo to update the app code to more recent versions of everything. Also added a way to actually configure the IP address of the robot.

    Here is a link to a compiled apk:

    in reply to: How to get the app #843
    Matt G

    I will post up an apk tomorrow when I can get it compiled. It’s still a very beta version, and I’ve only tested it on my Samsung devices.

    Will post a link here when I get it up.

    in reply to: Stepper Motor Disable #841
    Matt G

    So there is a configuration item that sets a timeout for the steppers to disable. The json attribute is “stepDisableSecs”.

    Now if your status says it’s still running, I don’t believe the timeout would actually engage.

    I also didn’t write the firmware, and the robot motion code is pretty intense. I find it easier to trace loaded into vs code, and searching for the json attribute usage to see what actually reads that, and then what would trigger the code that uses the stepper timeout.

    My Android app monitors the number of operations in the queue to calculate the state of the bot. I believe that’s available in the status rest endpoint. You can see the path to all the endpoints I’ve interfaced with in this Android file.

    If you monitor the “qd” attribute in the status json, you can see how many operations are queued up. If that never hits 0, I wonder if whatever pattern you are running is never ending?

    • This reply was modified 4 months, 1 week ago by Matt G.
    in reply to: Which optical end stop switches #840
    Matt G

    Hey Kevin

    The exact end stops I used are these

    in reply to: Homing Strings #768
    Matt G

    Excellent news.

    I wish everything was standardized to make stuff like this easier to track down, but glad you were able to solve the problem!

    in reply to: Homing Strings #766
    Matt G

    Interesting that you found that out. I would start building the homing string up piece by piece. The A+5000n should be rotating an additional amount until the sensor is un-triggered.

    What type of sensor do you have? It is possible that the sensor’s signal is opposite of mine, so the first big “N” is always tripped, and then the small “n” in the A+5000n is actually being hit when the sensor triggers on.

    So what I would try is start here:


    Make sure that the bottom arm will stop as soon as the sensor is tripped in this scenario. Once verified, you can add on some more…


    To verify that the lower arm the proceeds the additional steps until the sensor un-triggers.

    If the first step fails – then you know that big “N” is not happening when your sensor is triggered.

    To debug that further you can play around with the robot configuration for the endstop in the cncUi.html’s settings area.

    			"endStop0": {
    				"sensePin": "36",
    				"actLvl": 0,
    				"inputType": "INPUT_PULLUP"

    You can try changing the active level to see if your sensor’s “default” state is 0, instead of 1 like mine…

    So start out small with the initial steps and build up until you get a string that works for you.

    You could also try


    with a small “n” if the initial big “N” isn’t working in this initial test too.. Let me know how it progresses!

    in reply to: Homing Strings #763
    Matt G

    So I can confirm that triggering the “elbow” sensor during homing of the bottom arm should not stop homing:

    I have annotated this picture, that goes along with my robot configuration to show which connections go to which motor/sensor for motor A/B and sensor 0/1 alignment

    • This reply was modified 6 months, 1 week ago by Matt G.
    in reply to: Homing Strings #760
    Matt G

    So if you’re using the same homing string.. I don’t think that interrupting the upper arm sensor while the lower is homing is supposed to stop it. I’m not positive.. I’ll open my table when I have time tomorrow and check.

    Can you try swapping sensor pins? Wondering if the sensor signal pins are swapped.

    Also – I have never tried the home all button on cncUi.html. I always use the home command from sandUi.html – which I believe sends a g28 gcode command. So it’s possible the home all button is doing the same.

    in reply to: Homing Strings #757
    Matt G

    If you look in the first post in this thread, there is a link to the actual firmware code that is processing the homing string.

    I’m struggling to figure out how you can get into a situation where manually tripping the optical endstop works, but the arm triggereing it doesn’t.

    Are you waiting until the 2nd arm starts homing before triggering the endstop manually when testing? You would need to make sure the homing is in the same state when the 2nd arm is rotating to properly test.

    Another tip is you could remove the “duplicate” movements in the first portion of the homing string to keep the arms aligned. For example in my example above:

    and so on – just to be sure that A is mapped to the first arm like you expect, and you just don’t happen to be tripping A’s sensor with the B movement.

    You need to make sure that in your string the A commands are moving the bottom arm. It sounds like they are since you mentioned only the top arm moves in the 2nd portion of homing.

    Can you post your homing string here?

    in reply to: microSD Card Formatting #709
    Matt G

    I actually use rufus for my raspberry pi images, so perhaps that’s why the old pi card worked…

Viewing 25 posts - 1 through 25 (of 32 total)