Ultrafalcon - when learning doesn't want to hold hands with success

Let's start with a question:

How do you model learning that is accompanied by 'perceived failure'?

As a parent, I'm constantly trying to ingrain my kids with a love of learning. In learning, we can show thankfulness for what we have, and it's a way we can grow in perseverance and patience. Knowing that children innately copy their parents in many things, including mannerisms, how are they copying my response to failure? Do they ever see me fail?

Well, internet: here, see me fail...

(if the keyboard stuff bores you, the conclusion is right at the bottom)

This learning experience has been generously sponsored by...









...my thanks and gratitude!

Sponsorship details

This came into being when PCBWay offered to sponsor an entire PCB + PCBA order in exchange for me writing up a review of my experience on my blog. After all was said and done, they paid for $140USD of product/shipping, I paid $45CAD import duties.

While I've usually gone to JLCPCB, when someone offers you a PCB sponsorship, you try not to look that gift horse over too closely - PCB costs add up!

I had just finished and submitted the mk19-pcb rev1 order, so something else was needed. The only project I had come up with but dismissed was an expanded 'Falcon' PCB...

Falcon EC11

Casuanoob's Falcon EC-11 PCB rather blew me away when I was looking around for ideas. I saw it in passing on the BKB discord's showcase channel - an encoder surrounded by LEDs! Super cool.

I ordered a stack of them, intending to make them a staple in my builds. And indeed, they were introduced in the mk15 - one on each half - and I doubled down on the mk17, with each half having two! The mk19 was going to get the same treatment.

This is what you get with a Falcon, seen on the mk17 & mk15:

 

Designing the Ultrafalcon

As with most creative ventures (well, for me), there was a certain amount of 'sky's the limit' paired with 'standing on the shoulders of giants'.

What if you could have a giant clacky center button on your giant encoder wheel that's an LCD and surrounded by LEDs?

So I sketched something up in Fusion360...

Immediate feedback was that I had used far too few LEDs. The original Falcon has 12 - the first iteration of the Ultrafalcon had 18 - final has 30. Still complaints about too few LEDs. The internet community is always there to help.

'But why?', you ask...

  1. Why not?
  2. The existing Falcon uses a small-footprint EC11 encoder that frankly is not designed for huge wheels to be attached.
  3. How cool is a button that's also an LCD screen??
  4. Using a PER-series encoder wheel requires a PCB, so, "while I'm in there".

JLCPCB & PCBWay

During this sponsorship trial I noted some of the benefits of choosing PCBWay over JLCPCB are...

  • a lot more customization and options available (e.g. 14 copper sizes, 15 board thicknesses, more colours, etc)
  • full "white glove" turnkey assembly (they source the parts for you - just provide a BOM)

There is obviously a cost to the variety of choice (production lines are not cheap!), but if you really just want nothing to do with figuring out which parts are in stock, backporting that to your design, and the back and forth - it's a very tempting value proposition.

Practically, however, it means you're paying (this is my observation based on my use cases) ~50% more at PCBWay. Apples to apples, I compared the pricing:

  • Cost to make pcb (JLC vs. PCBWay): $5 +shipping vs. $45 +shipping
  • Cost to PCBA (JLC vs. PCBWay): $40 (no PER60 encoders) vs. $95 (incl. PER60 encoders)
  • Total cost, all-in (JLC vs. PCBWay): $120CAD vs. $245CAD ($145USD = $200CAD + $45CAD duties) (JLC total includes price for mouser.ca to ship me the PER60 encoders)

Is time=money true for you? Then maybe PCBWay makes more sense.

A hindsight note is that if you are coming from experiences with JLCPCB, you will be very confused about the process at PCBWay.

JLC expects you to do a certain amount of legwork:

  1. browse the parts catalogue, figure out what is in stock
  2. add them to your local design tool
  3. submit BOM (before the parts go out of stock!) (BOM = bill of materials)

Accordingly, JLC's parts inventory/selection is seemingly infinite.

PCBWay has taken a different approach:

  1. add whatever parts you fancy to your BOM
  2. submit BOM
  3. PCBWay sources the part or its analogue

The challenge for JLC regulars is that you expect to find parts in their catalogue that just aren't there - simple things like RGB LEDs! So rather than browsing, you literally just jam in the manufacturer part number to your BOM and go about your day. e.g. SW1,1,,PER60,Bourns,PER601-P117-N0015,tht

Amusingly, I used JLC's catalogue to source many of my part numbers.

So, there are some warts with both processes, but frankly the outcome is you can create custom PCBs for what amounts to peanuts, enlarging the sphere of what you can accomplish creatively. So even with some bumps along the road - you are enabled to reach into previously unattainable levels of craftsmanship and execution. "The future is now." as they say.

Kicad learnings

Without boring the casual reader, suffice to say that the discipline of electronics/PCB design is a lot more rigid than software work, so the process you have to follow is somewhat non-negotiable.

  1. Supply all of your schematic symbols and PCB footprints.
  2. Lay out your schematic.
  3. Draw the PCB, meeting the manufacturer's specifications for tolerances.
  4. Export the necessary files for production.

(click for higher resolution)

No big deal, right?

Well. Ok, so this was a huge learning curve. But, once you get the hang of it - remembering that this is an established discipline, with a high googl-a-bility factor - it's just a matter of searching and gluing things together.

(click for higher resolution)

Some foreshadowing. I initially had trouble sourcing the symbol/footprint of the LED pacakge, so ended up copying it from someone else who had successfully ordered with that design.

Can you spot the error? Yeah, nobody else could, either.

From Kicad to Fusion

Kicad has a super handy feature: Export -> STEP file

This provides you with a file you can directly import into Fusion 360, which means you can model around a real-life representation of your PCB, including all the components like connectors, LEDs, encoder wheels, etc. Pictured is a work-in-progress view of the "LCD screen button" design.

Refactoring the mk19 model thankfully wasn't too bad - there was just enough room for the new PCB size.

The order

My particular needs for the Ultrafalcon required the Bourns PER60 encoder, unfortunately only available via US sources. This required an additional two to three weeks of processing time on their end - order the part from the US to China, get it on the bench, manually solder in place - and the parts themselves are $10CAD a piece.

When I mentioned warts earlier, this is where a particular oddity comes into play. After submitting the parts and the engineering department finally gets to auditing them, the BOM I submitted is transformed into an XLS spreadsheet on their end. They make some adjustments and send it over to me - via email - and I have to open the file, add my comments, save, and re-email it to them.

This is very very strange given the high levels of automation everywhere else on their site.

But, it worked out okay, after I went through the rigamarole of importing the XLS into Google Sheets.

Both JLCPCB and PCBWay require some level of your effort!

Timing

Worth calling out first that adding US-source-only components definitely slowed things down, but, it's good info:

  • Jan 25 - order submitted in full
  • Feb 27 - order received at my house

A 30-ish day cycle time on figuring out 'will my design actually work' is a good reality check compared to the software world of 'minutes or less'.

Receiving day

  

Once the order was processed, PCBWay shipped it via DHL and it arrived within a week (speaking of 'the future is now' - shipping around the globe in less than a week?). Packaging is impressive - everything is static-bagged and generously enfolded in bubble-wrap.

Testing

There's another important distinction I learned between the two:

  • JLC will take your files as-is and build whatever you have provided.
  • PCBWay will check your files for design errors to ensure maximum quality. (in my case, the checking and correcting unfortunately was not communicated - I'm told this is not the normal process)

This seems as if PCBWay is doing you a favour, but if you combine inexperience, "it worked over there, probably be fine over here" attitude, and silent mistake fixing, you get... a non-functional board.

After all of the work, waiting, and planning - something had gone wrong!

When supplying power/gnd to the board, it would rapidly try to emulate a space heater - not something I'd designed in!

Thanks to an ancient 30x pocket scope, the trusty burkfers and GeorgeN, and a datasheet, the issue quickly became clear: the LEDs were mounted 90-degrees clockwise from what my PCB diagram required.

  

Still more to be gleaned from this prototype, however!!

Testing the lug assemblies

A head scratcher - not sure how this happened...but obviously some Fusion fixes to be done. This is the 'lower lug' of the connector.

We can test the fitment of the pcb to the case

Aha! I undersized the print. When we do Ultrafalcon rev2, we can shrink the pcb to fit. Visually, the size of it is pleasing. Chomnky.

And how does it feel?

Very happy with the PER60's size. It's a little stiff, but with use that should ease up. The general wheel size - 85mm - is great, an improvement on the mk17's 57mm. This prototype is missing the LED reflector/diffusers.

Conclusion - Lessons learned and next steps

-------

Update, 20240305: It was pointed out to me that I neglected to include a very important piece of the story - how PCBWay handled their side of things!

So clearly I made a mistake in marking pin4 as pin1 - the files capture actual part orientation, but what I did was incorrect, and anyone in the industry would agree with that assessment.  When I brought up the discovery that the parts had been corrected without communication, PCBWay's after-sales team quickly stepped in and worked with the factory folks to figure out what had gone wrong.  They offered to rebuild the part or offer discounts on future orders, and took my feedback on suggested improvements with kindness.

-------

Not all learning is accompanied by "traditional" success. But all learning is a success in and of itself.

  • Sometimes you can do everything you know to be right and still 'fail'; revelation that you still have more to know, more to learn - this is ok!
  • As in so many cases, even in the same industy niche you can have very different paradigms surrounding 'accomplish the goal'; don't assume that what works for NicheCompanyA will work for NicheCompanyB.
  • Corollary for the above: You can't know when you've missed something, so design slack into the system.

How do you model "learning through failure" to our colleagues? Our peers? Our families? Our communities?

I got the opportunity to show my children that even daddy fails at new things, and this is okay! I learned from it!

What's next?

Why, Ultrafalcon rev2, of course!

Follow along and find more details at the repo: https://github.com/christrotter/ultrafalcon

Comments

Popular posts from this blog

Learning through failure - a keyboard creation journey

Learning Opportunities - Watching/listening list

Fixing duplicate SPNs (service principal name)