Pictures will come later

I finished assembling my printer over the weekend. Mistakes were made, parts were broken, but parts of it totally work. On the long term, I need to go the traditional, bootstrap the meh parts with new custom parts. On the short term I definitely should replace at least the one linear being that I started dropping the balls out of.

Oh… I should also figure out why only the x-axis consistently moves. X guess left and right like butter, though the tension is complete shit. The Y will move to the front and then the back and then grind like it can’t find it’s home position. The z-axis, when manually moved up will head towards home, but then the left side will come to a standstill while the right hand still has quite a bit to go. Moving up just didn’t happen.

Y – Let’s check by resetting the configuration first. Then make sure the cables are in tight. Try switching the direction of travel (or manually trigger the limit switch in the other direction?) on the Y. Try switching the motors (x and y). Try to remove microstepping?

Z-Oh you little devil Z. Check for loose connections? Try swapping motors? I’m just not sure?

Shopping

Great movie…

  • https://www.sparkfun.com/products/12992 – the warning about needing to be good at soldering… Though I’m also wondering about just using an accelerometer. Depending on where the Wif taps, or something it could have a different result. I’ll think about it.
  • https://www.sparkfun.com/products/13003 – might be a little on the small side, but it will give a good baseline of what she wants. At a minimum, I can always use them for my own projects
  • https://www.sparkfun.com/products/13907 – where the brains will be prototyped from. Then, when I have it down, remove the rest.
  • https://www.sparkfun.com/products/13851 – physically bigger then I hoped for. I’ll see how much juice this gives and then consider my options.

Development plan

I’m starting to see work me bleed into home me. I’ve always been a self learner and motivator, but now I’ve started to add the thoroughness I bring to work. It’s not that I’m super through at work, good enough is still good enough, but I predefine good enough. I assess my risks. I prioritize outcomes into musts, wants, wishes, disinterests, don’ts, and can’ts. I come up with development plans so I can assess where we’re at against word salads. I bereaucratize my work life. Im doing that at home.

The following is the current working plan. This is of course a work in progress and anything that is answered might be changed, and anything that is not on the list night be added.

  1. Scope project. A smartwatch with specs defined a couple posts ago.
  2. Decide on the connection type and base. BLE done on the ESP32. I’ll prototype based on the ESP32 variant of the Sparkfun Thing. It’s an open source design which will make it easier to take what I build and then remove everything I don’t need for production. There’s probably a lot of things I don’t need,, but it’ll nice having all the power that the ESP32 brings whole I figure out what I can get rid of.
  3. Decide on the screen. This is being a pain. I started looking at Arrow last night and want pleased with what I found or the prices. I think I’ll have to dig deeper on this. I started by looking at Sparkfun and Adafruit, and want some on what I found. I should think about braving out. Maybe look at what Seeed has, though their store never has the information I’m looking for.
  4. Decide on buttons, piezo buzzer, speaker, etc.
  5. Get all parts and assemble. Build an interface and check with the Wif. This should focus almost entirely on the interface and functionality.
  6. Refine down the main board. Add spots for everything I can buttons and speaker, etc. This will help with structural integrity. Remove everything from the base design of the Thing I don’t need. Headers for programming purposes should just be an edge connector at this point.
  7. Order the balance of standalone parts. Within reason I should order 5x of what I need.
  8. Breadboard these to verify the board is probably right.
  9. Order boards. Also order some boards to practice surface mount soldering. Order 5-10x of everything because the price is basically the same.
  10. Assemble after I determine good places to check functionality during assembly.

Induction

http://www.nutsvolts.com/magazine/article/august2013_Bates

https://electronics.stackexchange.com/questions/129753/how-big-does-my-wireless-charging-coil-need-to-be

The commercial until I’ve found are a little too big. I think I’ll have to try rolling my own, though it sounds like a lot of work. Even if it works, it might be too thick or interefery, interfering, interfuriating, whatever. I might be able to get around the thickness by printing it into the case. This will also help with transmission.

Really phone, you just autocorrected transmission four times in a row as transportation, even when I literally typed it? Now a keyboard, that’s an app I need to make for myself.

So yeah, I should really read those links, see what I’m missing, make a shit prototype, see what I’m missing, make a better prototype assuming that anything is working.

Doing stuff

My current mission might be a smartwatch. Jesus.

That being said, the Wif likes the size of the smaller (fruit) watch, so 38mmx33.3mm for the main body. Depth 11.4mm and a weight of 28.7g.

I need:

  • A second hand
  • Programmable alarms
  • Static alarms
  • Vibration and audio alerts
  • No phone integration necessary or required, in either direction
  • Waterproofing to some degree

Knowing the Wif, I’ll have to build in easy charging (inductive?) or insane battery life so I can change it without her knowing.

All OLED would be a good start, though I’ll have to look into one with enough resolution.

I should look into this. It might get some brain juices rolling.

How to error check a dragon

That is to say…

How do I go about checking every bit of data that comes into a template, knowing that:

  • I’m too lazy to write a rule for every piece
  • A given data file may not require the same field filled in for every record
  • Extensible is better

Now this should be running headless and that means I’ll probably be filtering out bad records and dumping them separately. My current thought is have a stack of rules to see if a given data thing meets a criteria. Is it blank? Does it have a single double-quote in it (yeah, that’s a thing)? Is a date field a date? Does a number fall in a range? Whatever. Once I check all, or as little if this as possible, turn around and change the field to be something like DATA_EMPTY_FIELD or DATA_BAD_FIELD. The trick would be then I generate all the letters, even the bad.

You’re probably saying you yourself dear reader, “Self, doesn’t that defeat the point of the entire process?” And that’s where they magic happens.

So I can filter the data with a complex rule saying for a given letter and a given field what it has to be. This would be a terrible amount of filtering, prone to human error, and entirely one off rules. After everything then, each rule would then need to congregate all the different filters ouputs back together to either give single good or bad files and… No, I’m not doing this, I started working a single basic rule for one letter version and only found problems.

I can though, and that’s where we get tricky, is parse PDFs. So I take the data, combine it with the text, make a single PDF. Split the PDF based on a constant, a constant that I put on all first pages of any given letter. We then filter into two branches based on just the words like DATA_BAD or DATA_EMPTY. These PDFs are then recombined and go to either a folder for review for the bad or to print for the good.

The best part is that most of this could turn into subprocesses that could be reused for any letter.

I have to wonder how much of a performance hit this will be and how much work I’m doing to solve a problem that shouldn’t even exist.

Soon to be printing

Well, not soon, more of soon(tm). I ordered my printer, but from a Chinese importer which means it won’t be here for 10-15 days. The price difference was about a 2/3 ratio, so not ignorable. This will give me time to clear room not only for placing it also, but also for putting it together to begin with.

On other news, I’ve started digging into the composition tool at work. That’s… interesting. It’s a fundamental difference between how InDesign did things versus this. Looking at how it does it, it totally makes sense, but still, it’s a lot to work around. I have to deal with the vagaries of HTML and CSS like I haven’t had to do in quite a while. Just getting a paragraph block to grow up from the bottom of a box rather down from the top had multiple people scratching their heads. Figured it out of course… I threw a table in a div and screw those guys.

With the Wif on swing, I’ve been cooking more. Last week I cooked a chicken because no one else was. It came out okay, but a little raw in some places. Last night she had me pick the remnants and then I made dinner delicious chicken stock. I think that’s going to be one of my goals now. No waste, only stock.

Next steps

So I made a decision and pulled that trigger. The printer should be here in the next 8-21 days or so. This means it’s time to start cleaning. I need to have access to my work bench so I have a place to put it. I also just need to clean. Funny enough, with the Wif at work most evenings I’ve gotten to the point where I’m bored enough that video games barely interest me. I even roasted a chicken today. If I remember, I’ll make either pizza or baked beans tomorrow.

Getting closer

While I’m pretty slow on doing things, as in all the random stuff I get all excited about for a moment of my life at a time, I feel like I’m making progress. A lot of my challenges come from my stinginess. While I know what I need to do something, I then get focused on how to minimize the initial investment, and maximize what I get. Then comes where I decide what I really need, and then reengineer everything. I could build all the parts myself, thereby I spend a little less (maybe) but have something that’s all mine.

The thing is, it’d be a lot easier to do a lot of things with a cheap 3d printer. Is it ideal? Does it matter? A good cheap printer would be a printer I could then make a little better just by printing new parts. This is a violation of my belief in only buying raw ingredients when possible (I loathe that most baked beans recipes require baked beans). On the other hand, it means that if I want to go full reprap, I could. Now to figure out what and where to buy. I don’t need to worry about ABS out the gate as the Wif’s asthma would make PLA be a better plastic for most purposes. Build size needs to be big enough for connective hardware for future builds. I’m not going to worry about final build sizes as I have specific needs which would be best meet with custom gear. A shoe sole is going to be long, narrow, and short. An arm is going to be long, narrow, and short. Since most printers are built for cubic builds, my needs aren’t exactly typical.

As much as I want a CNC, a CNC is going to be loud. It’s going to produce a load of dust in a room with crap all for dust abatement. It’s going to increase the initial build cost without a dramatic return. While I think a CNC is going to be where I’d want to go someday, it’s a bad place to start. Maybe I’ll build a mill for circuit boards, but that’s where I should end my CNC dreams for my work area. Maybe a laser cutter, but that’s a different price range.

So now it’s just honing in on the final, what to buy. And squirrelling away the money. And pulling that trigger.