#help-with-hw-design
1 messages · Page 49 of 1
How thick a pcb are you using right now? @silk lark
0.6mm
Neat, I've always assumed the substrate is incredibly brittle so I've never tried that with a traditional pcb. Maybe try supporting the flex areas with copper pads?
I would probably make the spring portions into slaloms to spread out the bending, like this 3D printed one but in PCB material
have you tried a cr2016 battery? it's thinner than the cr2032
it would probably be too weak to drive the display
@supple pollen some of my initial sketches had that, but fortunately I have enough room to do without that
I left the footprint for a regular battery holder, so that I can still use those boards
from what i read, yeah, it won't be enough for much, as those seem to have 75-90ma capacity :/
the cr2032 is already borderline
I will just need to make another version with longer tabs
Is there any website like JLCPCB where I can create my own integrated circuit or my own microcontroller?
creating a microcontroller is a very advanced topic, and pretty expensive too
Yeah creating an IC itself is a long and expensive (just the design release can be high tens of thousands of $ on the cheapest possible batched process using old process nodes). If you’re looking to fiddle with digital design, I’d recommend an FPGA dev kit (whichever has the best open-source/free support these days) and working with that.
There’s one main exception I remember: https://efabless.com/open_shuttle_program
But even then, start with an FPGA for a while.
Jlcpcb, oshpark, pcbway, and seeedstudio all offer pcb and smt assembly for a reasonable price. Prices will vary based on what components and how many, but they each have their own pros and cons.
(I think critically here Eudecio was asking about making an IC itself, vs a PCB containing ICs.)
Ah.
Misread that.
Yeah, that's not really an option offered to hobbyists. Though if you can't do what you want to do with any commercially available microcontroller or computing system, you're looking into something extremely niche there...
There’s some fun/value in being able to do it yourself and understand it, and via the google-sponsored shuttles and process I linked above it could be possible, but it’s still a pretty difficult thing of its own accord, with a bunch of expertise needed for success. FPGAs represent a nice middle-ground for most folks that lets you do the digital design without needing to worry too much about the physical design or layout, and enables much faster iterations.
That is pretty sad.
Ah I misread the message whoops
" without needing to worry too much about the physical design or layout " That's not necessarily a good thing.
I mean there's value in crawl, walk, run.
The full chip-release experience does appear to be available (thanks, Google!) for anyone sufficiently motivated.
I'm just suggesting that before going and worrying about physical design/layout of ICs, a good first step is to make sure that the digital logic one is laying down will actually work and do what one wants.
A full-scale chip design and release is generally the topic of a fairly late graduate-level course at a well-run university's electrical engineering program. e.g. https://online.stanford.edu/courses/ee272a-design-projects-vlsi-systems-i and here I'm not sure if the chip even gets released and brought up or if the students just do all the design to get it to a release-ready state.
you can always start by building your own microcontroller from discrete parts
there are several step-by-step projects like that out there, they use simple logic gate chips
of course this mostly has educational value
I never saw this course happening on Stanford SEE.
But ok.
Actually I never had courage to take graduate courses at Stanford SEE
Only undergraduate courses
:/
Like CS106A...
... Pretty good....
I did it at the beguinning of high school
I didn't do spectacularly better; for what it's worth it seems like this ran this wast winter, at least. (it was previously EE272 and then got reformatted as EE272A in 2020-2021 academic year) but in any case, the course details may well be online (slides and such)
Yep, in fact: https://code.stanford.edu/ee272
and they're using the skywater 130nm linked above, which makes sense.
What is this?
The skywater 130 process node, which is at the core of the open shuttle program I linked above.
SkyWater foundry released the process development kit as open source, this gives you a bunch of predefined blocks like IO cells that are optimized for that particular silicon process: https://github.com/google/skywater-pdk
Google :) I like it.
And the EE272 folks are using this as their baseline for building chips on (which makes sense, and also makes sense why they reformatted the class).
It is a dream if these online courses had defined office hours and tutors...
I think more people would get a certificate.
Like a professor organize 2h a week on google meet.
For office hours...
And some tutors... That would be great.
Specially this one.
Because now I am interested.
It doesn't necessarily say it doesn't have that as a thing, you are actually taking the class when you do this. (I'm sure it's priced accordingly though)
Some professors answer but it's not expected you see.
There's a forum where students can iteract
But the professor is not obligated to answer
Don't make me remember that these courses are not free anymore.
Is Stanford online courses not free anymore?
There have always been a variety of options to take: This one I believe is an actual formal certificate program. You are actually taking the class, alongside other students, potentially with the option to go in and take the class in person in normal times. A colleague of mine did this for a certificate program at Stanford as well.
In (considerate) trade, you are paying the going rate for graduate credits.
But in my time certificates were free.
They have separate programs that are free (you can watch the videos and work the problems on your own) but you get no formal support.
Coursera, Edx and Stanford See . All free.
And the certificates.
Formal support = office hours?
I think this may be an overloaded use of "certificate"
It's a diploma
With your name
And you can even verify
Online.
There's a link.
Your boss can look online
If it is true.
I would call that not the norm, and they're doing a bunch of extra work to make certain classes available through that sort of program. (and they're classes that would normally be the huge halls of students anyway, with primarily automated grading).
No, my colleague was running through the more traditional Stanford Center for Professional Development
I see.
I think this EE272 thing is closer to SCPD: full-rate cost, full-service class (you're "in the class" like any other student with full access to professors, assigned TAs, you come in to do the labs and take exams, etc).
You did the same when it was free.
I remember.
I took many courses when they were free.
There was not such thing as
Spectator...
Everybody was there for the diploma.
Actually Arnant Argalyal (I think I mispronucing it)
Was proud to create Edx
One of the reasons : it was free
Back there in 2012.
I think it's just some limited subset: edX still seems to be there, with its classes that can be audited for free or can get a certificate for what they say is a "small fee" (I have no idea what amount is)
But that's not all classes that Stanford offers to its enrolled undegraduate/graduate students, just a subset
In any case, we're pretty far off-topic
and should probably return the channel to its intended use
Not small for me.
Yes. Agreed.
I added to my PCB a bridged solder jumper in KiCad
and after getting the board from fab house, I realized that the "bridge" between two halfs of the jumper is covered by soldermask
so it looks like they are not bridged at all - you need to look really closely to see that in fact there is a bridge
is it normal? I seem to remember that in the few solder jumpers I used before, the bridge was exposed....
Should be exposed
I thought so too, but apparently creators of KiCad jumper library thought differently
Doesn't have to be exposed if you're confident you have enough solder to actually bridge the gap, at which point the jumper depends on whether or not you put paste down, e.g. a solid block of paste across the gaps will generally still solder OK even with a thin sliver.
But that's mostly if you don't have a true copper bridge on the fab itself
In this case there was already a bridge on copper layer, but covered by soldermask
Clearly the soldermask doesn't affect the copper bridge, but it makes it somewhat more difficult to scratch off if one needs to break the bridge...
Cutting through soldermask isn't tough if you're cutting through copper anyway. However, restoring the bridge with solder means you need to remove a lot more soldermask, and the resulting copper probably won't have tin/HASL/ENIG coating and will be trickier to solder.
I think for the new revision of the board I will modify the footprint so that the bridge is exposed - no soldermask
Alternatively, giant solder blobs LMAO
That being said, I wonder why I never thought to remove soldermask from my protoboards when connecting pins... MIght be unrelated, but is that standard practice, or do most people just overfill solder until it kinda just flows over?
Overfill on what?
For otherwise-unconnected protoboards I prefered to run a wire across the pins that I'm bridging, and then solder each side (or run the wire down the line and then solder it at each point)
Though honestly at this point PCBs have become cheap and ubiquitous enough that I'd consider designing one for nearly anything that I'd have traditionally done on a proto board.
I still prototype on a protoboard (or Lectron) but I'm more and more likely to just get boards fabbed for even temporary projects.
Same
I take advantage of DirtyPCB's "We don't care as long as it fits in 10cm x 10cm" rules and make a wide variety of useful building blocks as breadboardable modules.
I also tend to give them M2 or M2.5 screwholes so I can screw them to a pegboard.
Today's designing:
woah
How do I make JLCPCB and other PCBA's services to recoginize the component that I choosed in my Guerber file?
there's a default program for this, I am afraid it doesn't recoginize a resistor that I choose of something like this.
without using EasyEDA for example.
Usually you provide a separate Bill of Materials (BOM) in a spreadsheet (xls or equivalent) that lists component information. If you use tags like U1 and R15 on your silkscreen, you can specify what component that should be in a BOM based on iis manufacturer and part number.
And how they will calculate the price?
usually you send your design files to a fab, they give them to their engineers, who review it and compare with what is available on the market, and then they send you a quote
that is the usual process for when you are making several hundred units
can I make pcba with 5 units in jlcpcb?
some services, like JLCPB, have simplified online forms where you can order designs that only use parts from their list
then they calculate the prices automatically
this is very informative. Thank you.
can i order 5 units of pcba?
sure
Have Your PCB Assembled in 24 Hours with In-stock 40k+ Original Components JLCPCB provided. Reduce Your Time And Cost From PCB to SMT Service
this is their info about their simplified assembly service
if you include any part that is not in their "library", they will just leave it out, you can add it later yourself
I see.
They also have instructions on generating BOM and part placement ("centroid") file for all major EDA software packages: Eagle, Altium, KiCad...
no Fritzing :(
Does Fritzing have an official export for centroid files? The screenshot I'm seeing online seems to just have the raw gerbers, not the csv-type pick/place file most places like to see. It further seems like some folks online may have made some tools for this but nothing first-party or reliably linked to.
it has a pnp file
537;220;0805 [SMD];44.8697;-14.8777;-90;Top;R1
538;220;0805 [SMD];44.917;-60.7222;90;Top;R2
looks like this
are inductors bidirectional
As long as they aren’t coupled to anything (e.g. transformer windings).
But a standard, 2-terminal inductor is bidirectional.
An amusing side note on first comment:
ah got it, thanks for the help
yeah it's just for a simple buck converter
I'm guessing this is the sort of thing that only limor and maybe scott know the answer to. But in the Rust HAL for samd51, we've encoded the proper IOSETs for each sercom into our type system so that invalid pin combinations don't compile. And we noticed the pygamer uses PA17, PB22 and PB23 on SERCOM1 for the SD card, but PA17 is on IOSET1 and the other two pins are on IOSET3, so we treat that as an invalid combination. Any ideas how it works in hardware even though the datasheet says it shouldn't?
I don't know the answer, but I agree this looks weird from a scan of the datasheet...
can I ping limor about it or send a support email or what should I do?
Personally my next step would be to dig through the SD Card library and see how the pins are being configured... maybe there's a comment in the code about it. But if you don't want to take the trouble, a support email is probably the way to go.
ok thanks
I looked at circuitpython & arduino board defs, pybadger, and the schematic, no comments about it
I wonder if it's some sort of "it'll mostly work but break at high speeds if you use the wrong IOSET" thing. One thread suggested that on the SERCOM UART, the TX/RX needed to be on the same IOSET but some other pins could be mixed. AFAICT there's no actual register setting associated with the IOSETs, so it may be just some subtleties of the pin-routing propagation delays or something like that to meet timing specs.
interesting
depending on the internal chip design, that would make some sense
Im thinking on using solderpaste on a project, and thought that low melting point solder could be a good idea... but on second thought I wonder if it actually is, as components may heat and melt the solder...
Have any experienced such problems?
Even the 'low melting point' solder should hold you just fine for any non-faulted scenarios, since generally the absolute hottest components should get is ~125C, unless you're designing stuff that goes near internal combustion engines, e.g. deep in car engine bays, where they'll be rated up to 150C ambient (so even more than that junction).
The only times I've heard of components desoldering themselves is when a pair of power MOSFETs were electrically overstressed and failed short across a high-voltage (probably ~150V) battery pack.
the componenet i want to use is a motor driver that integrates fets
TI’s DRV8873 is a 40-V, 10-A H-bridge motor driver with integrated current sensing & current sense feedback. Find parameters, ordering and quality information
i dont have any experience doing reflow soldering, so I figured out that low melting point would be a good plan as it would lower the chances that i could damage components through overheating
I used low-temp paste without any problems
BTW, it is a pretty powerful motor driver... what are you building?
Other things to consider is ALT SERCOM. Some pins have alternate SERCOM that allow them to be used with SERCOM not in their primary. I believe this is the case for the PyGamer
I think alt sercom is just an arduino thing
Nah, check the Datasheet
It’s in the pin table
You can see for instance PA08 has different sercom mappings depending on the sercom
But you can only use one sercom at a time
ok, but there's not really a "primary" and "alt" sercom, any set of pads in the ioset section can be used with the sercom, but not pins from two at once
6.2.8.1
The first row is considered the primary SERCOM, the other is the alternate sercom
In the samd21 tables they explicitly say ALT sercom, it’s the same concept
Okay, as long as the pins in question exist in the same sercom they should be fine for SPI. With the exception of SS/CS
I don’t know which chip specifically the PyGamer uses though
My guess is they are using IOSET 3 for sercom 3
Unless they are remapping each time
there are at least 4 different iosets for every sercom
what easy ways are there to transfer data from an MCU to a PC at >12 mbps?
I know USB and Ethernet can be super fast, but I'm not aware of any frameworks that make it simple to implement a comm channel
I always vote Ethernet for everything. You can do everything from just stream raw data in some custom framing on UDP all the way up to an embedded protobuf implementation (libraries available) that handle the serialization for you and can use TCP or other means to enable retransmit. Kind of depends on your data format, how much flexibility you need, etc.
Emulated serial over USB should be simple enough to configure, if you can make it go fast enough. You might be able to cobble up a fast SPI link of some sort, but most MCUs won't clock SPI that fast.
also signal integrity becomes an issue, especially with longer cables
spi was designed for talking to other chips on the same PCB, a few centimeters away
I know I2C was, I wasn't sure about SPI, but it's true that it's not a controlled impedance transmission line and doesn't use low voltage differential signalling or anything like that.
I2C terminator with Ethernet allows you to send I2c longer distances
There’s even a learning guide to do that
Hi All, I've designed a PCB Board to go on a Pololu Zumo Robot Kit. From my reddit Post:
The kit usually fits an Arduino Uno and its variants. I've made a previous version of this board using the TI TIVA C TM4C123GH6PM IC .
This time, I'm learning from my previous mistakes and making this newer one. It has the following changes:
- KiCAD instead of EAGLE. Free and Simpler, I'm loving it. Do not like the lack of Fusion 360 integration, but on all other accounts, an amazing tool.
- STM32F7 instead of TM4C . Jumped up from an 80 MHz Arm Cortex M4 to 216 MHz Arm Cortex M7.
- Removed on board Flash for Micro SD Socket. The STM32F7 has inbuilt EMMC/SD peripheral. So why not?
- MPU-9250 to MPU-6050. Not happy with this since 9250 comes with a half decent AK8963 magnetometer and has better sensitivity.
- Added USB. Tiva Had it, I forgot. Now I've got it.
- Added Encoder Pins for Micro Metal gear Motors from DF Robot.
- 4 layer design instead of 2. Inner planes dedicated to 3.3V and GND.
Features: - Compatible in shape with a Pololu Zumo Chassis. Key difference being the original Zumo boards are 83.1 mm x 66 mm . This board is 100 mm x 66 mm . The added 16.9 mm helps to add USB, reverse protection and power circuit.
- Zumo Reflectance Sensor (link) Compatible.
- MPU-6050 Accelerometer and Gyroscope.
- 2 UARTs. Preferably one for Jevois Camera and one for GPS.
- NRF24L01P+ Module header. With dimensions of popular form factor.
- SWD header.
- USB and protection.
- Micro SD Card Socket.
- 3 USER LEDs and 2 USER Buttons.
- Switches for boot mode selection, Motor sleep or active state, and On-Off State.
Let me know what you guys think of it. I'll be adding the exported PDF of Layers and Schematic from Kicad below. If additional pics and info is required, do let me know.
Have a wonderful day.
Adding the PCB Schematics, Layers, and Step File.
I'd increase the copper area where it's being used for heatsinking, and watch clearance on those large through-hole connections
There's a trace very near two of the mounting holes, that could cause problems if that trace shouldn't be connected to the frame (I might add large pads around the mounting holes if they're intended to be connected)
The Boost Converter and LDO have large copper pours to pass to the ground plane. The -ve terminal of the zumo connector can use one for sure. I'll add that. Thanks.
I'm just pointing out there's nothing else in that area, and copper is free: I'd expand that to fill the available area.
The Battery connector in the zumo chassis is spaced for 4 AA batteries. I couldn't find an appropriate battery holder so I made that from the dimension files provided by Pololu. The BATT- (or GND on the right) can definitely use a plane for better sinking. But I do not understand what you mean by trace too close to the mounting holes. The four mounting holes have no trace close to them, yet I will definitely add a keepout on their circumference. Can you let me know from the below pictures which hole has a trace close to it?
This looks like a trace close to a mounting hole to me, but I could be misinterpreting something
Both of those concerns make sense. I'll change that. Thanks.
My biggest concern is the mesh I had to create around the right side to accommodate the SD Card slot, the IMU, and the SWD Socket. I'm worried I'll have errors reading the SD Card if those criss cross applesauce of traces fail for some reason.
I suspect that will be fine: crossing traces don't couple particularly much (especially if they're over a ground plane), it's parallel traces that are more troublesome in that respect.
I have a few of those parallel traces for the nrf24 connector, the clk, mosi, and miso lines. I'll see what I can do of them if possible.
That will tend to happen, as SPI signals all go to the same places. On a small board like that, it's usually no problem, but if you can separate them a little or put ground traces between them, so much the better.
@heavy jasper but how easy/hard is to integrate an IP stack? I've heard that its quite messy
I suppose that raw ethernet frames may work too...
It's kind of involved, unless you have a chip/board that does most of it for you.
I suspect this is why the AdaFruit offerings use a separate chip (like the WIZ5500 or an ESP32) for that purpose.
how involved is it compared to USB?
I consider them both kind of involved, but don't have a feel for their relative difficulty.
have you implemented both?
I've implemented pieces of both, but not a full implementation of either.
how do they compare in terms of speed, resource usage, reliability, etc. I'm interested in transferring bulk data only, the internet connectivity doesn't add any value to me, just need a good p2p fast link.
Ethernet is about 10% efficient for bulk data transfer.
USB can be more efficient, but buffer strategies and timing are critical.
You might be able to use an Ethernet transport and not bother with the TCP or IP layers and just treat it as a data stream. That would be easier and more efficient, but less standard.
ok, maybe I should stick to USB. I remember some SDRs used libusb on windows, and apparently this was like an alternative driver to the windows usb (winusb), but i think libusb was also a library. Whats like the standard way to handle USB from the PC side?
Apparently SPI is also an alternative with some FTDI chips...
https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-driver-development-guide
Generally, you either select a device class Microsoft already supports and develop for that, or you develop your own custom driver?
thanks for the link... gonna check
@granite steppebelieve it or not, but I am currently designing a very similar robot shield for Zumo chassis: https://twitter.com/IslandRobotics/status/1406964117064327173
Maybe we can talk about it by DM
one more stupid question: do you have some stock of STM32F7 MCUs? you know that right now you can't get them anywhere - out of stock worldwide
This looks amazing!
I have around 10~20 pieces I bought in the end of 2019. Similarly with some F4 and H7 controllers I found back then. I've used it before so I'm fairly certain I can make it work on zumo too.
I can tell you more about my design and will be happy to share it - it is just somewhat unfinished yet, so I haven't posted it publicly so far
I'm wondering how well it works to use PCB as stencil/lightguides to design a simple display. Does anyone have any experience with that or links?
https://hackaday.io/project/164406-small-word-clock came across another discord I'm in today
yeah kinda like that...
but i would like to build something like dot array... or 7 segment display
wondering how much leakage would there be
im also wondering how much light the FR4 absorbs at different wavelenghts, im currently looking for any info on that
looks like there's a little bleed on there
there it seems the guy didnt apply soldermask... I suspect maybe with soldermask contrast could be increased
im thinking that some soldermask would increase contrast and not reduce much the transmitted light...
i got this PCB with a LED that I built, and the led is iluminating outwards... but light still leaks in the opposite direction and goes through the soldermask
Im also thinking that eventually making the PCB thinner could eventually reduce leakage
black soldermask probably would block a lot of light.. but the green one i got here is very translucent...
I wonder if the FR4 TG rating would also change the leakage/etc
also consider soldermask w/ and w/o copper
just checked the gerbers.. and the guy didnt apply the stencilmask to both sides
yeah thats what i ment... copper is the big light blocker... but soldermask would make the letters look more uniform, even tho its still visible when there is or there isnt copper behind
i suspect that the stencil mask applied to the bottom can reduce leakage
I've got some boards with PCBWay's black soldermask I can check and see how translucent this evening
great
I’m close to finishing my first custom PCB, but I have a question, if anyone minds helping. The PCB is a INA3221 9 channel power distribution monitor for a huge dotstar array. I want the board’s input to handle peak 30A but I don’t know what kind of connector is appropriate for that kind of current draw or would work well with the 10ga leads coming from the PSU. Any suggestions? Should this be direct soldered or are there appropriate screw terminals?
The terminals are rated
you just need to check that...
still in the worst case you can use more than one terminal
Some of the hardware aimed at RC model builders is rated for plenty of current
I'm working on a PCB for a calculator. It's intended to run using a Feather with either an OLED FeatherWing, or the LCD FeatherWing; the larger silk outline shows the extent of the LCD, which goes above the top of the board. I welcome any comments, and hope to order the PCB for fabrication tomorrow.
I'm not sure whether those bottom mounting holes will be usable, probably not..
OK, relocated those holes
@nix cut a rectangle in some aluminum foil taped to the back of the board (as my flashlight is larger than the panel rail), those two lines are a v-score. This is with a bright 1,000 lumen flashlight
@thick willow ^^ looks like there is a little bleed along the FR4 material itself, but it cannot get through the 2 layers (one front, one back) of soldermask. I think that side-to-side fringing is actually a camera artifact and not actually the solder mask. There does seem to be a tiny bit of light bleed through the solder mask right next to the v-score. The rectangle cut out of the foil on back was not the full height of that rail.
@thick willow Another note re: data transmission is that in large part the "efficiency" of these various options will be wildly dependent on what size of data you're sending, what latency you can afford, and how much buffer space you have. e.g.if you can buffer enough space, with TCP you can theoretically send 1500 bytes of data for 20 bytes of header, which is pretty great. But you need to wait until you accumulate 1500 bytes of data. By contrast, if your protocol is sending one word at a time (e.g. some 16-bit ADC value), that 20 bytes of overhead is going to be pretty huge.
@lime thunder did a similar test jlcpcb black soldermask, and its 100% opaque... about the bleeding you are right, eventually the use of a copper mask at both sides and the reduction of the pcb width can help. I'll eventaully just design a pcb to do all the testing. Even though its not perfect I still think its nice to be able to design your custom light panel at very low cost.
@heavy jasper I would think that proper buffering is probably the easiest of the difficulties there... in case o TCP its usually automatic for the stack to decide when to send the packet, so if it sends with high overhead it would mean its sending very slowly. Not a big issue.
also I doubt you'll be using a 1,000 lumen light source either
@granite steppe Hey, finally getting a chance to read through the thread. Are you perchance willing to link to the raw design files? It's easier to review if you one can page through schematics/layout and probe between them.
Does someone here knows where I can box my PCBA's (before arriving to my country) looking like a professional product?
ex: JLCPCB , can they make a connection between companies to do this?
I'll be putting it up on git and share the link. I've made some footprint and symbols for the pmos and battery connectors, so I'll have to find a way to put them all together first.
I know Makerfabs can do it
you will need to design the box, though, or pick an existing one
I'll have to order the box, but they will take the PCBA?
Actually I would like to arrive here as a full product, with a manual and other peripherals. Do they do this?
they can order the box, you just have to tell them which one
you would also need to design the manual, etc.
it's best to simply write them an e-mail and ask
To JLCPCB in case. Does Makerfab send an empty box or you mean I'll have to buy the product?
Or OSH park...
makerfabs will assemble your device, program it, test it, add any cables or accessories, add the guide, and put it all in a box — if you tell them exactly what to do and pay for it
no idea about others, it's best to ask
So I must send my PCBA from JLCPCB to them, how do I do it?
Ok... "Better to ask"
What do you guys use to perform PI/SI analyses?
I'm using Ltspice but its far less from ideal
Ltspice is pretty much the only game in town for good, free, generalized spice. Manufacturers will often have their own tools for their own VRs to help with design (e.g. TI has webench and some excel files, Analog has ltspice and LTPowerCAD). For SI, your options to my knowledge are “good design principles” or hire a consultant with a seat of a proper tool to do some analysis if it’s super important.
Not so many 2.5d or 3D field solvers available for free. Supposedly Altium has some features built in now for zero marginal dollars but I haven’t played around with them yet.
Sadly I dont have Altium 😦
I've seen videos and it apparently supports some current density analysis
Is just want a free hyperlynx or ADS 😆
Software developers have it so much easier, its full of free high quality tools...
Locksmiths make the best thieves
Well, sometimes high quality isn't that high quality.
But, yah, it wasn't till what is now two jobs ago when I was working on 3D printed cars that I realized the absurd disparity between what software engineers will accept and the marginal costs required to get there versus the sort of stuff mechanical folks were forced to use for absurd marginal costs.
My impression, at least with the mechanical engineering solvers, was that the actual code quality and numerical stability produced by expensive high-end software was actually quite mediocre on an absolute scale and that we'd all have been better served by something more like the open source world. On the other hand, that would have ended up creating a whole new set of annoying problems.
There are some folks working (slowly) on general improvements for some mechanical systems, e.g. SU2: https://su2code.github.io/
Website for the SU2 Project
But that's still mostly focused on fluid flow (e.g. aero solvers)
Yah, like, the open source with the best actual history is honestly where a bunch of large companies see the established traditional vendors as bloodsucking leaches and creates an open source foundation. Avoids antitrust issues and doesn't suffer a lot of the getting-started problems.
@median stirrup I realize not all traces may be visible, but it looks to me like you'd have shorter, straighter, less crossing traces from the Feather to the keys if you rotated the Feather 180°.
@supple pollen I agree, and in fact I got the feather orientation backwards for using with the 2.4" LCD featherwing so that's two reasons to re-organize the traces.
Ouch.
oh it's fine, the first version is going to use the OLED which has the same outline as the feather so that'll be fine
an upgrade path to a bigger screen was a "would be nice"
That totally makes sense.
I appreciate the feedback & it's still very useful
oooh cute. "pocket operator" inspired?
yeah, and that Kraftwerk song
diodes under, surface mount tact switches above?
but I planned to use mouse buttons instead of key switches
no diodes, press only one button at a time
oh, so those are just vias for routing
I see.
in this case, the mandate was to use cherry-style switches .. which will feel nicer than those buttons but ends up larger
because I found some awesome buttons, super-light and nicely clicky, but they are only THT
the buttons I found feel nicer than cherry :)
they have the exact same click as your mouse button does
I get a click-gasm each time I try them
And then this happens... https://www.adafruit.com/product/5100
Lol…
welp, guess I gotta add some more stuff to my macropad design to feel special about it...
Apparently USB VBUS does not allow more than 10 uF because of inrush... but I wonder if that still apllies today. Was checkign the ESP32 schematic and it uses 22 uF before the LDO for instance
That may well be in the territory of "some USB ports will allow it, others will shut down, and some might be damaged"
Continued thinking about this PCB before re-ordering it, the 2.4" LCD featherwing idea doesn't hold water, because it goes "under" the feather. so we can just forget about that little idea.
I guess I could flip the feather package and tell kicad it's on the bottom...
but then i'd have to re-select the signal pins and route the board again
no, that doesn't work because the OLED version would be on the bottom. So I would need to ... duplicate all the keyswitches, flipping one of each pair to the bottom side, so that the side you assemble depends on the display you want. not gonna do it.
I can think of ways to do it, but they're inelegant too
Oh boy, I love manually routing PCBs around giant physical cutouts.
Why did I do this to myself....
Does anyone use EasyEDA and know why their autorouter just ignores physical cutouts during routing...?
I have a poor opinion of autorouters and don't use them.
Good sir, I wish I were as smart or as experienced as you.
Can't comment on EasyEDA, but yeah, the couple of times I tried using Eagle autorouter the results were so ugly that I redid it by hand.
It is not actually that hard - unless you have hundreds of traces.
And nowadays 4-layer boards cost almost same as 2-layer, so an easy way out is switching to 4-layer which significantly simplifies routing
Not really smart or experienced as much as patient. I find routing to be kind of meditative and try to make the traces into attractive patterns.
I used auto router on an LED array which worked mostly okay, everything passed DRC but the power wasn’t connected on two rows so it didn’t work lol
I went back and ripped up a few traces and redid how ground was routed because for some reason it didn’t drop right down to the GND plane
Do you guys capture the complete schematic before starting with layout?
I'm just starting in PCB design and I've been doing both (schem capture and layouting) at the same time... not sure if its a good idea at all... I sometimes catch some errors while layouting, and also Its easier for me to order componentes in smaller groups....
no, and I hate tools that force you to do that
like KiCad
half of the time the connections are so trivial that I don't do a schematic at all
@silk lark KiCad doesn't force you to have complete schematics before you start layout. I also frequently do it in stages: add important components to schematics, then place them on PCB, then go back to schematics to add more components...
Moreover, in KiCad you can add any footprints to PCB and mark them as "not in schematics", and then it won't bother you with error messages or try to delete them when you update PCB from schematics
Yeah I'm designing a pcb for a button panel, and now that the macropad is less special, I pivoted to one with clear acrylic push panels for a display underneath. It's just a pain because I was laying out the microswitches before I finalized my choice in controller and display, and wanted to be a bit lazy in thr routing...
I was going to start with a 4x4 like jubeat's panel, and see if it were feasible to scale it down to more buttons, but in order to do so it seems I'm going to need more layers...
When I’m doing my own designs all the way through, I tend to have the PCB created early and dump in components on some regular cadence. It’s useful for doing quick placement (though often not full layout) for design sub-blocks to get a sense of the form of the board (size, block-level layout, etc)
Helps for things like “oh, this passive seems huge in context, I should put in a bit more work to find a smaller one that fits better.”
I’ll also drop in the biggest components first before I do the detailed design for their surrounding passives, also to get a sense of the board overall.
I typically won’t start layout (connecting copper) until the design is done, though.
so just positioning stuff...
I've been doing wiring... of small "modules" which then I would likely just move around while designing the different modules... but maybe delaying the wiring is not a bad idea
That’s somewhat personal preference. I’d prefer to hold off on the wiring just because it’s more efficient for me to sit down and crank out the final placement and wiring in continuous stretches of work, instead of context-switching constantly.
I'm just getting started into this so the experience of the experts is always valued
I have a 4 layer board and I have to run a few 1MHz traces under some SPI traces, is it a good idea to have a flood filled GND zone on the inner 2 layers to reduce any interference that may be caused by running these data lines under each other or am I shooting myself in the foot by increasing the resistance?
It's generally good practice to have at least one flood-filled grounding layer anyway. Most typically the other inner layer is used for power tracks, but if it's one solid power plane (or a couple big ones) there can be enough inter-plane coupling (between power and ground plane) that to high-speed signals the power plane also looks like a ground plane, which works out well. At that point you just need to be careful about not running signals over plane breaks if you can avoid it.
What if I have 2 flood filled layers?
and they're both GND?
I've got an issue with some boards I had made were 2 strings of dotstars just don't light up at all and one of them has much shorter traces than the other
the only thing I hadn't tested before was a GND plane separater to reduce noise between my key matrix and the SPI signals hitting the dotstars
If yo have two GND flood filled layers, then even better for this, but anywhere your signal runs from L1 to L4, you should have a ground via immediately adjacent.
since you're switching reference planes from L2 to L3. Those will be coupled together with the same inter-plane capacitance, but now since they're also the same potential, you have the ability to get even better direct connection with vias.
I only did a patch of flood above the cross over areas
I'm guessing that is where I went wrong
If you post your layout I can take a look, but generally you want signals running over continuous reference planes for the length of the signal
I'm annoyingly not at a machine I can do that from
if you've got KiCAD install my repo is here: https://github.com/Red-M/RedPycoKeeb
just make sure to clone with submodules active
otherwise I'll sadly be a few hours to a machine I can do that from
thanks for answering my questions as is though
I'm a bit green around the ears with this stuff and I've been glad its been working but this is really killing my mood to work on this project further because the LEDs don't light up
I can pull down the repo and take a look through to see if there's also some other problem.
in ~30 mins
nw! :)
and thanks!
soldering ~20 of the APA102C 2020 LEDs is painful enough to then not have them work
Okay that took a bunch longer than I thought (both the thing I needed to do first, then the loading up the files/directories) but taking a look now
So in general yes, a tiny track of GND running the entire strip length of the board for this many LEDs is definitely going to be a problem
for DC resistance if nothing else
I would make one whole inner layer GND, and the other whole inner layer MAIN_VBUS
and then for each LED, have a via for MAIN_VBUS, and a larger pour (since GND is partially how these LEDs sink heat) for GND with vias stitching to the internal ground layer
I'd also probably advise adding some more surface-mount caps from VBUS to GND spread around the board to act as local buffers
You don't necessarily need to stuff them immediately, but they could help bail you out if you're seeing issues when you try to PWM.
If these are 1MHz signals on the keys, I'm actually much less worried about them coupling to your SPI lines, and much more worried about them coupling to each other
due to the long parallel runs on the same layer
So you can do L2 as the solid ground pour (that takes care of the grounding for the SPI signalling), and then L3 as a solid VBUS pour, and then try to space out the L4 signals as much as you can. If your MCU supports it, also be prepared to lower the drive strength and slew rate of the GPIO pins driving the keypad signals (or add some series resistance at the GPIO outputs), either of these can slow down the edge rates on these lines, reducing the maximum frequency content on the wires and reducing capacitive coupling crosstalk between these adjacent signals.
It's now midnight for me and my normal work is also done, so I'm out, but if you've got more questions/need clarification, feel free to drop them here and me or someone can respond tomorrow.
big thanks, I was wondering how many things I've done wrong so good to know. I'll probably do another GND pour on the key layers so it breaks that up and dump more vias around for GND-GND connections
(I’m briefly back!) - in general, feel free to post designs like this before you ship them, there are generally folks around happy to take a look (like I just did), especially if it means others can learn too. If you did and I missed it, apologies.
nah I had boards in my hands for quite some time now
its been a learning experience and nothing else so I don't feel bad about it
at least I can know that I have some changes to do so that it will work better
and no this was my first question here and it was really good feedback so I understand better how to make boards now
I also have a little miniware DSO coming so I can learn a bit easier because I've been doing this all with a multimeter and it hasn't been fun
I can probably still use the matrix boards anyway (for smaller scale testing, I was hoping to do a full prototype test but yeah hardware bugs!) and make some minor improvements to the MCU boards as well so
DotStars not lighting up at all doesn't seem like an interference issue to me, but something more basic.
If they had occasional wrong colors or flickered or something, that could be interference, but not lighting at all? I'd look for power, signal level, phasing, and basic stuff like routing and software issues first.
@hallow pelican I'm not sure where you got the schematic/PCB for the AP2020s from, but ti's a good point and you may want to double-check the datasheets; there seems to be... a variety of datasheets available, even with what appear to be different footprints.
e.g. per the Adafruit datasheet, it looks like there aren't two big center contacts (6,8), and the GND in fact goes where you have pin 7.
(good call, @supple pollen). Red, you should at least be able to get one or two LEDs working by hacking some blue-wires in, though I wouldn't necessarily trust the entire strip with your current power/ground strategy.
Ahhh yis
I'm trying to make a new Arduino based device
But I haven't ever done PCB design before
I adapted someone else's PCB on EasyEDA but all the components weren't available and there were some that I couldn't find alternatives.
I'm trying to make an Arduino Nano with lots of ground connectors and A4/A5 to act as I2C brain to a ton of other Arduinos
Any suggestions as to where I should go from being stuck haha... I know nothing about PCB design
I don't know, maybe design something simpler first?
I'm basically just trying to copy the open source schematic then remove all the connections to the pins except A4/A5/GROUND for I2C communication (and add 6 female ports to each to allow for more Arduinos to be connected) and the extra 3 pins I need to bootload Arduino. I didn't think that would be that hard?
What if instead I just I made a PCB that can be soldered to an Arduino Nano
sounds easier
CM 2.0 was released a few days ago... any comments?
Looks like it's an updated port of Altium; I've not been super thrilled with Altium 20 (actually maybe introduced in 19)
But the library management, part search, and such that I have problems with is probably abated by it being cloud-based to begin with.
The importers are remarkably decent; they're how I often do reviews for folks here (esp. if they're using EAGLE)
I hope (but am not holding my breath) that they brought over some of the more advanced layout constraint features, but I suspect that that's still going to be used as a differentiator for circuitstudio and AD
It seems like circuitstudio is getting nuked in favor of circuitmaker pro
but you can upgrade from circuitstudio for free after. I'm not sure what other changes are coming under the hood with circuitmaker pro though.
Hopefully they maintain most of the same functionality
Would strongly advise taking advantage of the trial to figure out if it's for you.
I love this from their FAQ: "While there are no 'hard limits' per se, the software has been engineered to make it impractical for use with large designs. To this end, the PCB Editor will start to exhibit performance degradation when editing designs containing 5000 pads, becoming virtually unusable with designs containing 50,000 pads. Degradation itself takes the form of progressive slow-down in PCB editing functions (such as routing, placing components, polygon pours, etc.)."
That's just called.... being Altium.
Maybe they specifically added some delays based on # of components or something, but for a long time Altium was still 32 bit
So for huge designs it would slow down tremendously, or just crash altogether
Perhaps, I don’t imagine playing 5000 pads
Yeah, I do agree that if that's where the error happens, probably OK enough for their intended audience (as long as AD can handle it better!)
and in fairness once they upgraded to 64 bit it did get a good chunk better for huge designs.
I couldn’t imagine placing enough components to have 5000 pads haha
Most of my stuff is small designs, but maybe some day I’ll have a design that complex
When components have max 216 pads (say a big MCU) it's pretty hard.
I do want to make a SBC one of these days
Maybe that’ll be a lot of pads
Lol
Get one of those AllWinner A9 chips
If you're doing a full SBC with external DRAM, Circuitstudio is unlikely to be sufficient, unfortunately.
How does circuit studio compare to eagle or KiCad?
Does circuitstudio do matching length traces?
If I remember correctly, group-based length matching (so more than just "make a trace a fixed length") was one of the things they used to differentiate AD
but that was a while back when I was looking
So you can do length tuning, but you can't have rules-based length tuning (you have to do it manually viewing all the traces)
It's been a long time since I've driven either Eagle or KiCad in any sort of professional context, but I much prefer the Altium schematic capture and general interface.
For a long time, its 3D support was also unparalleled, even among tens-of-K $ tools
Just can’t justify $325/month
Or the add on packages you need to do simulations and testing
Yes, for a hobbyist or small business it is a lot
You could easily spend $10k a year on Altium and still upgrade it to spend more
Cadence is mind boggling price wise
I loved using it in school for Virtuoso VLSI tool
But $125k a seat is.. just too much for my heart
For now Magic VLSI
I have friends working for Cadence
If I wasn’t offering design work or PCB assembly I could probably qualify for a startup license for Eagle/Fusion360
Might try to get a startup license for cadence virtuoso one of these days
For my semiconductor company
Does F360 still have startup license?
Yes, but you must solely be designing your own physical products
and not doing any consulting, contracting, etc work
altium has a 50% discount for startups
For asm1117, tab is also output?
Yes, it appears to be; at least on one datasheet I found. On another datasheet it wasn't clear (it calls out tab VOUT for TO-252, but that has no pin 2).
The datasheet that LCSC links: https://datasheet.lcsc.com/lcsc/1811142212_Advanced-Monolithic-Systems-AMS1117-3-3_C6186.pdf, which is a tad underspecified.
The other datasheet I found that seems to specifically call it out even for the SOT-223 package: http://www.ams-semitech.com/attachments/File/AMS1117_20120314.pdf
Thanks a lot for the information! I saw the LCSC one, and cannot find the detail about it.
For az1117 tab is certainly the output, so it seems very likely that the same also works for other varities of 1117
tab and out are connected... I would say tab is mostly used for heat disipation
it would have worked better if grounded though
Here is something interesting, check page 21 https://www.ti.com/lit/ds/symlink/lm1117.pdf
What's the best tutorial to learn how to use AutoDesk EAGLE (pcb design) ?
best book
what parts of the book should I focus?
I think I would check if AutoDesk has any tutorials available...
They have, but I think it do not cover everything
or the most important parts for a beguinner.
you see, they do not tell what are the most important tools a beguinner should learn.
That’s because what they teach is the most important thing. The basics. Placing a part, routing a part, changing nets, grouping nets, things like that.
Just start from the first tutorial and move forward from there
I googled everything I couldn’t learn intuitively
The thing I think you’re getting hung up on is what’s most important. You simply can’t know for sure what’s most important until you start using a tool or tools
It varies widely based on your needs, goals, and in general what you’re interested in.
There isn’t one path to PCB design that meets everyone’s needs
I learned from a very nice set of tutorials on Sparkfun website.
They are somewhat dated, but the key functionality hasn't changed much
This is the first of them: https://learn.sparkfun.com/tutorials/using-eagle-schematic
How do I add non-existing components(and how can I find their files) on EAGLE?
There's a book called "The Eagle Companion" that covers a good bit.
There are a bunch of Eagle libraries out there, and some good Eagle tutorials on SparkFun.
Ok. Thank you everyone.
How do I know a PCBA ordering company supports a library?
PCBA only care about the CAM output which includes both gerbers and a list of components usually on a CSV file
So long as the footprint matches the actual component, it’s usually fine
This footprint is a code, what does it means? Is it a code from the company that made the component?
Not usually
You can make footprints for parts in Eagle and make your own libraries
What you send to the PCB fab house is gerbers - which is basically a collection of images, one per layer. So the Gerber contains the image of top copper layer, including all traces and all footprints. The fab house doesn't need any libraries - all it needs is to convert that image into actual copper, like a printer does.
If you're having them do assembly too, you also send along a BOM, which specifies the part types, positions, rotations, etc.
And that's where you commonly see issues, as there is no common standard what is the default orientation - your position file may say that component U1 need to be rotated from default by 90 degrees, but is default with pin 1 at top right or bottom left?
Thus, any PCBA order includes engineering review - where an actual human looks over what you sent them trying to make sure it is ok
To be precise, there is a standard, but many libraries do not follow it
I'm designing a featherwing and am confused for the choice in mounting holes. All the featherboards and featherwings that adafruit sell have 2 of the mounting holes with copper and 2 without, what is the reasoning for this?
I think there was simply no room for the copper ring for the two holes that are bare
Most ics have a pin 1 definition at least, so having a pin 1 indicator is usually enough to prevent your ics from being placed incorrectly.
My company's silkscreen usually tries to stick a small circle next to each ic to indicate a pin 1 goes here kinda thing.
Sure. I am just saying that this is why the PCBA requires engineering review - so that a human checks these things.
Basically instead of "pin 1 here" like traditional silkscreen part orientation, the BOMs specify orientation by angle, so a part could be installed at 0°, 90°, etc. The ambiguity is in what is designated as 0° of rotation, as well as what that angle is relative to.
The images for the different types of componets (ex: different types of a microcontroller) I can find them all in Google Images? Because I searched two types of Atmega328p and I did not find exact images, to find it I had to take out its name and only leave the last code about the type of microcontroller.
If you look up a datasheet for the 328p, you should be able to find all the different codes for the different packages it's available in. The original arduino uno uses a 28 pin dip package, but a lot of newer designs prefer the MLF/TQFP surface mount packages for layout optimization.
Are you trying to reverse engineer an arduino?
I did it in the past, but now I am using EAGLE, I used EasyEDA in the past. I am just exploring AutoDesk EAGLE. I did not paid attention to the different types of components in EasyEDA. And I never used pretty Surface Mount, really, only big components and hand-soldered.
Hello. I'm working on my first project using an Atmega32u4-au on a custom PCB instead of using a board like a Pro Micro. I've tried to learn as much as I could from the Atmega datasheet as well as looking through a number of other 32u4-au PCBs/Schematics. I grabbed most of the values for Caps and Resistors from other designs including some from Ada. I'm designing the PCB in Fusion 360 to be custom shaped to fit inside a 3D model I've also designed in Fusion.
I have an ISP header for programming, another header to communicate with another device via SPI. Then I added a few normal leds, a couple addressable leds, and some inputs to play around with and possibly add some extra functionality later.
Lastly there's a USB header to communicate with a host PC. The device will be powered completely by USB.
I guess I'm just looking for some feedback. One thing I'm a bit confused about is VCC vs UVCC. Or sometimes I see VCC and just +5V marked on some schematics. I can provide a PDF of the circuit if it helps anyone take a look
Any particular reason for not having a reset button on the reset line?
Not really. When it's finalized it'll be pretty inaccessible. I guess I kinda figured I could just short the broken out ISP header if I needed to?
I think you'd be fine tying your Vcc and +5V nets together. If not, you'd need to provide a 5V supply somehow (maybe a decoupling network).
@supple pollen Ok yeah I was just looking at this in the datasheet
@potent tree If you don't put a reset button on, you will probably regret it, IMHO.
An external reset button is generally fine. Less convenient than a built-in one, but workable.
I sometimes make a pcb jumper, so I can just touch it with something metal
Would the isp pin which connects directly to reset work for that?
Yes, just connect a switch or jumper between that pin and ground (which is also available on the ISP connector)
Is this a crime? Cuz it feels like it is
did it fall down the stairs?
with the silicon shortage, I'm sure you can somehow bodge it back into shape
I'll sell it on eBay as lightly used
might have some scratches
that needs to be flagged as NSFW
I still feel bad about the Feather RP2040 board I bought just so I could yoink the flash chip off (which subsequently vanished into the æther even though I tried to keep track of it) and connect wires to the pads so I could do some assorted testing with the RP2040 chip
that poor poor SAMD21
Anyone have thoughts on bulk decoupling with capacitors?
I've seem them referred to as "somewhat controversial" I guess because if they're not placed correctly they're not all that useful
they are only placed together on the schematic, physically they are near the devices they are decoupling for on the PCB
it's just because some stupid pcb design programs require you to have a schematic for everything
I don't think decoupling caps are controversial. They are a standard feature on virtually all designs involving MCUs. But yes, they need to be placed close to the actual device - again, nothing controversial about it
I thought decoupling caps were standard.
Only the ones used for high frequency shunting need to be close to the MCU. It doesn't matter if a 100uF electrolytic is close by.
Of course. I was talking more about 0.1 uF ones
If you're referring to the layout of that, I think separating it like that makes it harder to place when converting to pcb, and more confusing to debug later.
There isn't anything wrong with it, but I don't think it's best practice to place it that way unless they're arranged in such a way where you can still identify whose decouplers they are, and at first glance I can't tell myself.
Well, I mentioned electrolytics specifically as even high value ceramics today can have a fairly high self resonant frequency.
Actually I do see something unusual in the schematics posted by @potent tree : the decoupling caps there are 100pF. Haven't seen it before - the decoupling caps are usually 100 nF . Not sure if it is a typo or that particular design really needs 100pF
Going to need a lot of 100pFs to do much good!
depends on the frequency
I just saw an article on the LTC4150 Coulomb counter, claiming its on-chip capacitor is 100µF. Um, nope, it's 100pF.
a few orders of magnitude this or that way
What's a factor of 10⁶ among friends?
Now I wish there were an imperial unit for capacitance. 5200 blicks is a knorr, 12 knorrs is a gnurr, 60 gnurrs is a big knorr, 700 big knorrs is a flep, and there are 810 fleps in a biftog. Easy!
And of course a blick is the unit of capacitance exhibited by 1 foot square plates 1 inch apart, with whale oil dielectric at 68°F
A "wax blick" is an obsolete unit only used by guitar amplifier manufacturers on paper capacitors.
Now I have the sinking feeling that someone's going to go calculate all this and publish conversion tables. 😬
assuming whale oil and mineral oil have the same dielectric constant and I can math right…
( rounding, yay I should probably adjust the spreadsheet for more sig-figs adjusted ) sorry not sorry
Schtop it. First I was crying at the horror, now I'm just blubbering.
All that is missing is nautical knorr and long blick
The best I can get for the dielectric constant ε for whale oil is "about 2"
Yielding a 65pF blick
Oh dear, my sinking feeling has come true
Obviously, the (ir)rational thing to do is choose a value between them that makes a gnurr a standard 4.7µF
You have nerd-sniped yourselves.
and we want a dielectric constant of ~2.33 for 1 gnurr = 4.7uF
hey, it provided a suitable distraction from my dayjob >_> uh. theoretically.
while waiting for a thing to churn
You're not nerd-sniping, you're waiting for your code to compile.
so I have a project I want to be able to selectively connect a switch to, I'm unsure if I should go with jumper headers or just solder pads
(or something else idk)
I’m not sure what exactly you’re trying to do here: what do you mean by “selectively connect a switch to?” Do you mean sometimes have a mechanical switch installed and sometimes not?
nono, the switch is always there, I just want to selectively tell the board to listen to the switch
Not sure how much intelligence is on this board (eg if this is just an MCU input, you could change that behavior with just software)
And when it’s ignoring the switch, does it need to assume the switch is pressed, or released?
My normal go-to for something like this is either header for external jumper, or pads for a 0 ohm resistor.
(Since generally I’m getting boards assembled so the resistor becomes a convenient build-time configuration option).
I’m not a huge fan of just solder pads with bridged solder, but that’s mostly just personal preference, it’s an OK solution.
the switches are DIP switches, and I want to be able to configure it while I have the boards
Okay, so I’d just have a resistor in parallel across each dip switch
So you can leave the resistors unsoldered and use the switches to open/close the contacts to start with, then when you have a configuration you like, can de-solder the switches (or rather, build boards without them) and either stuff the resistors or not spending on what state you want the line to be in.
this is what i want to do (but with a lot of these in parallel) so I can use the pin as an input when it's disabled, and an output when it's enabled (with a diode so if I screw up and try using it as an input with the jumper active, it won't short something out)
none of these are the exact parts, this is just a mockup of what I'm actually using because what I'm doing is a little more compact
on a completely unrelated note: i want to add a display to my project, are OLEDs at all hand-solderable or would I have a bad time (I want the crispness of something similar to the OLED 128x64 FeatherWing)
Or on a more open question: Any thoughts on display? I need it to display text and some special characters, so I'd say probably at worst ASCII and at best Unicode, I'd hopefully prefer something fairly small in size, and at best be able to display any custom graphics
jlcpcb now allows you to order parts for PCBA from LCSC: https://support.jlcpcb.com/article/151-how-to-build-your-own-parts-library-in-jlcpcb
Have you ever encountered the situation that when you place an SMT order, the parts you want have not enough stock or no stock at all? To solve this issue, JLCP
Many displays (such as ordinary character LCD displays) allow you to set some user defined characters (generally about eight of them). While this isn't equivalent to full Unicode support, it's enough for a lot of use cases, where you just use the built-in character sets, and upload other glyphs as needed. Full Unicode support would require a significant amount of memory. Many displays offer 7-bit ASCII support plus another 7 bit set (such as katakana or line drawing characters).
Why is the ESP32 so slow at wireless communication? What fast alternatives are there if one needs to say get a few tens of WiFI mb/s ?
At that rate you'll fill up a microcontroller's whole memory in less than a second, so maybe you want more like a Raspberry Pi sort of system?
I've seen some IC's that use USB, but don't provide any info on how they use USB
What about streaming ? no need to keep stuff in memory
@frigid seal did you try checking inventory directly at microchip?
I bought some SAMD21 directly from them a couple of months ago when it was sold out at Digikey and Mouser. Cost a little more (in my case, it was shipped direct from Thailand) but this is a small price to pay.
Good point. They had a different package and I hadn't considered that.
what diodes should I use? I've... never put a diode in a project and I have no clue what to get
LadyAda has some useful advice on that: http://www.ladyada.net/wiki/partfinder/diodes
I'd prefer SMD ones, mostly cause it saves me having to put them on myself
The same diodes are available in SMD packages, you can get 1N4148 type signal diodes in glass SOD-80 cases or SOD523, SOD323, or common SOT23 packages.
There are a couple of surface mount diodes I see on several AdaFruit boards, so I figure they're logical choices.
the questions you need to ask:
do you need signal diode (i.e. low current) or a higher current rectifier diode?
is 0.7v voltage drop ok for you or do you need lower voltage drop (in wcich case you likely need a Schottky diode)?
Ooooh. My latest PCB order has shipped.
Soon I can use parts I have carefully hoarded right before they became impossible to buy.
Also, I just discovered this: https://twitter.com/CursedFootprint
I love when you run auto router to see if 100% of nets are connected to see that 98.1% are connected but doing rats nest reveals no air wires
I don’t run the auto router to route traces, just to see if all nets are connected
I can’t seem to find where the disconnect is
closed and reopened and that fixed the unconnected nets thing
PixelWing
RGB Matrix
Not that it was a critical feature, but ... I didn't even think about the path & clearance to the feather's battery connector
(would have been nice though)
that is a tight fit
So I guess you forgot to leave JST enough room?
@elder peak exactly
Not sure its the right place to ask. Considering I need 12v for a solenoid, 5v for a rgb led strip and 3.3v for the esp32. How should i manage the power ?
Getting the 12v to the pcb then using a LDO to 5v and then from this one to 3.3v ? Or 2 LDO from the 12v directly ?
How can i tranform arbitrary forms in circuitmaker into boardcutoffs?
You can probably do an LDO from 5V to 3.3V okay, since the voltage drop isn't huge and there's not a lot of power involved to run the ESP32. But from 12V to 5V, you likely would want a switching regulator, since it'll be a lot of power and heat dissipated in the LDO otherwise, as the LED strip will draw a decent amount of current.
Could you confirm that this https://datasheet.lcsc.com/lcsc/1808011441_Silergy-Corp-SY8368QNC_C125897.pdf could work please ? it needs to power 100 ws2812b leds and a ldo to 3.3v for an ESP32 and some small hardware like an OLED screen
Yep, at a quick glance that seems quite suitable... high current rating and good efficiency.
just note that it is a 3x3 mm QFN package with 0.45 mm pitch pads on one side and some bottom pads, so it requires good soldering skills
looks cool
Ive been playing with CM2.0 and it appears to have some nasty bugs
(or maybe I'm not using it properly)
I'm having trouble with GND vias not connecting to GND plane
what EDA is that skerr? Fusion360?
When you say "not connecting" does it just look not connected or do you still have ratsnest? If you're doing plane layers, have you double-checked that the layer is actually set to GND net?
I'm downloading a copy now if you're okay to make your design public so I can take a look.
Okay, I just did a basic test (a resistor with both sides wired to GND) and it seemed to work for me.
Eagle CAD
ok
Thanks harry...
this is super odd... somtimes it just works...
like... when it doesnt i see the clearance around the vias
and ratnets and all that
Im planning on getting it assembled by JLCPCB if possible
this time (when i loaded it again) i saw no clearance, but still saw ratsnets... i selected the gnd plane and then reassigned gnd to the plane.. and the ratnets disappeared
If it failes again I'll show you... there is something that screws it up.. not sure what it is
@heavy jasper Still thanks a lot for the offered help
I have no experience with altium, but apparently CM is relatively similar. One think I've not been able to figure out how to do properly is to cutoff arbitrary surfaces of the PCB... The workaround that I found was to generate produce the boarder using the arcs/circles/line drawing tool, then convert the closed surface into a "polygon pour", then check the properties of the pour and save the coordinates to a CSV. Then I create a simple (likely square) cutoff and import the CVS coordinates into it.
When you say "cut off" do you mean for defining board outline?
or doing internal cutouts?
If you're willing to make it public, you can just send me a link to the public view.
For defining the board outline, under home toolbar, then board shape, you can do "define from selected objects"
ok letme make it public
so you can draw whatever you want on a mechanical layer (they actually pre-stage an "Outline" layer) and then select all of those and click the "define board shape from selected object" button and it should do it.
yeah, for the outter outline its simple... but i want to define a cutoff in the same way...
So next to that there's a "board cutout" option, which unfortunately doesn't have a similar "define from selected objects" but does let you draw to an extent like you're drawing a polygon (where shift-space at least lets you change the style of chamfered vs. rounded vs. straight)
in big AD, at least, there's also a "create board cutout from selected objects" button, not sure if that's available in circuitmaker.
ohh... so they jsut removed that option
I suppose the brute technique that I tried might be the only way
hmmm cant find how to publish this :S
mayeb its throught the aliutm 365 web
ok it can be done from the browser itself
i presss "publish" bot the options doesnt dissapear...
hmmm getting nasty 404s... what a mess.. these guys are full of bugs
Circuitmaker used to be its own thing with a website that was more based on discoverability and such for opened projects.
It seems like they tried to merge that with their more corporate offerings that are designed around private cloud type operation.
It does not appear to have gone swimmingly.
If I share directly this, does it work: https://365.altium.com/files/C5727F29-C92D-11EB-A2F6-0A0ABF5AFC1B
it did
but i once tried that and it didnt... asked for login
maybe your project is open?
Yeah, I suspect maybe on the backend it's still some flag set since this was created in CM1
If you go under "share" do you see an "everyone in the team" option?
(pls no dox)
no prob
I'm not the hardest person in the world to find but don't want to make it quite that easy
I would think its hard because the name might be quite common
A major blessing.
In any case, do you have that option on sharing?
that may be the grandfathered thing from CM1
letme see i jsut messed up bad when editing profile
where "the team" is "circuitmaker users"
and now the webpage kinda broke
This is from within CM itself, for what it's worth
yes, though there still may be a "circuitmaker users" 365 instance, also for things like libraries
google login gives me a pretty ugly error in circuitmakers page
letme see how to fix that
atlium kinda sucks why is it making full names public
I suspect primarily due to how it's adapted from their corporate tools
(on an intranet, it doesn't much matter)
Not an excuse for it, more so annoying/sad that they didn't re-think it for more public-facing stuff.
yeah
Just found that the BOM is giving bad info because I loaded an alternative with identical footprint
Did you synchronize between sch/pcb?
(and did you load the alt from SCH side or PCB side?)
apparently the BOM is not built using the "Description"
yeah I've been synching
I loaded the alt from SCH
At least in big AD, you can choose what fields are output in the BOM, but generally Altium is unlike e.g. EAGLE in that the components are meant to be defined in whole in the libraries
As I understand the synch can be done in both directions
for isntance red LED
description doesnt match
How did you choose this part from the library to add? If you want to use the Vishay part, I would advise adding it to their libraries if it does not already exist.
Though it seems to if I search: VLMS1300-GS08 in the libraries view
its not vishay
I just placed a part from that octopart lib
because it had a nice "red" diode symbol and same 0402 footprint
so then I just changed its parameters.
Ah, so that is not the Altium way, making it different from e.g. EAGLE.
In Altium they always want the back-end to be a created library part, and anything else is off-nominal. e.g. it may well try to pull the parameters for the cloud for an existing part, because it gives you updated pricing, if they've tweaked the format of the MPN it could update, etc.
To be honest I havent looked at how the lib is managed in CM... in KiCad the symbol, the footprint, and the 3D model are not very connected to each other. And I usually whenever possible used any footprint that matches and then adapt the rest... but that might not be the best approach here
If you have a different LED you want to use, you can do "create custom part" and then import the actual schematics and footprints from another part you like
and add custom parameters
ok then I should do that instead I suppose
Then for formatting your BOM, under "generate output files" there is a "configure" button for each of the design outputs, and from there you can configure the BOM to decide what is and isn't visible.
so e.g. if you're using JLCPCB and they have their own part numbering scheme, you can make "JLCPCB Part Number" a parameter you add to all of your newly created components, then make that parameter a visible column on your BOM
yeah I've added this JLCPCB parameter to each component
but in the schematic... I suppose that what you mean is that i could store it in the net lib?
if you right-click there and hit "select columns" you can choose which ones are visible
You would effectively be adding a part to the online library, yes.
They might still have the option for some local (to you, not as in stored on your computer) libraries as well, but I"m not sure.
nice
I was editing the codes by editing properties... and was kinda missing the table...
I just began playing with this like a week ago, just to see how it is... so there is still a lot to learn...
And it's... a bit quirky.
I like it, I assume AD is simiar but with much more options.... at least except because of the bugs, this is light years ahead of KiCad
AD has more options for file-based storage, and has many, many, many more options. Not all of them good.
Only think I can think that KiCad can do that this can't (without taking into account the "removed" AD features) is that KiCad can raytrace
and that is the classic way with Altium, "it's great, but holy smokes the bugs make it not feel that way"
Sadly AD is completely out of my reach, so this is probably the best tool I can use at this point
Yeah, not as much capability for pretty outputs, but the normal real-time 3D viewer with all the steps loaded is more than good enough for a great many things
And I think you can export the final step file as well, so you could load it into an independent tool, texture everything, and render it there if you really needed super-pretty outputs.
That would be nice
Oh, also, a quick trick, under the "project options" tab
then multi-channel, if you set the designator format to what you see here, you'll get somewhat neater/shorter names across multiple channels.
(U1A, U1B, etc, instead of U1_Drv1, U1_Drv2, etc)
yeah thats one thing I found kind annoying
but could not figure out how to do... I found that options but didnt try different naming formats
is it possible to do something like the classical sequence?
This is the first time I'm playing with hierarchy, not even sure if I'm using them properly, just figured out that in some way they capture the block diagram structure better, and reduce the amount of repetitive patterns
Yes, this was historically one of the nice things that Altium did that other tools were slow to adopt.
Re: completely flat numbering scheme, I don't think that's possible in Circuitmaker. AD has this option: https://www.altium.com/documentation/altium-designer/workspacemanager-dlg-annotationform-2board-level-annotate-ad?version=18.1 but I don't see it in CM.
can I copy/paste a complete PCB? I couldnt find a copy/paste option in the project tree thing
What are you trying to do? You can clone a whole project, I suspect.
flat numbering might not be a great idea though.. unless the numbering can be translated back to the schematic
I also like the U1A type strategy since it makes it easy to track when you're doing things like manual soldering or debugging.
I'm trying to design a display... I need at least PCBs, LED PCB, lightguide PCB, and stencil PCB
I don't see an immedate "save-as" or copy to another project, I'd probably just clone the whole design then rip out what you don't need.
ok... I suppose thats another corner that was cutoff from AD
Since this doesn't have the multi-board design functionality that AD has (and I haven't used that functionality to begin with, to be honest), so you need separate projects to have things like separate BOMs
So using that enumeration the component alpha is an alpha enumeration from the instances?
what if you have 3 layers of hierarchy?
I honestly forget, though I've done it in AD.
Oh: I think it just keeps incrementing the alphanumeric
whats your main EDA tool?
AD is what I've driven the most
I used EAGLE when I was first starting since it was the only real free game in town
and these days use mostly AD, and occasionally a few Cadence products when I'm working with layout engineers on more complex designs (Cadence layout tools are still the best for high-complexity digital).
I suppose you have a couple of years of expereince with these tools
I've been using AD since I started at uni 9 years ago, and EAGLE for ~4 years as a hobbyist before that.
I assume you work at layouting?
I actually don't do a ton of board layout myself anymore, but board design is my main job, yes.
Thats quite a bit of time... I just have like 2 months of EDA experience XD
What would be "board design" ? Circuit?
I think we may just be mixing terminology:
I've had a great time (except when tool act dumb) doing this... Iayouting feels like solving puzzles
for me "board design" encapsulates the actual logical design, then schematic capture (ideas into logical connections), and then layout (turning logical connections into copper tracks on PCB)
so logic design would be like figuring out what components to use?
Yeah, project definition, component selection, circuit design, etc.
It's within my capability to (albeit working with teams of folks to support, esp. in the requirements side since I don't design boards in a vacuum where only my boards matter), but I don't do a ton of layout anymore, I work with folks who are way more experienced and faster than me at that.
So what exactly do you focus on mostly? management of the team?
Project management and slideware is a big part, yes. I also still draw my own schematics most of the time.
first time I read the term "slideware" is like giving speeches using powerpoint?
It's perhaps an in-team joke, but in short it's high-level architectural design, often done with powerpoint drawings.
I see
(vs. hardware, software, or gateware (e.g. FPGAs))
Are you british?
No, US
Ohh... dunno why I though you were from the UK
isnt your name like more british than american?
Probably that I've been online during some obscene hours that make a lot more sense if I was in the UK. 😛
Correct.
So is board design well payed?
I want at some point to be able to design FPGA boards, but its going to take a while before I attempt that I suppose... I like Xilinx's 7th gen, but Lattice QFN might be easier to implement
It's a range and some areas appreciate it more than others. I'm pretty lucky and have a good job that I enjoy doing and keeps me comfortable.
Not sure how feasible it is to design a Xilinx 7th gen using just 4 layers and the fab limitations of inexpensive board makers like JLCPCB
If you stick to the micrcontroller-class power/package devices (a few hundred mW to maybe a watt), you're probably OK.
do you work at a big or small company?
ok in what sense? you mean that they will be within the capabilities of inexpensive manufacturers?
More so the layer count
the higher-end device footprints get really dense really quickly
and high speed/high power means substantial power delivery requirements that become a lot more complicated to do on a small number of layers.
I think there is a guy on eevblog that implemented a 7th series Xilinx using 4 layers
I believe he also added DDR
and an Analaog RF transceiver
PCBs get expensive too quick by adding layers or more tight requirements, so at this moment I can just afford JLCPCB 😆
I think by the time you're putting down an FPGA, it's probably worth the money to upgrade to at least a place that makes it easier for you to use your own components.
There are plenty of options on the spectrum of PCB assembly houses
and there's plenty that can be done on 4 layers.
Yeah, well I can always try to solder BGA 😆
Uprange a bit are places like these folks: https://www.pcbgogo.com/
I think PCBWay is kinda okish too
I'm not entirely convince these aren't just different front-ends for the same factories.
I was thinking more pcbway vs pcbgogo
ohhh
no clue there
the pricing is always strange... sometimes 5 or 10 pcs cost the same... btu then you go up for 15 or 20 and price has a huge increment
I think that's going over the panelization size.
the you have some like JLCPCB charing different based on the soldermask
or over some limit that lets them easily panelize your designs with someone else's and forces them to do some special setup for you
it's mostly a game of amortizing the NRE costs on their side
yeah... I suppose in the end how much they make per board depends quite a bit on the type of board
with some board they probably have just a marginal gain
Is there something obvious that i dont see that could explain the difference in price?
https://www.mouser.fr/ProductDetail/FTDI/FT2232HL-REEL?qs=D1%2FPMqvA100v7FHcEx164g==
https://lcsc.com/product-detail/USB-ICs_FTDI-FT2232HL-REEL_C27882.html
LCSC has stock and Mouser doesn't, and it's probably a high-demand part.
oh, thanks 🙂
and with ftdi, you never know when they will brick it
On the contrary, this seems like the only way to know for sure they won't (and that being their intention with the driver updates, not that I agree with their methods): buying a known-good part through an authorized distribution channel. That said I have no idea if LCSC is that.
you never know when their leg slips and their malware targets the wrong thing
personally I would rather have no landmines in my garden, even if those landmines are "guaranteed" to only explode when a bad person steps on them
I think that's a pretty hyperbolic and inflammatory analogy, but I can appreciate where you're coming from with it.
And for folks who still want decent compatibility, it is worth noting that other options do exist, especially if you're just looking for USB-Serial and not trying to do any MPSSE based stuff (e.g. JTAG), and even then they still exist but just aren't necessarily as commonly supported.
even arduino uno simply added another mcu on their board
micro:bit does the same thing
Unless told otherwise, I suspect that's more to do with getting a fantastic deal from Atmel
On top of the other issues, FTDI chips aren't exactly cheap
they had a monopoly for a long time, being the only chip enabled by default in Windows, that's not good for prices
I thought it was linux even more so than windows (where I still had to download/install drivers decently often), but yes. I'm not sure what the process to end up in universal plug and play / auto-installed drivers is, it seems like a few others have followed along and are there now as well (e.g. Prolific). Also they had a bit of a monopoly of convenience in that Arduino designed them in and then everyone else did too because they were cloning Arduino.
Linux doesn't care, anything that introduces itself as a CDC device appears as one
the Windows "driver" was actually a few lines of a text file
LCSC does seem reliable - I haven't heard any stories of fake or substandard parts from them, and they clearly try very hard to be the "Digikey of China" . They are part of the same company as JLCPCB and EasyEDA
However, their parametrric search at the moment sucks compared to digikey or mouser
Okay, so I want to make a small breakout for a motor controller just to try out… on the ST L6226 it shows on the application schematic a signal ground and power ground tethered at a specific point. Are they intending that it could be just all sunk to the same ground or do they want separate ground planes tied together with a 0ohm resistor/small value capacitor
@distant ravenwhy this particular chip?
Not that there is anything wrong with it (other than it requires at least 8V), just curious
I liked the package
Had decent input voltage range and current output configurations
Plus it’s in stock
😅
yes, my recent favorite TB67H451FNG is not in stock anywhere
but still, at least 8V is somewhat limiting
but to answer your question, I have seen suggestions of having separate nets for power ground and signal ground meeting at exactly one point; as far as I understand, this is to minimize noise. I do not think it is all that crucial in most applications, but others might know more
8V would be applicable for using Some step controllers, more beefy steppers is what I imagine
It might be a bad choice for a breakout but I’m newer to working with motor controllers
whats the most standard way to indicate unambigously the orientation of a small diode that uses the least amount of PCB
I'm trying to decide between a straight line, a "U" and a triangle between pads.
I use a line on the blocking side of the diode
@heavy jasper Thanks for the help a week or two back, I've managed to figure out that the traces were too thin and long for the dotstars and that the level translator was also having issues
Does that land pattern make any sense? Why are they suggesting to make the pads thesame width than the component?
Its a 0603 LED. I designed tha land pattern as suggested but then I began to wander if it actually was a good idea
It looks like the part doesn't have any metal around the sides, only around the ends, so there's no point in having a solder fillet from an extra-wide pad.
Having it the same width will probably help with centering during reflow.
Thats an interesting point, but I was thinking that ust because of telerances it would make more sense to make pads bigger
Self alignment of solder paste tends to snap a part onto the pads. So the only problem is placement accuracy. I've seen machine placed parts that were only partially aligned be fine after the oven.
heck, I (badly) hand-placed over a thousand 0805 LEDs, and I think I had 10?? that didn't align correctly (and that was when I was using hot-air, not an oven)
I'm not sure if this is the right channel but I've seen a youtube video by adafruit recently, where they have made a teardown of the elgato streamdeck. Inside there is some flex pcb which acts as a foil keyboard. Does anybody know how this works? Are the contacts inside of the flex pcb? (It is not a touch screen)
Yes, those gold squares are contacts for the keys. I can't get a high enough resolution to confirm the details of the trace layout, but I believe it's a two layer matrix with rows on one side and columns on another, with an air gap supported by the transparent material around it.
That's what I also expect. I am just wondering how the layers are seperated when the button is released
I want to assume it's just a natural air gap formed by the thickness difference of the material around it.
It's possible there's a solid substrate like that of an fsr, but I'd be curious to see that work in a matrix keyboard...
unfortunately I don't own a stream deck and it's a bit too expensive to waste one to find that out 😄 But I think it's not doable by an hobbyist to build this in an affordable manner anyway
Au contraire, this is actually pretty doable with the right tools. You won't get the same tactile feel of the foil, but you can totally replicate a similar type of keyswitch with standard pcbs and 3d-printed parts. I actually already have a design for it, but I'm lacking a good number of parts to actually prototype it at the moment.
You could definitely rearrange the contact traces to have same-side contact, then have a clear plexiglass square with a thin conductive edge on one side. The difficult part of this would be suspending the plexiglas buttons, but a bit of 3d-printed engineering can rectify that with relative ease. I took a slightly more expensive approach and replaced the conductive traces on my pcb design with microswitches for a more tactile feel, but as I haven't assembled a proof-of-concept yet, I can't say how effective my solution is yet, either.
A thin sheet of plastic should serve as a spacer, you could cut out the openings with scissors, a knife, or a laser.
Does that work for edge contact on two hard surfaces? I thought you needed a surface with a bit of flex for that to work...
I envision a flexible sheet carrying the top contacts sitting on top of the spacer sheet with the holes in it.
I've never actually quoted flex-PCBs in prototype quantities, how are the prices compared to standard FR4?
1 hard PCB, 1 flex PCB, couple of acrylic squares, and a screen? That's pretty close to the cost of a streamdeck if you're looking to only make one piece.
Oh, wait, flexible sheet, not PCB.
Well I'm dumb. Yeah, another sheet of plastic with some conductive tape will definitely do the trick
I should think more before I type haha
Time to google for plastic squares online...
oshpark offers them you could check a quote on the website
shipping time of oshpark is horrible but quality is awsome
flex PCB gets expensive pretty fast when it gets bigger
for bigger flex PCBs I think those FPC pool ordering sites are better: https://www.goldphoenixpcb.com/fpc-pool.html
PCB Pool is a community printed circuit board (PCB) order provided by Gold Phoenix PCB for hobbies who only need a few boards orders for PCB Prototyping
How do I generate now the Guerber, Bill Of Materials and the position file in EAGLE?
You're looking for the "CAM processor" command.
Do I have to install it, or it already have on EAGLE?
It's an Eagle menu / toolbar command.
yeah you can't go from a schematic to gerbers, you need to switch to PCB and then place/route that
Where is the Bill of Materials? That file called drill_1_16 is the file that contains the positions of the components, correct? When I order PCBA in JLCPCB I have to paste all these files ?
it looks like the bill of materials and the position file in the same documment, is this correct?
I am efforting to be a genius, but I can't find information about detailed bill of materials or if I have to send all those files above.
The BOM is a little different than the centroid file, since it includes more detailed part numbers. See https://support.jlcpcb.com/article/132-how-to-generate-bom-and-cpl-from-eagle-cad-automatically
In this tutorial, we will show you the necessary steps to generate BOM (Bill of Materials) and CPL (Component Placement List, also known as a Centroid file, Pic
Why do they use differential balanced pairs when measuring currents with a shunt? I would expect there to be very little noise susceptibility because of the low impedance between tracks.
I can not find this BOM in EAGLE's editor.
I find File, Export, but not BOM.
@thick willow We tend to end up routing as diff pairs out of habit and because it's an easy thing to do in some tools, but in this case the big point that the layout guideline was trying to make was about the end-connection points, not the routing after that. The "bad" slide has a bunch of area for extra load-current voltage drop (the thermal cutouts and plane) between the actual precision sense element and where you're reading the voltage, which means that you're seeing the effects of that not-as-well-controlled resistance in your sense readings. On the one on the right, the lines go pretty much directly to the resistor, except for the actual solder itself. Some sense resistors even have separate sense lines that come down that you wire to to take your measurements:
The other reason we do diff pairs is because while the impedance between them is quite low at the sense resistor side, the impedance at the ADC end tends to be much higher, so you if you have a large loop area, nearby magnetic fields (say, the magnetic fields induced by the load current you have running through, esp. if you have inductors/transformers) can still induce voltage at the ADC end.
That makes sense, I suppose to actually magnetically couple the signal would have to be really fast or otherwise it wouldn't generate much voltage in such low inductance
Input current to a buck regulator (or output current in a boost), for instance, can do it.
capacitive coupling as well, where putting them close together means that it becomes common-mode noise, which can be rejected.
And sometimes just the amplitude of the current can do it (think kA in electric vehicle inverters)
Though one doesn't typically board-mount shunt resistors in such a context.
Small doubt, I am making a board with a led matrix on one side and need to have a microcontroller on the other side (space constraints). I will be forced to run signal traces in inner layers. Is it ok? Thinking of doing it on a 4 layer board
signal or power to the leds?
what's the frequency at which you drive those leds?
what is the frequency of the other signals?
I did this with 2 layers
With some fine tuning 2 layers would probably be fine
I am only a beginner so the fine tuning may be a bit difficult but then never done a 4 layer board as well. So will try with 2 layers first I guess
Just come back here if you have questions or want someone to check out your design 🙂
Thanks👍
As a potential counterpoint: 4 layer boards have gotten quite cheap and fast, and it’s really nice just having ground (and potentially supply voltage on the other inner layer) wherever you drop a via thanks to ground/power planes. That makes routing all the signals on the outer layers much easier, and gives you (IMO) a significantly higher chance of first-pass success. Doing this in 2 layers is definitely possible, but especially when you’re space constrained it’s really easy to accidentally end up with your main ground path being narrow and serpentine thanks to having to work around signal traces.
Speaking of, if you are laying out a split rail +v/gnd/-v 4 layer board, what's the usual stackup?
For +V/GND, usually the ground and power planes sit in the middle, with the two signal layers outside. In your case, I would imagine a +V/-V layer and a ground layer sandwiched between two signal layers?
anyone know how much power you can put over adafruit pogo pins (like #2429)? and, on a related subject, how much power you can put over a given trace on a PCB? i.e., for 3d printing - some stuff needs 2A+ or more, and I know I've burned out traces on cheapo breakout boards with that much.
This table looks pretty good https://www.pcbcart.com/article/content/copper-trace-and-capacity-relationship.html
Relationship between PCB Copper Foil Cross-Sectional Area and Maximum Current Carrying Capacity and Temperature Rise. Also introduce elements Determining Maximum Current Carrying Capacity.
I've never made a PCB before. When people talk about the difficulty of hand soldering small components, are they talking about using an iron? Is it still difficult to hand solder these components if one has a hot air station?
Depends what you consider difficult if you're aware of the size and how fiddly they are that's where most of the difficulty comes from
Depends on how steady your hands are. For me,1206 are no problem at all. 0805 and sot-23 are easy enough. 0603 and SOP packages with 0.65mm pitch take some experience, and you might want to get a stencil - that makes things easier. 0.5mm pitch parts such as TQFP are the limit of my abilities...
But then, my hands have always been rather unsteady, and age doesn't help. Other people have no issues hand-soldering 0402
My hands aren't very steady, I guess I'm curious if upgrading equipment would enable me to get around that, or if I'm best off just paying for assembly if I want to use small parts
honestly if you use a stencil+paste and hot air and get them close enough
0805 will at least usually self align
the smaller ones will probably too
( a reasonable quality vacuum pick-up pen can't hurt either -- mine is the kind with an actual pump and a tiny hole on the handle that you block/unblock with a finger to pick/drop components )
if you are looking to buy some equipment, I'd suggest a hot plate/electric skillet - quite inexpensive and works much better than hot air reflow as there is no danger of blowing away small components
@polar lantern the advantage of hot air is mostly that you can desolder and re-do the parts if anything goes wrong
If you get a stencil, it's only a matter of placing them correctly and the hot air soldering does the rest (even if the components are not really aligned, the surface tension of the solder will align them)
and get yourself a pair of good, high quality tweezers (and maybe a magnifying lamp if you plan on working with SMD parts in the future)
this may be a shot in the dark. does anyone have any experience messing with samd21 bootloaders and a neopixel for the BOARD_RGBLED_CLOCK_PIN?
I've found this post that describes my issue exactly: https://www.gitmemory.com/issue/adafruit/uf2-samdx1/47/483883253
The problem I'm trying to resolve - if my samd21 board running from a coincell reaches a low voltage it won't boot completely but the rgb light will stay on but is white. it appears the issue is related to the clock speeds at this stage of boot but I'm wondering if there's any way to hack my way around this to at least change the color in this situation?
You might need to recompute the click speed to adapt for the different CPU clock
I did find this in the main.c
#if defined(BOARD_RGBLED_CLOCK_PIN)
// This won't work for neopixel, because we're running at 1MHz or thereabouts...
:\
instead of trying to just change the color when this board doesnt boot I should figure out why its not booting. I thought it was super low voltage but no, its currently at 2.54 volts which should be plenty to boot the samd21 yes?
boots and runs the code just fine when the battery is fresh. ~3.3v but after about 10 minutes it just sits with white led