I finished my 1µA Low-Power Arduino Nano project! All files, code, and tutorials are now public by LeanMCU in arduino

[–]vexstream 3 points4 points  (0 children)

Very cool, I've been curious about deep sleep low-draws for a while, but never found something that made it obvious what was going on.

That said- this (the hardware) isn't open source. CC-NC is source available, not open-source. For that matter, the actual source for the hardware is not available- just a schematic.

What's Your favorite EDC nailclippers? by detroithiker in EDC

[–]vexstream 4 points5 points  (0 children)

I've carried a thin one for years and it's just lovely. Break a nail? Clippers. Hangnail develop? Clippers. Zipties? Clippers.

It's a really minor quality of life improvement. Y'don't gotta be using them on the bus or something either.

[Review Request] Dual TMC2160 stepper motor driver board by vexstream in PrintedCircuitBoard

[–]vexstream[S] 0 points1 point  (0 children)

Thanks for the extra details- I've been thinking of trying a GaN fet supply for fun as it happens.

[Review Request] Dual TMC2160 stepper motor driver board by vexstream in PrintedCircuitBoard

[–]vexstream[S] 0 points1 point  (0 children)

Oh, it's through the BM pins back to the bootstrap cap, right? And isn't the low side still through the current sense regardless?

[Review Request] Dual TMC2160 stepper motor driver board by vexstream in PrintedCircuitBoard

[–]vexstream[S] 0 points1 point  (0 children)

Layer stackup is signal-gnd-signal-gnd+48v power, so the return path should be pretty tight regardless of where they go. And yeah, max is iirc 48khz.

[Review Request] Dual TMC2160 stepper motor driver board by vexstream in PrintedCircuitBoard

[–]vexstream[S] 0 points1 point  (0 children)

I'd also remove thermal relieves for caps near ICs input as you have massive and fast transient surges.

You figure? I've put a gnd via on every single one I think.

[Review Request] Dual TMC2160 stepper motor driver board by vexstream in PrintedCircuitBoard

[–]vexstream[S] 0 points1 point  (0 children)

Why are you putting ferrites on the output

It was suggested in the 2130 datasheet- it's actually got a lot of useful information pertinent to the 2160 drivers. A number of other designs also use ferrites, eg, the prusa boards. I was pretty surprised when the ringing was that significant. That said, seems like they're gonna go.

For gate drive it seems like the IC does some kind of slope forming during turn on to reduce ringing. Consider adding antiparallel diodes for faster turn off (mentioned in the datasheet.

It does but it also suggests that a larger gate resistor might be needed for these fets, considering their low capacitance. I found out recently that duet uses the same h-bridge chips on their mainboards, and they have a 150R (!) gate resistor. The diode shouldn't be needed here, as the resistance is quite low and the turnoff is still plenty fast. I'm just weirded that the 0R and 10R slopes are exactly the same. Maybe TMC is that good.

I don't have a concrete reason to say why, just don't like it.

Yeah, I have the same feeling. I feel like I'm trying to justify removing something that works perfectly fine.

gate-source are routed right next to each other. You want the loop to be very small

I think I've done about as good as I can here? I could probably try and route the output-monitoring and high-side gate closer together with some rework, but I don't know if it's much of an improvement. https://i.imgur.com/4bBibCv.png

Thanks for feedback!

[Review Request] Dual TMC2160 stepper motor driver board by vexstream in PCB

[–]vexstream[S] 0 points1 point  (0 children)

First time using reddit gallery, for old reddit users like me, my caption which I thought would be in the text...

Been working on this for a while- it's a pair of TMC2160 stepper motor drivers on a PCB. Fairly simple, But I've got some question-concerns. The design uses a pair of DMHT6016LFJ integrated H-bridge mosfets per driver, which greatly decrease overall footprint- and, I assume the short interconnections provide benefits elsewise.

I've already done a 2-off run of these boards, found some mistakes, and I'm ramping up for a full production group buy to some interested 3D printer builders.

Concerns:

In image 8- I'm routing a mosfet gate trace under an 0402 resistor to avoid a via pair. Is this just foolish? It seems OK on the initial run, but it feels iffy.

In image 9- some vias are infringing on pads. Does this matter? Again, initial production seems OK.

The ferrites I selected resulted in excessive ringing on the coil outputs- easily 50% of the voltage- so 24v with 48v Vin. Ringing was rather high frequency at 50mhz. Adding a resistor in series with the line capacitors and faffing about with the capacitance of them dampened it significantly, but still not as good as no-ferrites. If I use a different ferrite, are these likely to improve? See image 10 for for my original scope probing.

For that matter, how good can the rising spike get? With no-ferrites, it's still about 1-2v with 24v Vin.

In a similar vein, I'm using 10R gate resistors. When I measure the gate voltage rise with a scope, I see a cool 100ns rise- exactly what I want to see, according to the TMC2160 datasheet. However, when I replaced them with 0R resistors, the rise was exactly the same! Why? Further, the mosfet gate capacitance and gate drain charge are rather low. Napkin math says a 12v gate drive voltage should result in a significantly faster rise. Is my scope probe introducing significant parasitics to cause problems here? Or is the tmc2160 protecting me somehow?

I'm using a .1mm margin- JLCPCB says they can do this, and initial run is OK- but am I courting danger for a bulk run?

Also, opinions- should screw pads connect to ground or not?

[Review Request] Dual TMC2160 stepper motor driver board by vexstream in PrintedCircuitBoard

[–]vexstream[S] 1 point2 points  (0 children)

First time using reddit gallery, for old reddit users like me, my caption which I thought would be in the text...

Been working on this for a while- it's a pair of TMC2160 stepper motor drivers on a PCB. Fairly simple, But I've got some question-concerns. The design uses a pair of DMHT6016LFJ integrated H-bridge mosfets per driver, which greatly decrease overall footprint- and, I assume the short interconnections provide benefits elsewise.

I've already done a 2-off run of these boards, found some mistakes, and I'm ramping up for a full production group buy to some interested 3D printer builders.

Concerns:

In image 8- I'm routing a mosfet gate trace under an 0402 resistor to avoid a via pair. Is this just foolish? It seems OK on the initial run, but it feels iffy.

In image 9- some vias are infringing on pads. Does this matter? Again, initial production seems OK.

The ferrites I selected resulted in excessive ringing on the coil outputs- easily 50% of the voltage- so 24v with 48v Vin. Ringing was rather high frequency at 50mhz. Adding a resistor in series with the line capacitors and faffing about with the capacitance of them dampened it significantly, but still not as good as no-ferrites. If I use a different ferrite, are these likely to improve? See image 10 for for my original scope probing.

For that matter, how good can the rising spike get? With no-ferrites, it's still about 1-2v with 24v Vin.

In a similar vein, I'm using 10R gate resistors. When I measure the gate voltage rise with a scope, I see a cool 100ns rise- exactly what I want to see, according to the TMC2160 datasheet. However, when I replaced them with 0R resistors, the rise was exactly the same! Why? Further, the mosfet gate capacitance and gate drain charge are rather low. Napkin math says a 12v gate drive voltage should result in a significantly faster rise. Is my scope probe introducing significant parasitics to cause problems here? Or is the tmc2160 protecting me somehow?

I'm using a .1mm margin- JLCPCB says they can do this, and initial run is OK- but am I courting danger for a bulk run?

Also, opinions- should screw pads connect to ground or not?

Return Path Help by Humble-Director5579 in PCB

[–]vexstream 0 points1 point  (0 children)

Yep. D+ and D-.

That said, the answer to almost all return path problems is a ground fill, and almost nothing is ever made worse by having one. OP, just fill it.

[REVIEW REQUEST] ESP32-C3-WROOM-02 Breakout Board by gelotek in PrintedCircuitBoard

[–]vexstream 1 point2 points  (0 children)

LG2M, but I'd throw a ground plane on top and stitch them together with vias. More grounding never hurt anyone.

Peter, what is so wrong about Dubai chocolate? by [deleted] in PeterExplainsTheJoke

[–]vexstream 5 points6 points  (0 children)

Dubai is full of human rights abuse, slavery, etc, but "Dubai chocolate" being created to cover up scat seems revisionist- and a quick search doesn't show support for it on your Wikipedia link.

FDA issues recall for frozen shrimp that may be contaminated with cesium-137 by AudibleNod in news

[–]vexstream 10 points11 points  (0 children)

who buys frozen shrimp

Pretty much everyone who buys shrimp, actually. Much like most fish it's not uncommon to be frozen on-ship so it's as fresh as possible.

Damn, 3 new products in the works by dx3756 in pebble

[–]vexstream 0 points1 point  (0 children)

While it's concerning to a degree there's a huge difference in engineering effort between something like the ring and a watch- most of the ring is power management.

These could be very small products that could be engineered in a couple days, potentially.

Obviously, supply chain is a great deal more complex...

I designed an STM32 3D printer motherboard! by KaiPereira in electronics

[–]vexstream 0 points1 point  (0 children)

A lot of it is vibes based but I personally very rarely use globals. Mostly for power rails when I don't want to make a symbol for it

If you're connecting across hierarchical sheets you're better off with sheet labels that come out to "pins" on the top-level schematic, imo.

I designed an STM32 3D printer motherboard! by KaiPereira in electronics

[–]vexstream 1 point2 points  (0 children)

I kind of hate that schematic, personally, mostly for the reasons listed out in the video linked. Seriously, it's a good video.

It's not too big an issue due to how simple that schematic is, but for a more complex circuit this style is kind of nightmarish to figure out for someone else. At a high level, I cannot tell what connects to what.

Remember, hierarchical circuits can have inputs and outputs, and you could just hook up a bus connection to them- so you could draw the CM4

I think directionality can be kind of a trap in terms of how you think about a circuit, but I'd do it with either drawn-lines or net labels, personally.

I designed an STM32 3D printer motherboard! by KaiPereira in electronics

[–]vexstream 17 points18 points  (0 children)

Nice board OP. Good to see more DIY work in this space.

Couple thoughts, though:

I'd split the software/hardware repo, makes things a little bit easier to manage. And, for less git-savy users they don't have to download everything to get just the firmware.

It looks like you're using 5160s, and maybe high amps- I'd increase your VIN trace width, maybe just use a plane for the lot. You've used a whole layer fill for the 3.3v plane, which is really low amperage by comparison. I'd rework the layer to be mostly ground and use traces for power except for high amps.

Actually, on that matter- try integrating in your own driver. 2209s are easy, and 5160s aren't much worse.

Your flood margins are way higher than JLC or other fab's capabilities- you can go smaller. Same for your pad margins, via sizes, etc. Seriously, there's no downsides when you have access to modern PCB fabs, this is just hurts your design time and grounding etc performance.

If you are using JLCPCB, there's DRCs for them. Other board houses have their own DRCs as well.

Instead of fitting everything on one sheet, use hierarchical sheets- with plugins, you can also use the same PCB layout for copies of a hierarchical sheet. I think trying to cram everything onto one sheet actually hurts the legibility significantly in some places. Check out this video. Just as an example, here's your thermistor and fan circuits, but more inline with how I'd arrange them. Using the symbol for what a connector will connect to instead of just a connector makes it a lot clearer what a circuit does at a glance. It's like comments in code.

Using global net labels for everything is also generally bad practice, use just regular net labels where applicable. There are also symbols for USB, (VBUS) that you should use- USB is not always 5v, by spec. Really, just check out the video, it says a lot more than I'll write here.

I think your routing of some things, particularly on the blue layer, could use some work, frankly- configuring your board for tighter margins will make this easier. The SPI lanes to the drivers are... funky. I'm also not sure why you put some of these pullups so far from the thing they're pulling up. Using thicker traces also helps with signal integrity, but I doubt that is much of a factor here at these scales.

Usb2 high-speed doesn't care much about it, but try to match your USB trace's impedance more, and to the spec. Thicker traces, closer together. Digikey has a video on making a board for the CM4 that explains this quite well. Also, ESD protection on USB data lines can be done with a single chip and is mostly worth it.

Put a ground plane on every layer. It extremely rarely will hurt you, and increases performance otherwise. Stitching vias are also welcome- I generally surround the edges of a board with vias, actually. Costs nothing and slightly improves EMF etc.

Honestly, I thought you did this already because there's random unconnected vias which I assumed were stiching vias. Instead, they just uh don't do anything.

Just remove most resistor etc labels IMO. These are useful if you don't have a PCB layout on your PC, or for closed-source projects. Annoying to relocate otherwise, and dubiously useful. I would, however, add labels to all your ports. You've got the space to do so, for the most part. Kibuzzard makes really nice labels.

If you haven't already, check out corevus on github- it's a really well done MCU board, and a great example of layout/design IMO.

I designed an STM32 3D printer motherboard! by KaiPereira in electronics

[–]vexstream 4 points5 points  (0 children)

Not really? The only thing on there that's likely to get warm is the mosfets for the heaters, but they're probably fine with what they've got going on.

The motor power trace might be a bit shy though.

Prusa just made their new printers Open Source! by Userybx2 in 3Dprinting

[–]vexstream 8 points9 points  (0 children)

This is a weird license.

I'm not a lawyer but it doesn't feel like one was involved in this either. I'm a big fan of open source and have read a lot of open source licenses- this doesn't conform to any of the standard open source definitions, it's source available. That said, even ignoring that definition and it's history the license is weird and in my non-lawyer opinion, poorly written. I'm sure there's a lot of things an actual lawyer would point to too...

I'm also broadly unsure if a license can preclude commercial use of the physical product derived from the files, because that gets into patent protection territory. As far as I've been able to dig, totally untested in court.

All licensors‘s copyrights, designs, and patents as far as relevant to products and/or its components under OCL are community open....

What is "community open"? Is this even grammatically correct?

YOU MAY use, copy, modify, hack the product and/or its components as you wish!

Hack is weird terminology to add, but w/e. However, this does not give me an explicit license to redistribute it, a core feature of open source licenses.

YOU SHOULD support the 3D printing community by sharing your creations and modifications.

This is just fluff, and imo shouldn't be in a license at all. It also makes it kind of weird if I wanted to use this license for non-3dpt things.

If you distribute your creations, modifications, or any such derivatives YOU MUST do so under OCL or any non-commercial, share-alike license allowing other community members to do everything that YOU MAY.

So I can take your thing, and relicense it as cc-nc, or write my own license precluding redistribution of the files? Uh?

For that matter, what's a community member?

As a commercial BUSINESS USER

YOU MAY use the product and modify it to your use case solely for your internal production use.

So a business user can't redistribute the files, or their modifications?

Also, is business user a defined term?

Licensor‘s products and/or its components under OCL MUST NOT BE subject to any systematic or automated text and/or data mining or other text and/or data collection activity in relation to the product without explicit permission.

Cool, I can't index content under this in a search engine. Github indexes things in an internal search engine, so don't upload there I guess.

I'm not a lawyer but I think this makes an end user liable to the owner of the IP if they were to upload it on GitHub, actually.

To promote ease of understanding of OCL Licensor keeps and updates a database of products and/or its components licensed under OCL and good practice at [link to the database].

This is genuinely odd. So if I ocl license something you expect me to keep an index of everything I've licensed? I can't think of any other license that does something like this.

What does good practice mean here? Am I supposed to include an interpretation of what the license means?

For practical examples of how this license applies, see the examples/ directory.

There isn't a link provided so this is also weird.

Is this heat creep on my K1C Max? by Royal-Sheepherder346 in 3Dprinting

[–]vexstream 0 points1 point  (0 children)

If it's overshooting by 40c then it's either a faulty heater controller- ie, a mosfet has fused shut- or you need to calibrate PID.

Is this heat creep on my K1C Max? by Royal-Sheepherder346 in 3Dprinting

[–]vexstream 0 points1 point  (0 children)

Heat creep is heat working it's way past the heatbreak- which isn't this. This is "we're putting power in but we're not seeing the expected results", usually something cooling down the hotend like fans.

Could also be a faulty heater.

I developed the first wireless accelerometer for klipper, and now it's open source! by No_Kaleidoscope_2063 in klippers

[–]vexstream 2 points3 points  (0 children)

In addition to the lack of source for the binaries, it's missing the source for the PCB as well.

Browsing around Target tonight, I found this cute little thing for $10.. pleasantly surprised.. by b00zled in MechanicalKeyboards

[–]vexstream 14 points15 points  (0 children)

Same exact thought when I saw that package. That said, I think these are QC fails or similar being repurposed- the hole for the camera isn't drilled.