Shop Learn
LDI, PCBs, And The Propeller (New Photos Uploaded 02/19/2019 - 8:05 PM) - Page 5 — Parallax Forums

LDI, PCBs, And The Propeller (New Photos Uploaded 02/19/2019 - 8:05 PM)



  • @Mike
    I am not sure about you 6 buttons.

    If you can highlight or mark one item in the list, you need 2 buttons to scroll and one to select.

    confirm could be the same as select, just pressed again.

    back to parent is just selecting directory ".."

    reset to current? what is that supposed to do?

    As previously mentioned, it has been a while since I wrote and tested that code, but if I remember correctly, a single selection starts at the top of the list, then with each down button press, the selection is progressed with each down button press, until the bottom of the display is reached. When the bottom of the display has been reached, the items in the directory are scrolled upward upon each down button press, until the end of the directory has been reached.

    According to the header file, there are six button command handlers, which are:
    void on_scroll_up_lcd();
    void on_scroll_down_lcd();
    void on_sel_file_dir();
    void on_confirm_sel();
    void on_reset_root();
    void on_up_level();

    After thinking about what you said and looking at the command button handlers, I would have to agree that it could all be done with three buttons.
    on_sel_file_dir() just makes the current selection blink

    on_confirm_sel() could be moved to on_sel_file_dir() which would monitor for a second press

    on_reset_root() could be eliminated, but it is a nice feature if the directory structure is complex and you are deep into the structure.... With one button press, you are back at the root

    on_up_level() is unnecessary and could also be eliminated. The same result could be accomplished by scrolling back up the display and selecting ".." However, the same as above, it saves a bunch of scrolling

    I believe "reset to current" must have been eliminated.

    I suppose the root could be reset by pressing and holding the scroll up button.

    Anyhow, thanks for taking the time to comment, because it certainly got me to thinking about the code with more in depth thought. There is definitely some bloat as far as the handlers go :) and file navigation could easily be accomplished with just three buttons, as you have indicated.


    I have to agree, that is pretty darn slick for menu handling. I was researching your suggestion before heading off to sleep this morning, but I would have never imagined any menu handling like that shown in the video.

    Going back to a previous comment of mine:
    At this point, I am beginning to think that I should supply the machine code via USB from a PC as compared to obtaining the machine code from a microSD card.

    Perhaps, until I can prove whether the machine works or not, I should hold off on any interface for now, and just be content with reading a single file from an SD card. If it does work well enough for further experimentation, then I would also like to be able to control current to the laser, pulse width, etc... In which case, that rotary encoder would be a very nice solution, for setting a variety of machine parameters.

    Thank You Mike and Jason
  • potatoheadpotatohead Posts: 10,191
    edited 2017-05-19 23:29
    I use a device with a wheel button. Love it.

    Card nav is simple.

    Use wheel to pick card function.

    Press button to use file, or enter directory.
    Use wheel to select parent directory icon, press to go to that directory.

    Exit card menu, reenter for card root, or navigate back using parent directory function
  • potatohead
    I use a device with a wheel button. Love it.

    Do you have a link to the device you are talking about?

    Going back to a previous discussion between us.... After looking for a flat piece of sheet stock to use as the bed plate, I could not find anything that was even close to acceptable, unless I was to build a rigid frame, to pull out warpage, which I may do...

    The other option is something similar to this:

    Pretty freakin' expensive
  • T ChapT Chap Posts: 4,059
    edited 2017-05-20 00:47
    Use a 4.3 LCD cap touch screen. Create your own graphics for any number of buttons, up down menu etc. Rayman has an LCD interface module to connect to the Prop, example code, apps to convert 1bpp bitmaps to DAT for easy use with maybe 6 colors. There is an app called Pixelformer that is easy to make simple graphics for buttons, export as bitmap then load into Raymans app called 1 Bit Bitmap to convert to dat then load in spin very easily and place the graphic where you want. It is then easy to define the touch points on the screen and assign a touch to do what you want. You cannot go wrong learning how to put graphics on an LCD. It is then easy to scroll through text, jump to end, jump to top, go down 10, edit a line, save, save as, load. All very easy stuff. All the hard work has been done already. You can then have many buttons, scroll bars, etc. Bitmaps.htm

    If you don't have enough pins left over after driving the LCD, you can easily connect one Prop/LCD to another that is doing all the motor work.

    1145 x 643 - 210K
    1083 x 641 - 102K
    lcd.jpg 210.1K
    lcd2.jpg 102.1K
  • idbruceidbruce Posts: 6,173
    edited 2017-05-20 01:39
    T Chap

    That also seems like a nice interface.
    Rayman has an LCD interface module to connect to the Prop

    I looked, but I couldn't find the interface module. I will look again later.
    You cannot go wrong learning how to put graphics on an LCD.

    I agree 100%, especially on a cap touch screen, just never took the time or invested the funds to do that, but still, I agree.

    Much of this project depends on how the initial results turn out, especially in determining how much effort and money I will dump into it. There are many times that I get tempted to over-complicate issues during the test phase of a project and I believe the interface issue is currently one of them.

    At this point, I think that I have most of the parts needed to make a bare bones machine and test, and perhaps that is what I should strive for, instead of more planning. Either way, thanks for sharing the info, because I have always liked the touch screens.
  • During my research, I discovered that the laser must be held firmly, to provide any kind of decent output. So instead of going with single row V-groove bearings for the laser carriage, I decided to go with double row radial ball bearings, because I certainly want as little slop as possible for this carriage. To make a long story short, there will be a total of eight bearings for the carriage, with each bearing having a 1/4" ID, a 5/8" OD, and a 0.196" width, and two bearing sets, along with a spacer for each set, will be pressed into (4) steel V-groove sleeves, which I am currently turning on a wood lathe. The OD of each sleeve will be 7/8", the width of each sleeve will be 0.4545", and each sleeve will have an 80 degree V-groove cut across the center.

    In the image below, you will see a side view of my carriage assembly, with the V-groove sleeves being cross sectioned. The laser housing, the laser module clamp, and the carriage are already made, and all I need to finish the carriage is those v-groove sleeves. Making those steel v-groove sleeves on a wood lathe is a real treat. So much fun, I can hardly control my excitement

    Various issues have hindered my progress, but more specific to the machine, I have redesigned a couple areas of the machine, and additionally I had two failures at making the v-groove sleeves. The two failures were due to the learning curve, after which, I developed a specific process for making the sleeves and altered the v-groove angle to 60 degrees.

    I am happy to say that I now have 4 v-groove sleeves for housing 8 bearings, all turned and bored from 1" 1018 steel. All in all, I would have to say that they turned out fairly well and accurate, with small discrepancies in the width between the four sleeves, averaging a couple thousandths, which will be rectified by shims or various post lengths, to make them properly align with the guide rail.

    With the v-groove sleeves now complete, I must now make four shims to place in between each of the two bearings that will be pressed into each v-groove sleeve. It is my hope to have 4 complete double row v-groove bearing assemblies by sometime tomorrow afternoon, and if so, I will take and post some photos of these homemade baby bearings.
    Final Specs...
    Bore: 0.25 in.
    O.D.: 0.875 in.
    Width: 0.4375 in.
    V-Groove: 60 degree centered across width
    Rows: 2
    Seals: Double Sealed Bearings

    I just wish I could have found something similar that was commercially available, because it sure would have made life a little simpler :)
  • potatoheadpotatohead Posts: 10,191
    edited 2017-05-30 17:06
    I find this dang thing hard to source. I'll look Bruce. Gonna have to take a cover off and get an identifier.
  • potatoheadpotatohead Posts: 10,191
    edited 2017-05-30 17:50
    After looking for a flat piece of sheet stock to use as the bed plate, I could not find anything that was even close to acceptable, unless I was to build a rigid frame, to pull out warpage, which I may do...

    Really flat stock is super expensive. This is because someone has to do the work. It's either you, or you pay for it.

    Know someone with a mill?

    You could use points of contact, if your confidence in the flatness of the PCB is high. Mine would not be, but... three points of contact can be matched up with manual methods. For your test, this may well yield big bang for the effort.


    Get a dial indicator, height gauge, or make a fixture. Run it over the surface. Put real time into your fixture, should you do that. It matters, needs to be rigid. Hopefully you have a granite plate to work with.

    If you get stock that is close, you can use abrasives on one surface, adjustable mounts on other surfaces.

    This is no joke. Get something large and as flat as you can manage. Heavy, if you can get it. Then use abrasives in tandem with it, and the dial indicator. Will take a while.

    I've done this with an orbital sander. Measure. Use sharpie to find high spots. Apply orbital sander, until you are just moving the problem around. Under. 002" or so. This takes a fixture. Also, and ideally, just don't move the target piece. Work in place, one surface flatness is all you really need.

    Switch to flat, heavy thing, finer grit, and manually polish off high spots. Go finer, measure, check.

    Or mill, or pay.

    Facing off some metal doesn't take long. Ask around. You might get it done for a song, depending. Recommended as the whole bed can be square. Makes a lot of things much easier.

    It's very likely the thickness of stock varies quite a bit. Few thousandths. A frame to stress that away won't leave it flat. It will just be more uniform in whatever shape it actually has.

    The longer your laser focal length is, the less critical the bed is.


  • potatoheadpotatohead Posts: 10,191
    edited 2017-05-30 18:04
    Random thought. Got one of those granite places nearby?

    They leave scrap and blemished pieces out. Primary surface will often be very flat. Serious inertia though. Not for moving bed.

    Some industrial supply places will sell flat stock too. The one near me has water jet and mill. They will do basics cheap. Maybe you have similar near you.

  • potatohead

    Those are some very interesting switches :) I especially like the black one (TSWB-3N-CB222 LFS)

    For $5.56, that is a compact solution, although a tad bit larger than I had hoped, but I believe I can still make it look good. With only 4 IO pins left and provisions for an I2C MCP23008 IO expander, I have to determine my best route for making it operational. I will definitely be ordering one the next time I make a purchase with Mouser.

    Nice find and thank you very much.

    As for the bed plate, I think I am just going to bite the bullet and order the "supposed" precision plate. I believe that is my best route to save myself aggravation and stress.

    Thanks again for finding that part for me, I truly appreciate it.

  • Cool. Yeah, I like using those things myself. No worries.
  • idbruceidbruce Posts: 6,173
    edited 2017-06-06 05:37

    I must now admit that the double row v-groove bearings are/were a little more complex to make than I initially believed, but I have learned several things through my first attempts. The main thing that I learned is that the sleeve and the shim must be VERY precise, otherwise binding will occur, and of course, the larger the discrepancy, the greater the bind. This setup is way more complicated than a single bronze bushing :)

    At this point, I have assembled and disassembled the v-groove bearings at least a couple of times, and I have reviewed a couple of documents pertaining to bearing assemblies. With one assembly out of four, now working pretty darn smoothly, I am now confident that I have discovered the recipe of the secret sauce. :)

    As you may have guessed, with all the assembly and disassembly taking place, the bearings, sleeves, and the shims have all taking a serious beating, so I have decided to remake all the assemblies.

    During the course of all this trial and error, I have made several tools to both assemble and disassemble these v-groove bearing assemblies. Considering that I will most likely use these v-groove assemblies for various projects, I will have to consider the making of these tools a worthy time investment or at least I hope so.

    Another hard lesson that I learned is that high speed steel tooling is much easier and less expensive to work with, as compared to tungsten carbide tipped bits. I am certain that tungsten carbide tipped bits have their uses for very tough metals, but when it comes to softer metals, high speed steel is definitely the way to go, because it produces a much better finish, there is a lot less tool chatter, and it is much easier on the old wallet. Harbor Freight sells a 5 piece M2 High Speed Steel packet for $4.49 (, as compared to a single 1/4" tungsten carbide tipped bit, for approximately the same price. All things considered, you can really do quite a bit of stuff with the 5 piece packet from Harbor Freight. I just wish they also included a 60 degree threading point for cutting my v-grooves, instead of having to grind one of the pieces down.

    Anyhow, it is now time for the second round, only this time, I will enter the ring equipped with better knowledge, better tooling, and of course the recipe for the secret sauce. DING DING let the bell ring.
  • idbruceidbruce Posts: 6,173
    edited 2017-06-06 08:28
    In reference to my last post, as I see it, the previously mentioned v-groove bearing assemblies and smoothness of operation are extremely critical to any possible success pertaining to my design of a direct laser imaging machine, and considering my discussion of HSS and carbide cutters, a HSS 60 degree threading point is also therefore critical to any success. Additionally and also as previously mentioned, I would also like to have a HSS 60 degree threading point available, just so that I can create these bearing assemblies, whenever I may need them for other small projects, requiring linear travel, without having to build a complex linear actuator.

    Anyhow, one of the other key features of buying the HSS blanks from Harbor Freight, is that I can grind and sharpen them whenever necessary. In the case of a tungsten carbide 60 degree threading point, when they get dull they are a pain to sharpen, and if you chip the carbide, well the ball game is over, or at least until you have another one shipped. For left or right turning, or for facing or parting, grinding your own HSS bits is no big deal, requiring only a little knowledge, practice, and a steady hand, but a 60 degree point is pretty darn precise. I don't believe that I want to attempt grinding this point in free hand style, so instead I have been designing a jig to bolt up to the grinder, so that I may create this point or sharpen a point rather quickly.

    I will be making this jig from a couple short pieces of 1/4" key stock, several screws, a 1/4" X 2" aluminum plate, and a custom made bracket, for attaching it to the grinder. Basically a 1/4" HSS blank will be pushed along one section of key stock into the grinding wheel to create one angle and then it will be moved to the opposing key stock to finish creating the 60 degree angle. I have attached a rough sketch just to give you the concept.

    And since I am talking about the subject of lathe tooling and Harbor Freights HSS package, I suppose I should also mention another product from Harbor Freight, which I have found to be indispensable for sharpening both tungsten carbide and HSS tooling, and that product would be their 4 sided diamond hone block for $12.99 ( This is a great tool for any workshop. In addition to sharpening lathe bits, I also use this hone to sharpen exacto blades, razor blades, utility knife blades, etc... I would recommend this hone for any serious tinkerer.

    Anyhow, that is enough rambling for now :)
  • OOOPSS... I forgot the sketch in my last post, so here is a rough draft of my 60 degree point grinding jig :)

    762 x 390 - 24K
  • I ended up redesigning the grinding jig a little and here is a couple pics of the outcome. I could not get a very good pic of the 60 degree angle ground into the HSS, but it came out beautifully.
    365 x 274 - 20K
    365 x 274 - 13K
    365 x 274 - 15K

    Ever since my mother had her stroke, approximately 1-1/2 years ago, my life and my product development has been is disarray. In addition to working around my mother's needs, I have also had to work around weather conditions and the required household repairs. With winter creeping around the backdoor, I have decided to devote my free time into proceeding with this project once again.

    Over the last couple of weeks, I have been reacquainting myself with the completed electronics, contemplating the additional electronics that will be required, and completing the mechanical design, as well as determining the parts that still need to be acquired.

    After completing an inventory of the required metal that I have on hand, I will be placing orders for all the missing components.

    As far as this project goes, a lot of the heavy lifting has already been done. The most complicated portion of the mechanical assembly has been made, most of the electronics and circuitry has already been soldered together, and much of the programming has a good outline.

    Since reacquainting myself with this project, I now believe that most of my effort will be dedicated to building the mechanical assembly. There will be several pieces of metal to be cut and fabricated, which will require the drilling of many accurate holes.

    Anyhow, this is the latest from the Brucey :)

    I will be starting again very shortly.

    With the exception of finishing up the work bed and adding a cable chain for the X axe laser head movement, the structure of the machine is done. Upon finishing up the previously mentioned items, I will completely disassemble everything and rebuild it, meanwhile squaring, truing, and calibrating the assembly as I rebuild.

    A few photos and perhaps a video will be coming soon!!! However, before looking at any photos or video of this machine, I advise any would be viewers to prepare themselves. For a small, homemade machine, it is looking very nice, and I would imagine, most of you will be wishing that you had it to experiment with :)

    Just a little hype :)
  • come on then... let's see it ;-)
  • _red_

    The cable chain is scheduled for delivery later today and I am now just taking a break from endeavors on the work bed. I promise that it will not be long.

    Just be sure to have something available to clean up the drool :)

    I am really looking forward to experimenting with this new machine, but first I will have to get some safety glasses :)

    As mentioned, it is a small machine.

    Not including anything else, such as user interface, power supply, controller boards, cable chain etc..., the main machine structure will be:

    5 1/8 inches in height. (Before any modifications to the laser unit)
    10 1/2 inches in width.
    13 3/8 inches in length.

    The machine was designed to accommodate a work envelope of 4 1/2 X 4 1/2, but due to work bed perimeter width discrepancies, the actual work envelope will be 4.51 X 4.51
  • As for my project, instead of attempting any reverse engineering of the Blu-Ray sled, I decided to attempt going with the bare minimum, which would be just the laser diode and the collimating lens. I created a housing which is similar to most laser modules, in the fact that it has a housing for the laser diode, with an adjustable optics barrel. However, unlike standard laser modules, instead of having a threaded adjustable barrel, my optics barrel is adjusted with a set screw.

    (I'm reading back through the thread).

    The crazy side of my brain just wondered if you could "stamp" blue-ray sized blank PCBs and just "burn" your circuit ;-)

    Move over EuroCard PCB standards - we're going polar ;-)
  • The crazy side of my brain just wondered if you could "stamp" blue-ray sized blank PCBs and just "burn" your circuit ;-)

    Sorry... I do not understand what you are trying to say
  • Cut a blank photosensitive PCB to the same size and shape as a DVD.

    Use direct SCSI Commands to write an "image"(0) using an unmodified DVD writer.

    We know it's possible because there exists DVD softwrae that burns "images"(0) already.

    (0) meaning a visual image
  • Cut a blank photosensitive PCB to the same size and shape as a DVD.

    Use direct SCSI Commands to write an "image"(0) using an unmodified DVD writer.

    We know it's possible because there exists DVD softwrae that burns "images"(0) already.

    (0) meaning a visual image

    Interesting thought
  • Yeah - more of a gimmick than something practical - but as with most things in my life I'm always tickled at the idea of hardware abuse ;D
  • If you could control the laser, then experimentation might be worthy. You can always cut a round into a square
  • idbruceidbruce Posts: 6,173
    edited 2018-12-02 18:35
    I keep getting closer and closer.

    To complete the main structure, I only need to machine 2 more pieces :)

    EDIT: Then the photos come :)
  • While having a pertinent discussion about power supplies in another thread, I posted a photo of my new structure, as well as discussing a decision that had been made. In an effort to maintain this thread, I will also be adding that same photo here, as well as quoting some material.
    Upon careful examination, without causing myself a lot of grief, I have determined that I will not be able to house the electronics underneath the work bed, until I have designed a custom pcb and have it made. This is true for both the form factors of the available P1 and P2 boards.

    Just to ease the prototyping process, I will temporarily be mounting the machine structure to a piece of black melamine board and then mounting the melamine to an 18 * 12 * 4 NEMA 1 enclosure.

    This was my original plan and perhaps it is the best plan, because it gives me plenty of room to house all the electronics and wire, house a linear power supply, and still have plenty of room for a decent user interface.
    410 x 345 - 23K
  • idbruceidbruce Posts: 6,173
    edited 2018-12-07 00:24
    Just to ease the prototyping process, I will temporarily be mounting the machine structure to a piece of black melamine board and then mounting the melamine to an 18 * 12 * 4 NEMA 1 enclosure.

    After closer examination, I have decided to go with the Hammond CS18143 enclosure, which has the dimensions of 18 * 14 * 3. While having the main portion of the machine structure centered across the width, this enclosure will allow me to maintain a 1" clearance from outlying parts along the side. Additionally, if I push the main portion of the structure to the rear of the enclosure, while maintaining a 1" clearance, this will allow me to have plenty of clearance towards the front for a user interface.

    I have also decided to forego the use of melamine and attempt to attach the structure directly to the enclosure cover. Hopefully this will not cause to much vibration. I suppose it will be a trial and error type thing. If necessary, I will replace the sheet metal cover with aluminum plate. However, if the sheet metal plate is satisfactory, then I will be able to use some of the interface parts that I made for the 3D printer project.

    However, the depth of the box has caused me a power supply problem once again. The 3" depth of the enclosure will not accommodate the linear power supply that I had set aside for this project.

    EDIT: I must have measured wrong, the linear power supply will fit the 3" depth. YIPPEEE!

    Oh.... And a 4 week lead time on the enclosure :(


    Anyhow, I am attaching a partial upper layout drawing of the machine structure upon a Hammond CS18143 enclosure, just in case anyone is interested.
    238 x 304 - 12K
  • JRetSapDoogJRetSapDoog Posts: 953
    edited 2018-12-08 04:35
    He's not using a raster approach in this year-old video, but his willingness and ability to modify laser parts and so on reminds me a lot of you (or vice-versa).
Sign In or Register to comment.