AbeAnd Log

From Open Source Ecology
Jump to: navigation, search

HintLightbulb.png Status - Done: more D3D Mini PVC design To Do: extruder holder Blocks: time

General links Critical Path Roadmap mediawiki formatting help Development Team Log OSE Hangout OSE Jitsi Meet Abe's Links Abe's OSE Google Drive Folder Abe's OSE Google Calendar Abe's YouTube channel


Current Logs

Thurs Jul 18, 2019

reviewed more CEB soil mixer info and returned Aidan's email.

Wed Jul 17, 2019

got email from Aiden yesterday whom I missed in the jitsi meet. Added some scribblings to the soil mixer doc. https://docs.google.com/presentation/d/1RJg3LyG_jI_gmUwBFuwNjbAMVUmuYUo7uQVjLDV9Qiw/edit#slide=id.g5dc8542d49_4_0

It is a little hard to visualize in 3d so far. The height logistics of loading design over a press as well as the feeding and exiting of materials seems difficult. Rotating it 45 deg is a half solution. Maybe a more complex drawer design would be worth considering. I can imagine the drawer system will need cleaning due to cement. I think the cement access will need a cover to keep water out in case that is sprayed into the soil hopper as well.

I like the metered/dosing concept for 1 block at a time. I think that will reduce the need for raw horsepower frequently seen on big batch mixers. A good hammermill is important to since soil types vary. With test SCEB's here I think many of the poorer higher cement content ones have chips, slight crumbliness, weakness due to poor mixing. If the clay is moist it clumps and can't mix well with sand. Here the soil is mostly silt, sand, rocks, & sandstone often on top of a hard moist clay layer 18" down or so. Even if there is enough material in some areas on location digging the right amounts and thorough mixing are a challenge. In fact, in some cases I can see it needs to be dug, then dried some then milled so it powders and mixes better.

Tues Jul 9, 2019

cleaned up meeting doc for next week. Reviewing D3D BOM's trying to decide which parts & features to drop or add.

Sun Jul 7, 2019

Continued reviewing workshop info and the D3D CNC Mill CAD, which is impressive.

I see improvements all around in the workshop media. The hard part seems to be getting critical feedback from workshop participants, especially less technical people for which more feedback is needed to refine the educational media. I think the technical peoples perspective is generally it's nice to review the detailed engineering info and it is great for the average person to learn lots of STEM. But, what is most useful from the less technical persons perspective?

At first, I was thinking a lot of the info is also geared towards more visual learners and maybe other styles need to be covered as well, but I also see the OSE Design Manuals have outlined lists even though they are in slides, so there is room to consider more of both. Obviously, the hands-on shop parts are probably everyone's favorites, but since the lectures are likely precursors to specific shop work getting everyone up to speed is helpful to the swarm effect. As usual to refine all that practically requires a whole other team.

Also getting part counts into https://docs.google.com/spreadsheets/d/1lgtDWFMfNn7fEidPdlap_8PqSDXJFyM_AKvdjq6KSWs/edit#gid=0

Fri Jul 5, 2019

I listened to some videos from the workshop and glanced over the 2" U-Axis doc, but still, don't have a clear picture of many concepts. I'm surprised at the size of the CNC Mill if I'm understanding correctly it may have about a 2' working area/volume? I figured for a precise mill for small metal parts that several inches would be sufficient.

A question: Given that much of the OSE workflow tends to bias towards visual learning styles how might the guided learning style in workshops be done to enable those of other learning styles to better understand existing visual documentation tools and apps?

Individuals can choose different tasks that suit their style, but we need people to learn freecad from whatever approach suits them. There were other requests for more vocabulary definitions and a glossary was a suggested solution that would be ideal. There are also existing wiki's and docs for apps like freecad, for which more links could be provided and reviewed in the lectures.

Updated my working doc (top right) with a pros/cons list of using another spreadsheet to speed swarm work of part spec collection prior to CAD drawings. I think it might be faster in ways, but I'm uncertain about the overall flow and hangups. Current methods in design sprints and workshops are to lookup the links in the BOM and find specs for parts you pick. There is some double work looking up interfacing parts specs even in a workshop where individuals can directly communicate it requires more time and interruptions. This should leave more time for needed for discussion of clearances/tolerances and understanding interactions between parts.

Thurs Jul 4, 2019

away from my Linux workstation still without a good laptop, but I've reviewed some of the active steam camp materials. Interesting to see the development and discussion as usual. I'm trying to understand the details for the 2" Universal Axis. It looks like they need a number of changes to be ready for printing.

I added a spreadsheet to File:2axismotorpiece.fcstd because I think Williams FreeCAD Workflow seems ideal for sharing consistent data values across many similar parts quickly.

Maybe a gdoc sheet would be good too. It could be sectioned with values shared across parts and changed in real-time. It should be easy to copy/paste those cells to freecad sheets then there is less data entry for each person and values remain consistent. It should also reduce typos. When values are uncertain it is also easy to copy lists of needed dimensions to keep dev's on the right track and remind people what data is still missing.

Mon Jul 1, 2019

I finished cutting up the PVC sch 40 pipe a while back for the D3D PVC Mini. I'm traveling for a few days but hope to figure out how to collaborate more during the workshop.

For the D3D PVC Mini I need to do more precise CAD of the simple extruder for which some CAD is not yet done. I think I can approximate a placeholder good enough.

I also need to further research the sources from existing BOM's. Jon reported issues for D3D Ohio parts and I'd like to avoid those.

I'm not far from ordering parts, but some of the little details are going to be important to verify first.

I'm glad to hear the STEAM Camp chose to do the Torch Table project. I think the priority order is Torch Table, CNC Router, Metal Printer. Because the Table has been in waiting for a while and well accelerate other projects significantly. The CNC Router is next because it can take lower precision parts and make them higher precision via subtractive work. The metal printer is relatively unknown and creates small low precision parts initially. Empirical testing is needed to find the hangups for the metal printer, but the use cases are more long term.

Tues Jun 18, 2019

Busier than expected with farm guests lately, but I am continuing on the D3D PVC Mini. I've cut sch 40 3/4" PVC to ~10.66" for testing. I already observe at such short lengths it is quite rigid. At 2ft it has noticeable flex under force, but infills could reduce that significantly. Vibration is harder to judge, but when supported well at both ends peices don't visibly vibrate much.

Fri Jun 7, 2019

added a bed holder to the assembly. It still needs a different design because of the offsets with the frame. To keep the bed holder length short it would be better to move the Z axis inside, but it also doesn't look like that will fit with the clamp.


Tues Jun 4, 2019

Busy with farm guests so likely to miss the meeting.

Next steps trying to get good enough measurements of the simple extruder to create an assembly to help determine which way is best to orient the extruder on the X-axis.

Sat Jun 1, 2019

attempted FEM in FreeCAD on rods some trouble at first, but finally succeeded on the tube as well. I'm uncertain how easy it would be to add complexity and multiple part assemblies and materials. It seems to only work well in simplicity, but part of that is technical experience as well. At first I was concerned with following tutorials closer and in the same order, but I think the errors were fixed by resets of freecad and finer mesh when needed. Attempting a realistic large scale 4ft gantry of the Universal axis may not be worth the time. I'm uncertain yet if it can model the compression and stiffness concepts.


Tues May 28, 2019

Added more notes.

Working on CAD assembly. moving X axis alignment. Further grouping and labeling all parts and axis' as similar to exiting OSE D3D machines as possible.

Mon May 27, 2019

Reviewing simple extruder and researching many other CNC/3D printer related ideas. Notes and documentation in Working Doc above.

Sun May, 26, 2019

Lots of printer research, YT videos, reprap.org, and OSE are all helpful. I can see 24V is a tempting mod given most of the electronics are designed to run at even higher voltages, but starting with a small printer I doubt there are many power or performance issues. I have not found any better info about PVC with cement in small pipes so I am skeptical but hopeful. Even #2 (1/4") rebar won't fit in 3/4" sch 40 PVC. I'm getting 20ft of sch 40 PVC because it comes in 10ft sticks and the extra I can use for testing. Hoping to see some operational data on D3D Ohio v18.02 soon too. I've been thinking about the mounting of all components & wiring. It would be nice if a single box for the components can be made slim, distribute mass & add bracing to the structure as well. It is hard to add angle braces without blocking access to the bed.

I'm also reviewing the simple extruder, which is indeed simple. https://docs.google.com/presentation/d/1PRpAmQNzDs5laibZo86weuMaEYJLBIvFwt3KOx8DPn8/edit#slide=id.g51b7c7f1c2_0_4 I'm uncertain of mounting options. It doesn't look like I can just use existing parts. My first thought was the hot end should be mounted towards the Z axis so the bed rails can be as short as possible, but there is the clamp to clear. I'm curious about bed size, mass, & Z motion. Is it reasonable to imagine an 8" print area with only 1 Z?

I added groups/folders to the CAD assembly for easier axis motion. https://gitlab.com/Abe_Anderson/d3d-mini-pvc

fascinating thread on composite frames PVC is mentioned. https://reprap.org/forum/read.php?1,578597,579248

Fri May 24, 2019

searched for more info on cement in PVC and I found some interesting links, but nothing similar. Listening/watching many 3d printer build videos, reviewing BOM's and looking at part options and prices.

started mod of extruder motor mount. https://gitlab.com/Abe_Anderson/d3d-mini-pvc/blob/master/Hardware/extruder%20motor%20mount.FCStd

Thurs May 23, 2019

Reviewing lots of 3d printer info lately and it seems RAMPS has a lot of potential upgrades or issues to fix depending on how you look at it. It looks like RAMPS is still used mostly because it is somewhat robust or at least cheap to burn out. I suspect I'm going to want Trinamic drivers just because of the noise factor since I've set up the printer space next to my desk. TMC2130's are apparently all around more efficient too. It looks like it is better to run them at 24V though, which would require even more customizing. I don't see many variations in the RAMPS with quality components & heat sinks etc. there is the cheap and the expensive.

Adapting a quick attach looks complex without more experience and a working 3d printer to test PLA parts with. Adapting the titan bracket looks easy to start, but it is different. It is thinner than the previous mk8 style bracket and may not offer enough clamping force or strength if it gets warm? So, I'll try merging the old and new together in CAD.

Tues May 21, 2019

thinking about the alignment part and axis length. I don't think it needs much space to work. Also considering extruder attachment methods.

meeting prep.

Looking at the old Mk8 Style extruder motor holder for potential modifications.

Mon May 20, 2019

changed x axis and added to assembly. needs more alignment.

Sun May 19, 2019

found the angular misalignment of the carriages and constrained them further. I started to add the extruder, but the 3.5MB size is a bit much and I don't see any easy way to reduce it. I think the X axis needs customizing to length first anyway.


Thurs May 16, 2019

https://gitlab.com/Abe_Anderson/d3d-mini-pvc numerous updates and simplifications of axis' parts. Much smaller files in some cases, but with enough features to position parts in assemblies accurately. Testing of newer freecad versions.

Testing A2P WB and it works much better than A2 WB just because there are no long hangups, but I do think I've run into some other issues. It is much faster and simialr enough it is easy to use though.


X axis appears to be unlevel from the side I think some of the clamps may be at slightly different levels due to constraint picking.

Tues May 14, 2019

reviewing File:Xy bracket.fcstd and File:D3Dfinalassemblyv1902.fcstd recent changes to consider part use overlap or versioning.

Sat May 11, 2019

more re-assembly of D3D with new XY bracket.

Note for the changes to File:Xy bracket.fcstd I reworked the part off measurements and in doing so thought I'd see if just drawing half of it and mirroring would be faster. In hindsight I doubt this helped much. Checking & copying measurements or sketches from other parts takes about as much time and there may be reasons to break the symmetry. Also, the mirror function being in the part WB makes the workflow seem a little confusing. The newness of the body & part structures and how it shows in the tree are primarily what made it seem odd.

I'm still thinking about slots versus holes and I'm curious if it can be used to offset the bed (with another part) up to reach the nozzle from the overhead X axis.

Something weird is going on. Every time I try to adjust the length of the rods in the axis' the length between the top and bottom Z clamps measures slightly shorter as if the frame is adjusting smaller as well for some reason!!? Oh, missing constraints allowing movement of clamp.

resolved axis length. https://gitlab.com/Abe_Anderson/d3d-mini-pvc

If the XY Bracket gets slots the X axis ends can be made flush with the back of the brackets. It is only 0.2" off one way from that now. With slots lining up the position correctly is the only major potential point of error in the assembly I can see now.

Fri May 10, 2019

Writing return email to Marcin. Looking at X-Y axis alignment on D3D Mini PVC. The X-Y angle bracket isn't quite symmetric, but the holes line up with the larger U-Axis parts, but not the holes in the short idler. I'm wondering if a slotted XY bracket would help make mounting various designs easier. Keeping to the universal parts is still a challenge given various sizes of frames and axis length possibilities.

The bed height to the extruder nozzle needs to be solved as well. Bolting some existing parts together should work as in similar designs, but I don't see what is easiest yet. For some aspects it looks like changing rod length and/or mount points would still be easier.


I'm trying to understand the XY bracket misalignment more thoroughly to decide what is the more future proof universally compatible part to change. Making slots seems more future proof except that it creates the possibility of slip and error in physical assembly. I see the v19.0x use the half-carriage, but that doesn't make sense for this design and simplicity would be nice all around. I see the XY bracket sketches aren't constrained and look off, but they appear to constrain and align well in assembly. The asymmetry is only the first issue to fix. The length for this printer is different from the original use, which is why I'm considering slots. If more holes are added it will work for only the current build designs, but slots will give flexibility for future size variations.

Sat May 4, 2019

reworking D3D Mini PVC full assembly https://gitlab.com/Abe_Anderson/d3d-mini-pvc

Fri May 3, 2019

catching up on FreeCAD status. https://forum.freecadweb.org/viewtopic.php?f=4&t=35546 FreeCAD 0.18 is technically officially released to source code at least. 0.18 includes mostly backend updates like python 3 support and other good long term under the hood fixes. So effectively skipping 0.17 may be fairly easy.

I see the issue I noticed before with a FreeCAD version not fully loading is 0.18.1, which is the current official stable version. FreeCAD Daily 0.18 loads ok. 0.17 is running from an app image I think. I see many new interesting workbenches I haven't tried before in the add-on manager.

Reworking the D3D Mini PVC with more separate parts like the carriages on the axis' also makes the assembly more complex. I see that the freecad assembly forum thread suggests for most simple assembly needs the part and body containers relative and absolute positioning is good enough.

Tues Apr 30, 2019

improving CAD for the full assembly of https://gitlab.com/Abe_Anderson/d3d-mini-pvc

Fri Apr 26, 2019

Almost done with the 3D Printer shelf I think, but I'm more busy with spring planting etc.

I found some interesting 3D printed garden seeding tools and companion planting patterns. I've been hoping to find simple tools and ways to automate more complex seeding patterns. There are many plastic seed tools I've seen that might be 3d printable, but accuracy is probably important for small seed tools. Maybe adjustable tools could be designed as well. If the print quality is low precisely drilling holes ends up being needed anyway.

https://www.thingiverse.com/thing:23466 http://organic.kysu.edu/CompanionSpacing.shtml

Besides having shelf done for a printing workspace I need to RTM, develop and go through checklists for what 3D Printer parts I need to order from where. Some things I may have extra already. Obviously I need to verify the full CAD assembly to make sure everything prints and works for the version I intend to build and test.

I looked at the various printer manuals. https://docs.google.com/presentation/d/1avww8-CCRBESE_OJhNFL38OT2O_Db2ufxphrBgTZBYI/edit#slide=id.g430f16eaab_1_0 seems to be the correct up to date version and most thorough.

Tues Apr 16, 2019

Busy with spring-related efforts lately. No CAD this week, but I'm building a shelf for a 3D printer space in the corner next to my computer desk. Thinking about 3D printed tree sapling floats for growing trees away from predators. Recycling other plastics works, but PLA use may help reduce other plastics pollution. Cost of PLA and possible longevity seem like critical questions.

Mon Apr 8, 2019

My internet was down for a few days.

I got some CAD work done on the D3D Mini frame assembly. The new corners allow more mount point flexibility. The full assembly just needs to be reworked more for precision and to see how the overhead axis can fit.


Thurs Apr 4, 2019

Added files to D3D Mini PVC Part Library. Ready for testing and more tweaks.

I tried loading the STL in Lulzbot Cura to test overhang and it defaults loading at an odd angle and I could not get it to 45 deg to the bed to reduce overhang warnings. I checked the CAD an STL and they appear square as designed, so Cura must have default settings that are causing it to be rotated slightly off. The Cura interface is somewhat difficult, not buggy maybe, but slow to adjust and I'm unfamiliar with it.

Tues Apr 2, 2019

ran freecad 0.17 from app image and after several tries and reading 0.17 docs again I got a 3dp corner made from primitives in a body in a part. It seems easy to edit.


I made it the original size because I remembered those dimensions, but now I can adjust dimensions and modify shape further so it is more useful as a custom 3d printed part. I think the outer spherical part should actually be flat somewhere and maybe some magnet holes can be added, but that may not be as printable. Also, the tubes could be tapered slightly similar to PVC fittings, but I'm not sure how well that would print either.

Attempting to alter 3dp corner with shorter inside holes, but I'm running into a sketch offset issue that it does not want to let me change for one axis. Removed the inner sphere to make the body more solid or partial infill as needed. I think it can be reworked using primitives easier to edit without sketches.

The ends may be to thin, but it would be interesting to see how 1/4" holes for inserting rebar will print.

updated the 3dp corner with dimpled ends. I rebuilt the legs using primitives. I resolved the offset issue by referencing against the planes and not part faces.

Mon Apr 1, 2019

Still trying to get 3dp corner CAD to draw correctly. I ran freecad 0.17 and I get a nonfunctioning 0.18 load. see screenshot in working gdoc. I rebooted earlier and this may be related to changes due to updates and the release of freecad 0.19_pre.

I was going to try subtractive primitives to simplify the features, but now I'm thinking of trying the same compounds and boolean in 0.16. I'm download an app image of 0.17 because I'm not finding instructions to install/link to 0.17 by itself.

pushed the last non-working version of 3dp corner freecad 0.17 file. https://gitlab.com/Abe_Anderson/d3d-mini-pvc/blob/master/Hardware/3DP_Corner_0.75in.fcstd

I expect features will copy back to 0.16 ok.

Tue Mar 26, 2019

trying to redesign the corner, but I've been running into basic issues with freecad 0.16 so trying 0.17 to see if it is less glitchy.

My internet seemed functional, but jitsi cut out again in the meeting for some reason.

I am still running into unexpected glitches trying to cut inside shapes out for the 3dp corner part even in 0.17. I am trying multiple paths so good testing. I'm busy with spring farm efforts but will get it to work eventually.


Fri Mar 22, 2019

Golf Cart Design Sprint - working on Hydraulic Power Cube Power Cube v19.02

Thur Mar 21, 2019

I started recreating the 3D printable corner from basic primitives this will be ideal since it should also be easy to modify from the PVC design for more features.

Wed Mar 20, 2019

uploaded Meeting to YT https://www.youtube.com/watch?v=JwrLvKbbTzM

started modifying PVC corner to 3DP version with inside friction fittings. Some issues editing it. I figured it might be faster to draw it from scratch.


Tues Mar 19, 2019

Checking more measurements and alignments with the top X-axis. Another thing I noticed is how the extruder motor is on top and the hot end is high, which is the reason the bed is raised in the v19.02 prototype. The 1" metal frame should be more than the 3/4" tube frame allowing it to work similarly.

Sun Mar 17, 2019

Looking at the design of the underslung X-axis/extruder for possible use on the PVC mini-assembly.

With the design of D3D v19.02 ongoing the features from the X-axis underslung extruder and for more universal part usage it would be nice to make parts so they are compatible. The main question is do parts need to be modified for a range of fits and is that viable.


If the clamp is all the way up against the corner there is ~0.25in between the top hole in the Y axis and the angle clamp to the X-axis on top. To keep the length of the X axis the same I think the angle brackets could mount to the inside instead of the outside of the Y axis' carriages. To line up bolt holes the angle bracket would need to be extended down about 1/2" and it might be ideal to make the bolt holes slots. That could work as long as it didn't allow slippage downward over time.

Wed Mar 13, 2019

adjusted youtube meeting upload to public from private default. Still confused by audio system settings and OBS. In previous recordings and in testing I thought I had it so there was no feedback when using my headset mic and external speakers together, but in this recording it is definitely audible when I unmute my headset.

Tues Mar 12, 2019

todays meeting. I'm not sure if it was on my end, but there still seems to be some audio issues, but it mostly sounds good other than some sections where there is nothing. More testing is in order. I wonder if some of it is Jitsi. https://youtu.be/XwU_aPO0NFg

( Eric here, Didn't this happen on Marcin's end a while back, and we thought it was the mic but it was either the DAC or Jitzi (I forgot which)? Either way, at least in that instance, it wasn't debilitating, it just bugged audio snobbs such as myself. I'll need to watch this weeks video and seee if it was a similar issue. )

Abe - That noisy mic audio issue is still a problem. It occurs for me as well sometimes using vokoscreen. Using OBS I've had good results a few times, but I keep adjusting settings and there may be other related glitches due to the Linux audio subsystems I'm not so sure yet. In this weeks video at a mid-point I clicked the wrong button in jitsi and had to rejoin and then realized my headset mic wasn't on in the Ubuntu audio settings at which point I changed the defaults in sound settings, which may have disrupted OBS. I'll try to review further to see if I can see what happened. It can be visually confusing because I often use dual monitors during meetings.

Mon Mar 11, 2019


Sun Mar 10, 2019


I added notes and images to the freecad tutorial doc I started last year about 2d drawing tracing in the GC motor file, but not thorough as I wanted to keep going on the PVC Mini assembly.

I started to add a recent extruder, but the configurations are for the new overhead X axis design. I'll go through history, but likely have to rebuild something similar with the newer part designs. Some of the new parts look ideal to use on all designs, but I need to consider size of mount parts like the new fan duct(s). Adding mass of like that of the large fan duct on the PVC version would make it shakier than on the pro version with the extra axis' etc. The small duct looks good enough for the PVC Mini. The other new side mounts seem unnecessary. The plates that bolt around the carriage are interesting and as I understood that was due to the previous motor holder bolts not holding well so those may be the way to go. The important question is whether it requires more unique parts. I'm not sure another redesign of a similar motor/extruder holder is viable.

Sat Mar 9, 2019

Using FreeCAD 0.17 and comparing to 0.16 yesterday I noticed a few annoyances, but they can be gotten used to. First, the sketcher solver is different and maybe lacking in 0.17. The interface seems better in some ways though. I frequently set more symmetric and equality constraints first then numerical ones, this works in 0.16, but in 0.17 the solver couldn't handle setting a numeric when there were other corresponding constraints. Thinking about it a better workflow may often be to start with the few numerical constraints needed, but often this is unknown due to complexity or inexperience. Second, the numerical constraint field rounds the third decimal (5.125") up (to 5.13") when you edit it after it is set. This is annoying because I often copy the long decimals just to make sure one part will constrain exactly to another. It also could lead to errors propagating if OK is clicked instead of Cancel. In general, it seems some bugs were traded for others in 0.17. Usefulness of the new advanced features is limited, but mostly due to the complexity of training and experience. The part system should help a long term and once I get used to the different behaviors.

I'm confused by my trouble with the spreadsheet alias' since they clearly work in at least two videos I found. I need to demo/explain this to more fo the team so they can test it as well. I did not test daily 0.18 yet, since the problem appears the same for me in 0.16/0.17. Maybe it is a system setting glitch. I need to try a clean OSE Linux version as well.

Fri Mar 8, 2019

GC sprint. Slow start on sketching the new parts and design for the bench because of changing my mind how to draw parts. I started trying the freecad 0.17 sketcher and the solver in it seems lacking compared to 0.16. Otherwise, many interface aspects are better. I also started using a spreadsheet to test specifying the stock material dimensions, but using cell input as constraints seems to give mixed results.

Seems like lost time on the spreadsheet and intricacies of sketching and arranging parts according to overall measurements. It isn't exact because I didn't draw each part relative to the origin based on math with construction lines. I moved the sketch placements instead. I may rework that for accuracy and editability. It's a start.

File:GC Bench Seat.fcstd

Wed Mar 6, 2019

reviewed some 3d printer info and looking through https://github.com/OpenSourceEcology/3D-Printer-Part-Library and D3D v19.02 parts. Especially the extruder. Considering options on mini pvc assembly. I think I need to redo the assembly file differently for moveable carriages etc.

Tues Mar 5, 2019

busy lately, but I got some parts in the PVC assembly last night.


Recorded the meeting. Unfortunately, the remote audio is extremely low. I finally realized it is because the output audio source was removed somehow in OBS. Maybe I did this last week when making adjustments not understanding or maybe it changed because of switching system audio sources. Either way I locked them in OBS and will need to double check this to make sure until I understand the OBS better.

Tues Feb 26, 2019

meeting prep.

trying to scribble out some teeth on the clamp.

I edited the clamp CAD and STL with versions of 2mm and 1mm gap to create clamping force on the pipe. The 2mm gap looks like it will print ok, but on second look the bolt face isn't quite 1mm thick so it may be weak depending on print quality. The 1mm gap version looks better.

File:PVC mount clamp.fcstd

File:D3D PVC mount clamp.stl

D3D Mini PVC

Published Meeting to YT https://youtu.be/XQBj20cVvDA

I updated the pvc assembly, but had an interesting time doing a local git reset. Best way for one file seems to be to checkout the specific file otherwise the reset --hard option is ok, but the git status was still confusing me for a bit I ended up doing a push with no commit to ensure sync. The assembly file auto updated with the new clamp design as usual, but still has the issues to resolve by replacing the clones.


Mon Feb 25, 2019

downloaded & reviewed other golf cart parts to get ideas.

I was trying to simplify the seat further, but thinking the bench module could be changed to weld into the larger frame for support for itself and to reinforce the whole structure. Angles and maybe even some simple curves somewhere could add a lot of strength. Flexibility in a vehicle is nice too as long as it doesn't tend to get bent out of shape. Maybe some angles to the bench seat legs would be good too. I removed the 10 deg angle on the seat back, but if that was supported by a part extending between the bottom adn top that may help keep the module simpler while being stronger altogether once welded to the larger frame. Since it is a vehicle just welding it seems better long term.

Clamp 3d print looks nice, but I was wondering about hole size for tightness. I was about to shorten the bulk part of the clamp, which is what I understood from Marcin's email when I realized that would only make it the wrong length. Essentially to do it that way 2 separate parts are needed if I understood correctly. I think the hole size is the ideal way. I was trying to think how hard it would be to add teeth in the hole. Maybe it would not be the ultimate sketcher challenge, but it would add a lot of complexity. Regardless I'm thinking it would be good because it would decrease plastic in the bulk part and increase flexibility making it clamp better. If the teeth deviate from a perfect circle that would probably make it clamp good.

Sat Feb 23, 2019

Design Sprint Video https://youtu.be/uWLDsJO4KXs

The recorded file from OBS is only 457MB using x265 & Ogg Vorbis I think, which isn't as small as I was getting from vokoscreen, but for 2hrs+ of video is good given resolution; the quality still looks readable and the audio levels were ok. If I'm not careful the gain is enough I get lots of background noise picked up from typing rubbing the mic, some reverb if I use speakers etc. so it is best to mute my headset manually. There may be other settings in OBS to tweak yet. A how-to video for OBS would be useful given it is a little more complex.

started https://gitlab.com/Abe_Anderson/freecad-macros

still thinking of ways to do the symmetric square with round corners macro better, but need to search for any existing similar macros.

Fri Feb 22, 2019

Design Sprint for Golf Cart

Open Source Golf Cart

edited basic banch seat CAD. Now I'm thinking the bench could be wider and perhaps integrated/welded to the cab frame if that is an option. It may reduce the complexity of the bench module and make more space accessible.

edited the hydraulic PC some. will need to consider further size and shape changes.

File:Power Cube v19.02.fcstd

I also made attempts to record a macro for a sketch of a square with rounded corners, which I found particularly difficult to constrain. I got a macro that works ok, but it has some mistakes recorded still because FreeCAD sketch selection and the solver was being glitchier than usual.

Recording of Design Sprint video is good, but I had to retry the upload, which should auto publish to YT if it finishes overnight.

Thurs Feb 21, 2019

https://youtu.be/k_jO9vXgOSo got meeting updloaded to youtube and linked it in comment on marcin's version.

thinking about break down for assembly sub-assemblies golf cart to be prepared for design sprint.

Tues Feb 19, 2019

meeting prep.

continuing D3D Mini PVC assembly...

started on golf cart gallery. Open Source Golf Cart

Mon Feb 18, 2019

I'm further exploring the freecad center square python macro and related methods. It is definitely not immediately obvious what and how methods should be used to solve generalizing scripts like center square.

In reviewing the long design process with the D3D clamp I'm trying to think of improvements to my process that could be done differently as well as what freecad changes would be most useful. Much of it is the process being broken into short work segments making confusion and mistakes easier from one session to the next. Much of the time was also likely spent trying to avoid adding complexity when in the end a certain amount was simply required to solve the known issues.

Also the useful code from the GettingStartedFreeCADScripting.pdf to import freecad into python is:

import numpy as np
import sys

# path to FreeCAD; I found it from:
# $ locate FreeCAD.so
FREECADPATH = '/usr/lib/freecad-0.16/lib/'

def import_fcstd(path_freecad):
    """try to import FreeCAD on path_freecad"""
        import FreeCAD
        print "Could not import FreeCAD"
        print "Are you using the right path?"


Sat Feb 16, 2019

I'm cloning the freecad repo so that I can easily access the source code for reference when I need to understand it better. Reading is the main requirement to figuring out program and code strucuture. This https://folk.uio.no/jeanra/Teaching/MEK3230/Documents/GettingStartedFreeCADScripting.pdf

The FreeCAD python console is surprisingly accessible with auto-completion, but it is still not as complete as an IDE so it might be interesting to find a way to set up and access the relevant python libs in the atom IDE so it is easier to access class and method info to write more complex code like full workbenches. For macros, which I think can help speed many things the main issue is making the code generic usually by adding some variables to get and set the current objects to the standard names freecad uses. Such as the example code shared here: https://www.youtube.com/watch?v=DurKHgtR1rw

Tues Feb 12, 2019

meeting prep.

busy then had a back problem so I avoided sitting and desk work, but read about freecad development and watched tutorials.

I double checked the distance on the bolt in the full assembly and found I calculated or measured wrong. The total length through the axis part is more than 18mm so currently the bolt length is closer to 36mm. To reduce it down to 30mm the short nut recess well have to be removed or minimized and the longer recess moved until the distance through the clamp is 0.23" which leaves less than 1/8" for each half. Printable, but possibly weak. Time to test it though.

Reworked the clamp, it measures correct now, but definitely has some thin points. Time to see how it prints.


uploaded new files to D3D_Mini_PVC#Part_Library

Fri Feb 8, 2019

freecad a2+ WB demo https://youtu.be/mnkecA9S7kc

looks like some slight adjustments to the clamp might be needed to get the short side hex nut catcher deeper. Otherwise, I think the next steps are adding more printer parts to check assembly alignment and freedom of motion.

Wed Feb 6, 2019

updated clamp with hex holes. https://gitlab.com/Abe_Anderson/d3d-mini-pvc/blob/master/Hardware/PVC_mount_assymetrical_collar_clamp.fcstd

If the hex holes don't print well the sketch shape may need customizing. To get through the axis requires 18mm, so the shape of the clamp needs to be more complex yet to get a 30mm bolt to reach another 12mm through the clamp. Less than 0.5".

reviewing 3d printer manual and BOM's to check bolt sizes and the assembly instructions for any potential difficulties in relation to the clamp and axis'.

Tue Feb 5, 2019

trying to prepare for the meeting and continue work on the new clamp, but my internet seems flaky. fog might be blocking it.

found I failed to add the new clamp file. did so and thankfully the assembly auto updated with it nicely for a change.


Fri Feb 1, 2019

Added new assymetrical clamp design. https://gitlab.com/Abe_Anderson/d3d-mini-pvc

I need tor more thoroughly review the CEB Press Code again, but I'm wondering what the ideal time delays for switching are in the long term when hardware specs degrade or environment causes variation. I'm guessing delays are required because they simply align the software with the actual hardware speed. Switching times are negligible so looking for speedups there will not give great returns. More power and maybe more efficient cylinders at higher costs seem likely to be the only path to more speed.

Delay times in the software do add up so maybe if the entire system was based more on timing such as with the math for compensation of retraction-extension then estimates of when to test switches could be made, but this adds so much complexity that is likely to fail due to variations in power and the ambient environment I can't see such methods working well.

Also given the inevitable degradation of the hardware and switches going out of spec and it not likely being worth adding any further hardware debounce (capacitors) using the existing Arduino libraries (bouncev2) as the default for debouncing all switch like inputs is likely an ideal solution. The complexity is mitigated by being as simple as possible, encapsulated for ease of novice use and well-documented and supported by the community.

Wed Jan 30, 2019

I did a find and replace all on the pressure func in all files because it didn't read sensibly I think I changed the code before or copied it and it read poorly since. Now looking at debounce options. What is done now is similar to bounce lib's BOUNCE_LOCK_OUT method and if it fails to read true the first time it fails. Also if it reads false twice due to noise. Three checks with different logic could be made, but I think something similar to the BOUNCE_WITH_PROMPT_DETECTION method may be a better fit.

I had a quick thought and added a recursion to recheck pressure after 2nd condition fails. I think this is still insufficient to catch all noise cases. It really needs to catch all the noise cases possible to prevent missing steps.

Some confusion it looks like some code updates on CEB Press Control Code v19.01 weren't pushed to the repo and I assumed they were.


Tues Jan 29, 2019

assembled D3D PVC mini axis' on frame with enlarged clamp design. the 0.6" thicker clamps are very close, but not exact; There is some negligible space, which should be fine.


I'm examining the D3D PVC mini assembly further and thinking about the clamp and bolt length situation. The main reason for the larger clamp is because the clamp was designed to be as small to start and there was insufficient room around the PVC to make it smaller the other way to accommodate spacing for the X-axis length. The other possible positions likely require unequal axis' lengths and/or asymmetrical clamps. The Y's could go on the inside making the X length ~9" with ~6" usable print space. This may be acceptable for a 6" print bed, but less so for 8". There may be some clamp design where the Y's could go between the frame pipes, but that reduces print volume significantly. ~10.5" - (0.5-1" for clamp ~3"+) for axis parts. The Z axis is less of an issue it doesn't need to reach the top of the frame due to the extruder height anyway. The Y axis' are also slightly longer than needed.

Clearances to check are magnetic end stop holders, motors, and extruder parts.

File:PVC mount clamp.fcstd I uploaded the current version of the clamp, but I have some further ideas for reducing volume and maybe a less symmetrical design for reduced bolt length.

The bolt length is a difficult issue because 30mm is about the thickness of the clamshell axis parts, so anything reaching to bolt to the pipe needs to be much longer. Looking back at the original working doc the T style snap clamp almost worked except the 2nd bolt across the pipe was longer. The C snap style clamps are most tempting because of the minimal bolt lengths possible.

Looking at changes to CEB Press Code. If I understand what Marcin said in the meeting the debounce function wasn't always working. Looking at it now it is not surprising. It is too simple and has no state check. Something more like https://www.arduino.cc/en/tutorial/debounce should work much better and still be easy to understand. I think the reset mode option can also easily be made available after the cycle completes. Also see bounce and bouncev2 libraries https://forum.arduino.cc/index.php?topic=266132.60

Sun Jan 27, 2019

I got a return email from Marcin about the Power Cubes, reviewed Power Cube docs further and created Power Cube Modularity.

Sat Jan 26, 2019

I keep having to nearly restart the assembly of the d3d mini pvc axis', so I'm trying to find a more reliable way.

Reviewing some power cube docs per Marcin's email about further modularity by separating the hydraulic system into it's own cube.

Power Cube v17.10

Thurs Jan 24, 2019

changed clamp significantly to get closer to ~0.6" along the direction of the bolts to allow the X axis to fit between the Y's. It will probably still need minor adjustments, but I've made changes to the files to make that go faster at least. Still fighting the assembly solver.


reading CEB Press Control Code v19.01 I noticed some comments could be clearer.


I also keep coming back to evaluating the loop. Particularly the selector switch changing the mode at any point. Currently, that requires the user understanding the position should only be changed at the end of a cycle ideally; Since results may vary when changed during any step. The startup is ok because the recalibration cycle gives the user time to set the switch position and this is a repeated cycle creating a good point to change it if desired while continuing auto operation. The delays and relatively slow speed of operation negate thrashing about of the machine when the switch is turned through multiple positions, but the code in the loop still executes a step once it detects a certain position. Users will need to be instructed to change the selection position at ideal points. Possible workarounds require a state machine mode check changed only at the start of cycle or major changes to the code to reduce branches.

This has given me a possible idea for a simpler program. The main difference in the mode options is the delay(time). Currently, the drawerExt calibration time is being used for the main cylinder as well. I recall the main cyl should be slower, but the times are probably close enough this works ok and the modifier values can be changed. Using drawerExt time for the main cyl might be a little confusing to read though. If a selectionMode() is made that returns the time in delay(time) instead of just a number it would eliminate the need for the current functions. All of them I think. resetSel() would need to return 0. Lots of code gets moved from the loop to a single larger function, but I think with many fewer lines of code. Thinking further...

I explored adding the function to return time without removing the others, which was quicker to see that it doesn't change too much. The uniqueness of possible steps still requires a lot of other code so it may reduce lines of code, but not too much complexity. There are many possibilities that may reduce lines of code, but not necessarily overall complexity.

Wed Jan 23, 2019

Testing https://platformio.org/platformio-ide in Atom for Arduino IoT. At first, there were some differences to work through because of moving to a more standard project file/folder structure, but I got it to compile ok and the serial port works ok after I used Arduino IDE serial twice to apparently reset the currently running sketch. That could be a program bug in the climate monitor. Apparently to access some platformIO features a free account is required. They are pushing services, but it is all open source based on github's electron framework as I understand. Reading further the debugger is not part of the free community version. It isn't the most critical feature currently and the platformIO IDE addition to Atom plenty of features beyond Arduino IDE, but I'll keep looking for alternatives.

I also added an install of Arduino IDE 1.8.8 and tested it ok. It even drops some warnings related to internal arduino libs in verbose output. It also reminded me of the memory usage with its more friendly compiler message output. The global class instances in the Climate Monitor/Controller are probably an issue especially since much more would be added by wireless and any future features. I need to study class scope better to find solutions.



Reviewing the d3d pvc mini I see I still have a lot of assemblies to test. I think I was fighting the assembly system just to get measurements before trying to do a full assembly so I didn't end up doing it repeatedly. There must be better ways.


Looks like increasing the clamp half thickness by ~0.16in's would make the rod length work out longer at ~14.45in's, but I recall now it is more complex than it first appears due to multiple clearance points.

Tues Jan 22, 2019

I just found a code issue. Line 128
 if (resetSelected() == false) { 
executes first and then the following operations as well when the selector switch is in position 0. This is because position 0 provides no inputs. I was assuming that when there was no input the code was doing nothing, but detecting reset mode requires a connection. Making it work by exclusion may not be a good design nor do I see that working with the current code layout. Technically there being no inputs detected (position 0) the machine ideally would do nothing. checking emails about code. this will require some thought.

I think Marcin's idea of making reset the exclusion of any inputs works out ok. So I changed the reset function and restored the 1/4 brick option.


added more comments.

I think the inputs for the switch need to be set with internal pullups for the easiest wiring method so I added the option to the *.ino file.

Looks like the test files need updating. If I understood git for code better maybe I could merge them.

Rethinking code on line 150 - https://github.com/OpenSourceEcology/OSE_CEB_Press_v19.01/blob/master/CEB%20Press%20Test%20Code%20-%20Selection%20Switching

I don't see how it can be the code. Using && (AND) and not || (OR) is the correct condition for making the reset exclude all other options. It must be a switch wiring issue... No line 79 has clues.


Prior to Arduino 1.0.1, it was possible to configure the internal pull-ups in the following manner:

pinMode(pin, INPUT);           // set pin to input
digitalWrite(pin, HIGH);       // turn on pullup resistors

I'm also trying to correctly setup arduino to work with Atom for ease of coding and found this to work on tomorrow.


Sun Jan 20, 2019

BSD licensed lib should be compatible with sunfounder LCD. I can't tell the hardware is open source and the other software libs are not licensed. https://github.com/mathertel/LiquidCrystal_PCF8574

Looks like there are a few wear leveling libs for Arduino, but one looks too simple. How it encodes the number matters more because of wear leveling. Storing a single byte or 255 bricks is obviously not enough. An unsigned long (32 bit) will store 4M brick count, but erases 4 bytes each update. 65K from using 16 bit is reasonable. Users can understand it rolled over. I'm sure there are other complex binary encoding schemes to consider as well. If it writes a brick value based on time (hourly) and is wear leveled in a series of addresses they could all be added, except that it would need to incorporate a way to tell which, addresses to add or not.


There are multiple ways to get a brick count without an integrated screen that don't necessarily require using EEPROM.

  • Serial I/O to computer/cell phone over USB
  • Wireless - wifi/BLE to device(s)
  • Use the SD card slot available on a reprap LCD kit. Likely more useful in conjunction with the above output methods.

With likely many oversimplified assumptions:

For simple series wear leveling and 2 byte unsigned longs that halves the 4096 bytes of EEPROM on the Mega2560 to 2048 records. If hourly writes are made on a machine making 7 bricks per min. Thats 420 BpHr. * 2048 hrs = 860160 brick count / 65536 = 13.125 rollovers. 65536/420 = ~156 hrs.

More research on the wear leveling algorithms in the available libraries is needed... https://forum.arduino.cc/index.php?topic=85047.0 https://forum.arduino.cc/index.php?topic=385419.0

"Table 28-12 says that the EEPROM has a 4 byte page size." So it might as well write/erase 32bit values up to 4.294967296e9 each time. That, however, means it is only good for 1024 records. 1024 hrs*420Bphr = 430,080 brick