#help-with-hw-design
1 messages · Page 1 of 1 (latest)
For usb2, tie the corresponding data pins together to your D+/D-. This gives your usb c port its reversibility.
Each CC line should be pulled to ground with a 5.1k resistor.
Thanks, what about the TX,RX,CC and SBUS pins ? Can I leave them unconnected ?
Yeah, you only need those for usb3.
And VBUS is your 5v source, so whatever you need for that coming in.
so what does USB_ID do ? I've seen USB2.0 designs that use USB_ID
Are you planning to use any usb host functionality?
No, dont think so
Its to program the microcontroller
If not, don’t worry about it. USB micro uses that for OTG, which you won’t be needing.
In your knowledge is it possible to program STM32H7 with a usb 3.0 connection ? Till now all the designs that I've come across use MicroUSB even though H7 supports usb 3.0. Is there a reason for this ?
Cost haha
Usb2.0is a much easier and cheaper interface to design for
I’ve never seen anyone try to program with usb 3, simply because there really isn’t a need for that speed
using 2 or 4 data lanes only serves to increase complexity without any much benefit
Though I personally also have very little direct experience with stm mcus, to be fair.
This board that I'm designing is actually a Flight Controller. I'm planning on using it for HITL simulation as well.
Not familiar with either of those applications, but just in case one of us is misunderstanding something, programming is the process of flashing code onto a chip, not sending commands in real time.
usually in a type C design are the two different TX and RX pins connected to the same UART bus or different ones ?
its the only port that I'm planning to have on the FC. It'll be used for both Flashing the code and also for the serial output. just like any arduino would
Not familiar with uart over usb3, but the two lanes are typically connected to independent pairs?
I wouldn’t know the proper SBU configuration to make that work, though.
I don't think those are UART signals at all, but high-speed USB lanes.
yes, they are USB lanes. I just wanted to know about the RX and TX pins in general.
If I'm going to use USB C might as well take full advantage of it.
Unless I'm misunderstanding something here, you're conflating things. UART has actually TX/RX pairs. USB doesn't, it has a differential pair. There's no dedicated transmit or receive lines at all.
The extra super-speed USB lines are additional TX+/TX- and RX+/RX- differential pairs on top of the basic D+/D-.
i think I din't make myself clear. I'm trying to use this USB to program a H7 and also use it as a serial output for data. just like any arduino with USB. I initially only planned on using the USB 2.0 features by just connecting the differential pairs to the microcontroller. Now I'm trying to make use of all the features that USB C has to offer(assuming that H7 supports all the features). That's the reason for my question regarding UART. I'm aware that USB differential pairs and UART pairs are not the same.
👍 I came into this conversation late, seems I misunderstood what was going on
I need to switch 24V, 50mA into 3 different high side lines with a common ground using 3.3V MCU I/O. Any recommendations? Optocouplers? High side mosfets? looking for low $, low part count
Is it likely that a comparator would be able to detect a very sharp voltage pulse if it was sufficiently high enough above the threshold?
The pulse would be more like a spike, very steep edge
The datasheet will usually specify that sort of thing, with like a minimum amount of time for the voltage to be above the threshold.
One that I’m looking at says 16ns logic to data time
I’d have to measure the pulse width to see if it’s even that wide
I might just remove the input stage that converts rising/falling edges to pulses
Make sure you don’t compare WS2812 and SK6812 footprint
seems like 欧思 made an oopsie
does the ws2812 have a similar physical design?
Sk6812 footprint rotate the ws2812 footprint by 90°
yea but this isn't a ws2812, right? (im not too sure sorry)
I believe clockwise. Very very similar but deceptive
but its from the same datasheet
and the pinouts are clearly wrong
how can the chamfered lead by both gnd and dout
unless im missing something really basic
Probably out the chamfer on the wrong pi
what does that mean haha sorry
Either way, general pinout is the same. Go by the notch on the package, not the actual footprint you solder to
Notch always points to ground for sk6812
i understand that, but the datasheet is wrong then
shouldn't somebody change it?
@distant raven not changing it would only lead to more people being confused
Adafruit doesn’t make the data sheet
And usually most people look for index pin marking on the physical package
im just making suggestions
the "most people" you refer to are people who know the basic design principles of the sk6812, what about people who don't know?
I don’t necessarily think it’s that much of an issue,
alright then, ig more people will just figure it out the hard way 😮💨
i mean idrc, i just don't wish other people to run into the same issue i did
and be confused asf
I mean, it’s kind of clear from the data sheet that there is a notch on the package. Land pattern is kind of subjective as many people don’t follow the suggestions to a T
thank you for the info skerr!
@unreal flax you mentioned you worked on VLC systems before, yes?
More long range if I recall right
Yep, we did 100km links between high-altitude balloons.
Okay, so just on a general get your thoughts.. right now I’m trying to make a Python test library to read a SPI ADC but I don’t think it’s fast enough (Python reading the adc) to extract the datastream I’m transmitting. I’m considering a comparator with a narrow propogation delay to just bypass using an ADC. Does this seem like a reasonable idea?
I know I’d ultimately be limited speed wise by how fast the comparator latches, and how quickly it sets data to the value of the latch. And the overall delay of the comparator.
But I’m not really concerned with super fast speeds
Just 10-100kbps
Maybe 1Mbps at the most
Yes, that sounds quite reasonable. Many optical receivers are basically an AC-coupled photodiode (to remove the background light) with an op-amp acting as a comparator to convert the signal into a binary stream.
You do need to design your bit encoding to avoid long strings of 0's or 1's, though.
Right, I figured that would be the case.
I’m just a little lost of using an ADC to read the bitstream when the filtered Photodiode output is sufficiently square
Yep, almost all those ADC bits won't be useful, as you'll just end up thresholding the signal in software.
If I simply pass it into a comparator I can more quickly read without needing any significant conversion
The comparator could compare smaller voltage levels and translate those into system level logic
Thanks for you help, I needed the sanity check.
No problem, any time!
As a first pass you ought to be able to more or less just feed the signal right into a UART pin, to get the free oversampling and bit synchronization.
That’s a great idea
I’ll give that a shot. The transmitter side is easy, the receiver has been illusive for me
But I think I’ve got some good ideas now
And this will make it easier too when I move all this to an fpga
Basically just need to proof of concept this on a microcontroller first
Hi so I tried to make a custom RP2040 board and it appears to power up ok, and it looks like it does try to talk to the flash chip, but despite grounding the flash select on power, it still never shows up as a drive when plugged into the computer. Not really sure what to investigate next.
Do you have an oscilloscope?
Usually the crystal controls whether USB gets set up
I do, this is the project that made me finally get one since I couldn't figure out what was wrong
If you can probe the crystal to see if it’s generating a 12MHz clock
I did worry about that since I deviated from what the HW doc suggested for the crystal, probed it and saw much wavy, didn't think to see if I could actually measure the clock, let me try that.
Usually just probe the return capacitor on the XOUT trace
You should get like 12MHz +/- like 10-30ppm depending on the crystal accuracy
If you don’t get roughly 12MHz, you might check the connection/solder joint
I'm showing 12 MHz
Okay, that’s good
Here's an example schematic from a transmitter/receiver from Mikro that I cribbed for some tests:
https://download.mikroe.com/documents/add-on-boards/click/fiber-opt/fiber-opt-click-schematic-v201.pdf
receiver uses two op-amps in series, first one sets sensitivity and 2nd gets driven to the VCC or GND rail for a 'digital' output
might have to tweak the op-amp setup if it doesn't have enough bandwidth for your needs
I’m using a two stage op amp from a design derived from https://OpenVLC.org not terribly far off from that
I’m going to spin a few designs to test and see which ends up being better
I couldn't make much out of the schematic on their github, do they really have a transmitter/receiver circuit somewhere in there?
By and large, it is not a good idea to use an op-amp as a comparator, and as the frequency goes up, it gets even worse.
They provide Altium files
Oh good there's an online viewer for those of us who can't run Altium
Basically the OpenVLC design converts the filtered photodiode digital looking signal into pulses that are read by an ADC
It’s an interesting design
What's a better high speed comparator then? A Schmitt trigger logic gate?
There are purpose-made high speed comparators (some CPUs have them built in as well). A Schmitt trigger gate is less versatile: it acts as a comparator with a single input with hysteresis and a fixed set of trigger points, while a dedicated comparator has two inputs like an op-amp so you can configure the threshold (and hysteresis, if desired).
Would adding a little bodge to try to spy on old school USB data lines with a scope introduce too much noise?
can you describe a bit more? and what speed USB?
Full speed (RP2040). Thinking maybe being able to look at the data lines might provide a clue to why it won't show up as a storage device.
But the internet seems split on how strict you need to be with USB
it might work, if you manage to keep the loading balanced (one probe on each of D+ and D-, assuming a 10MOhm "10x" probe, and scope set to differential?)
ideally, you'd use a specialized bus analyzer, but those are really expensive. turning on some kind of verbose logging on your host device might be easier
Oh that's a great idea, try to see if it even shows up as any kind of device on the host.
AFAICT host seems to have no idea a USB device was connected
what's the device, exactly?
Custom RP2040 board I tried to make. Powers up ok, appears to try to talk to the flash, crystal looks ok, but never shows up as a drive when connected to a computer.
so not running the UF2 bootloader? is BOOTSEL set up correctly?
AFAIK, should I post some schematics?
yeah, probably would help
you said the crystal oscillator starts up? i think the datasheet says that's initially off at reset. if so, maybe enough of the bootloader is running to start it up?
Looking for a mention of the startup timing of it, but yeah I've measured it at 12MHz so that part seems like it's working.
Ah yeah it seems to say so in the full datasheet
i don't know what the PLL lock detection parameters are like; maybe the clock isn't stable enough for it to lock, and it won't enable USB because of that? are either D+ or D- getting pulled up by the RP2040 during the reset sequence? (low-level full/low speed attach signaling, i think?)
I haven't looked at D+/D- yet, hence the original question 🙂
I can try to measure the clock again to look for variance, the scope was always reading 12MHz but some of other numbers did vary slightly.
RP2040 uses usb1.1 so you’re not really going to hurt it much sniffing the lines
yeah if the host isn't seeing it at all, it probably won't hurt to see if it's getting as far as turning on a D+/D- pullup
huh before I was seeing a solid 12, now it's bouncing between 11.99 and 12.01
For measuring the data lines, would the expectation be they stay at the high voltage or am I looking for a blip?
Is that 1k resistor on the crystal in the reference design? That looks unusual to me at first glance.
It is
The second consideration is the maximum ESR (equivalent series resistance) of the crystal. We’ve opted for a device with a maximum of 50Ω, as we’ve found that this, along with a 1kΩ series resistor (R5), is a good value to prevent the crystal being over-driven and being damaged. You may have to adjust these values if you choose to use a different crystal.
Next thing would be checking the solder joints on the SPI Flash
I've seen it try to message the chip, I think that part is ok
I’ve found if SPI flash isn’t properly mounted it can cause USB issues
It’s weird all the little things I found that can cause it not to enumerate
So plugged in and "idle", I should be seeing 5v across vbus, D+ and D-?
'cause I've got nothing on D+/D-
one of D+ or D- should be pulled up to 3V3 when the bus is idle
Seems like the problem is related to that then, 0v on both
yeah, it might be time to break out a debugger, then
Time to check to make sure the usb connector is properly seated too
Sometimes hard to tell
I think I checked that originally (I set this project aside from a while when it wasn't working), but I will check again.. I've definitely fried a chip before because the connector was offset and I didn't realize.
😅
Just hobbyist things 😛
I’ve fried a many chip
In my defense, it was the first chip I'd managed to kill, I was pretty happy with that
Don’t worry, it’ll climb with time 🙂
Connector seems ok, pins have continuity with the resistors, no bridges
Unfortunately I don't have one.
Did you use NOR SPI flash?
Yes, W25Q128JVSIM which should be just a larger version of the reference design used chip
oh 128.. hmm I think the RP2040 can only support up to like 32MB SPI Flash
128MBit, actually sorry it's the exact chip used in the reference design
The device chosen here is an W25Q128JVS device (U2 in the Figure 7), which is a 128Mbit chip (16MB).
(Also it says 16MB is the max it supports)
yeah, 16MB
hm, according to my reading of the boot rom source, if CSn is low, it shouldn't probe the flash before initializing USB
for what it's worth, the Pico only has 2MB last I checked. because when I got samples for the RP2040 from RPi when it first came available, they gave me (and others) the same flash chip used on the Pico
which is the W25Q16JVUXIQW
tiny chip
Yeah I wanted to be able to store a couple small sound files without a SD card on-board, so I maxed it out.
The adafruit and sparkfun ones have larger flashes onboard IIRC
yeah, they put 8MB
there might be one with 16MB
but I think most use 8MB
anyway, only other issue I could see is that the RP2040 isn't making good electrical connection on all it's pins.
D+/D- signal integrity probably would be an issue after the point I'm at, yeah? I realized after I wasn't very careful about following the HW design guide for that
If so that seems like, since nothing seemed to stand out on the schematic, that I'm probably down to yeah either reseating the RP2040 maybe, or trying to assemble a new one.
yeah, essentially
it would be good to know if someone with more experience can confirm whether the bootrom is supposed to probe the QSPI at all before initializing USB if CSn is held low. i think it's not, but i don't have one to poke at, and have just been reading the source code
What difference would that make?
so on boot, the bootrom does check SPI flash for data and/or a program to execute. if nothing is executable in flash, then CSn is pulled low.
unless the CSn is manually pulled low on powerup
if you're not seeing USB being turned on, and you are seeing QSPI being probed, and if i'm reading the bootrom source correctly, it means QSPI_CSn is being read as high by the bootrom
I'd have to recheck QSPI being probed. I know I've seen it, I don't recall if that was with or without the bootsel condition.
though it should also give time out on probing the QSPI at some point and fall back to the UF2 bootloader, unless the flash contents somehow pass the CRC check
but a fresh chip would always cause RPI-RP2 to show up
there shouldn't be anything on a fresh flash chip.
Oh interesting, didn't realize I could ignore it altogether at this stage.
on initial powerup for the first time, you will see RPI-RP2 without pressing boot
so something is preventing USB from being initialized, then, and i haven't found the code that does that yet
same thing if there isn't anything on flash if you used the flash nuke uf2
Ok I did see that on a new official rpi pico, but wasn't sure
bootrom checks crystal drive strength and speed to set USB PLL before initializing USB and USB MSC
I guess I'll try to reseat and if I get nothing, assemble a new one.
I have one board I did just the battery bits to test those separate, I can finish building that one
additionally, you could still technically get it to pull up without SPI flash too, you can program it to execute from RAM
i guess if the USB PLL isn't locking for some reason…
but yeah, reseat first. if you have a digital microscope, you can inspect the joints
I keep eyeing them, but haven't gotten one yet
yeah, probing the pad of the RP2040 footprint wouldn't be enough to verify continuity unfortunately.
it's why I wish they made it a TQFP instead of a QFN
Yeah, that's been a challenge as I've gotten more ambitious with part selection. I went from THT to SOIC only initially.
I probes right off the edge to spike bit of the receiver before the ADC, read it as a digital input and inverted it. Beautiful signal.
Alright well I screwed up the reseat so I'm going to do a new board, thank you both for your help; I'll check back when this one works or fails.
Comparator will clean it right up and help for further distance transmission. I’m glad to have had the realization and asked about it. So much gained from an itching question
rofl it worked
Thanks again argonblue and skerr. Brand new build shows right up, guess I did something wrong with that first build, but it's my most complicated design yet so I just assumed I did something wrong design time.
Great work!
So, what's your final circuit?
photodiode -> 4.25MHz GPBW filter -> edge to pulse amplifier -> comparator -> digital input of host
i'm having some issues tracking down my drc error
https://cdn.discordapp.com/attachments/914235414041202758/1000506514827641002/unknown.png
https://cdn.discordapp.com/attachments/914235414041202758/1000506515125456906/unknown.png
what happens if you click on the error?
some CAD programs will show you where it is if you click on the error
I tried, it does nothing
Easy EDA
oh, i'm not super familiar with EasyEDA
I think it's only been happening after i put the gnd traces on the bottom lay
but without that the grid lines overlap
feel free to ping me on reply
are you using a dedicated comparator IC, or a regular op-amp as a comparator? When I looked at comparator pricing, they seemed pretty expensive
oh i'm using easyeda right now actually
measuring trace thickness of the bluefruit sense and laughed out loud. lady ada did the trace width in pi. 3.14 😛
Yes, for my purposes a general purpose one used for coax signals with a 40ns delay is more than fast enough
It cost like.. $2.30
my easy eda defaults to 10 mil and i'm like why is it so big, how big is it on the sense. so apparently i can go as low as about 4 mil and be ok.
hmm what are you doing to get errors in easyeda? granted i just loaded mine up for the first time in 2 years today. i'm not getting any errors even with auto router.
i tried using Eagle. ok i gave it a fair shot, i wanted it to work, would have made my life easier to use the same program as adafruit but halfway through working on a board it crashed. all my work was lost. it doesn't even say i have a recently opened last file.
brand new install of Eagle and it crashed. i've had issues with easyeda sometimes but it's never lost all of my work.
Huh, I’ve not had many issues with eagle crashing
sigh, i thought const name= arg.pick etc.. was the error he was getting. lol
But I use it on Mac which probably makes a difference
yup it closed the workspace i was using and then the background program whatever that thing is too. straight to desktop, no errors, it was like i closed it myself.
hmm does ctrl+c close the program or something?
i was attempting to duplicate a footprint.
@lone basalt in easyeda if your rat lines aren't exactly in the center of a via or the via is off center somehow it'll throw a DRC error.
one single connection being a hair off is frustrating, been there.
it doesn't tell you which one is having an issue? :/
if you're doing manual routing avoid right angles if possible. i think lady ada did a video on that. you want electricity to flow like water through plumbing.
Right angle trace is a myth
It’s more for 10GHz+ signals
It’s less mechanically sound though
IBM researchers debunked it 🙂
yeah had something to do with trying to avoid an antenna situation and adding through hole via's to knock down reflectivity... something like that.
For the average hobbyist, it won’t matter. There’s a lot that goes into what makes something more likely to be an antenna than you’ll need to worry about. Right angles don’t necessarily mean something will reach internal reflection thresholds to be an issue as there are rounded and triangular antenna shapes too.
Most of the issues you see with right angle traces is it gets peeled up easier during processes like applying solder mask
That and they don’t look as good
Lol
i haven't given up on my mistake of buying an soic8 chip
Soic8 is a pretty good footprint
Nice and easy to solder by hand 🙂
Easier than this anyway:
Oh hehe
USON-8 are super fun
ha yeah ok gl with that
by hand or hot air?
hot air would probably send that thing flying
Hot plate
yeah i was thinking about it but i can't do that to my entire feather sense
and it's right next to the nrf52 chip, gotta pray no solder seeps under it.
what are you putting it on?
I’ve got to make a variant of this that take up to 24V and breaks it down to 5V 5A that goes to the 3.3V regulator pictured and the JST connector pictured
treehouse terminal?
sounds fun
what kind of module are you using i don't know that one with the pads in the center.
ESP32-S2 Wrover
Grow terminal
Controls day/night cycles for indoor agricultural setups
Monitors the environment
Provides real time statistics
And will work with an app to see everything
it's weed, isn't it 😛
sounds cool. great application for technology. work smarter not harder.
lol
i wasn't going to say it but why not
As well as battery backup to provide a limited amount of grow time/monitoring in case if power outages
Sure, you probably could
i've done hydroponic tomatoes and lettuce. lettuce does really well with hydroponics.
I was thinking more local produce
any of the leafy greens like spinach, kale, etc.. do really well.
With the American south west turning into an even bigger water wasteland, localizing food production in an environmentally friendly way will be important
I'm doing some deep tech startup development, and about half of the specialized equipment we get is either used a lot in cannabis production, or brewing beer. We're always waiting for the feds to bust down our doors based on our equipment purchases 😛
true, i've seen the pictures of lake mead slowly turning into a ditch instead of a lake. humanity is growing so fast we're drinking rivers dry
eh, just means hardware development of technology that isn't currently on the market
Ah
takes more time and money than usual startup timelines
Yeah, I’m kind of in the weeds of development for my product line. It has to scale well and that’s hard to do with hardware
Especially for connected agricultural tech
yup, manufacturing scale up is tricky
and modular only takes you so far, you can scale linearly with modularity, but it's hard to do orders of magnitude scale up...x10, x100, x1000
Initial product with use ESP32-S2/S3 but I will need something far more capable for large scale warehouse based applications
welp i'm gonna go eat some dinner and watch some dystopian apocalypse movies to prepare for the inevitable. hmm maybe interstellar, that dust bowl part was on point.
Trying to avoid PLC geared applications because it tends to be so single ended
And also very monolithic
yeah, at the moment we don't have a dedicated embedded guy so all the R&D for sensors/comms/control falls on me
it's fine for playing around, but when it comes time for an actually deployed system we need to get a bit more serious
But investors went cold so series B was out of the question
So I got laid off along with the rest of the dev team
investors are taking a collective #@$@ over the recent market meltdown
they stopped talking to us about the same time
Yeah, except Menlo Ventures apparently is trucking straight along
But no one will invest in hardware or physical product companies right now because of the fears over a recession
yup
So bootstrap it is for my agrotech startup
they also want to keep money on hand incase their current investments need additional funds to keep going
Yeah
I’m working on two startups at the same time, and going back full time to the job I left to work for the grill company I was at
Good times
One is a VLC comms startup and then Grew Labs, my personal agrotech startup
Both hardware/embedded
what stage is the VLC startup at?
We’re pitching seed right now, trying to get some defense research contracts right now
Defense isn’t ideal but if you can get it, it usually pays well enough to get off the ground
yeah, we're almost entirely gov. funded, SBIRs and similar
We started with a nasa funded SBIR
But didn’t get phase 2
We’re considering pitching for another SBIR
Could I use a MOSFET to control 12v @ ~65ma using a 3.3v GPIO pin?
Yes, you could do that with a P-FET, I believe. You'd want one described as "logic-level" to have a low threshold gate voltage for 3.3V control.
You'd either want an N-FET on the low side, or a P-FET + N-FET combo for a high-side switch
Thanks for the correction. There is really something about the transistor types that my brain absolutely refuses to cache...
For the high-side FET, a P-FET is on with large enough negative gate-source voltage. Source is 12V, so gate needs to be pulled low to turn the P-FET on. You can do that with an MCU using an N-FET (which helpfully also inverts the signal so driving the MCU output high still turns the power on), then the resistor from 12V to the gate of the P-FET keeps the switch fully off when the MCU doesn't specifically turn it on.
The pull-down resistors on the inputs of the N-FETs are just to make sure the load is turned off when the MCU is in reset (and generally its outputs are in some high-impedance state).
For the low-side circuit that directly keeps the output off, for the high-side circuit it prevents the N-FET from pulling the P-FET gate low, keeping the output off.
do you think i can ignore it, it doesn't seem too significant or obvious after checking every thoughhole on the board
I'm designing an FC based on the STM32H7 series. I'm trying to have 8 PWM outputs(4 Channels per timer). Does the below configuration look good ? Is there anything I should change ? Any information related to this would be helpful 🙂 I've attached the timers section from the datasheet as well.
@lone basalt i wouldn't ignore a trace connection drc error. it's not a warning, it's an error, and a significant one, do not ignore it. ask for help in easyeda forum.
Just about finished with the uson adapter board.
the soic took up more room than i thought. had to make adjustments to allow a stackable header to be used on the feather, it takes up more space than just a header pin.
using 6 mil traces which is just enough to auto route, feather sense uses 3.14 mil so the extra width should do ok for the additional trace length.
@unique patio where there's a will there's a way. might be circling back to that PR after all.
Did you verify the footprint of the uson8 chip?
Sometimes they have a thin narrow ground in the middle of the footprint
i used the datasheet, short of unsoldering it i won't know.
hmm those pads are awfully close together, might reduce them a bit.
was planning on use regular flux, should i get smd paste instead?
i've never used the stuff.
Flux, paste, heat
footprint lines up, can import eagle files into easyeda now. whew that makes it much easier.
it's going to overhang the feather board a little 🤷 don't care as long as it works.
Okay cool, looks good
tried ordering with oshpark but pcb under minimum size. went with jlpcb. $23.74 for 5 boards.
probably take a month on the slow boat but w/e, i'm in no rush
is that a good place to put ground return via for SMPS ?
should I add more ground via near the input decouple cap (lower right)?
bottom layer ground is green? you can via to anywhere you want on the gnd layer.
unless you're dealing with a component that requires a separate analog gnd or something
this is 2MHz
above my head then
the layout is according to recommended by LT3467datasheet
if your design has to work within a recommend layout then contact the company who made the layout?
are you using trough hole vias in pads?
i mean from DFM (soldering) point of view using trough hole vias in pads is not good idea, unless those are filled and capped
I hand solder those
you probably will be fine then, but generally this is something to avoid
I mostly relay on surface tension of solder and my fingernail to keep component in place.
about the GND vias: personally I would just place vias for every pin, unless the vendor says to not do it. I do not believe in those single point connections for high frequency SMPS.
but you probably will be fine. Note that the other package for LT3467 has vias under the package in the recommended layout, probably as well due to thermal reasons as well.
I don't understand the "star ground" concept either.
Texas Instrument often tells you to use it
those techniques work good for low frequency, at high frequency it is impossible to steer return currents, especially on boards with thin dielectric
if datasheet says to do it, then do it. But very often it makes no sense to over engineer it. Also sometimes recommended layouts might be good for 2 board layout, but not optimised for multilayer boards
at least in SMPS I always use AD/LT/MI product and avoid TI. TI expect you to do error amplifier filter, slope compensation and feedback blanking etc by yourself.
why are you not using capacitor in the feedback loop?
I designed for 1A output but I only need 100mA. I don't think filter is required at this current. Feedback filter can impair regulation if not choose carefully.
so i was looking at filesystems and I was thinking if maybe specific filesystem ops like read, write, open, close could be accelerated through hardware (e.g. an onboard FPGA next to the ssd)
then you would write minimal drivers for the FPGA, and mostly program the FPGA itself somehow take read, write requests into some optimised sequence of instructions to the SSD microcontroller
is this an idea or am I high
Mostly high, I think. 😉 The SSD exposes a particular set of allowed operations, so the OS driver for it is already trying to do the best job it can of translating filesystem commands to the underlying block device.
right, but the cpu is doing a lot of the work of the driver right? For something like ext4 or any b-tree+ fs, you gonna have to send a req to the ssd, get back a block, read that with the cpu, determine the next block, send a req, etc. But instead, you could just send something like:
struct Request {
request_type: ["read" | "write"],
offset: int
bytes: int
}
and let the fpga figure out
Fairly certain cacheless SSDs kind of do this already
The FPGA then still needs to do those read/writes to the SSD, which is the big chunk of the time. If you're specifically trying to reduce CPU resources so you can spend them on other things, dedicated accelerators for filesystem handling start to make sense (especially for compression, encryption, RAID, zfs, etc). But for more standard tasks the FPGA would likely just be a latency addition
Not sure cacheless is the right term here though..
Or maybe the way to think about it is that 8-core CPUs that are mostly idle is common, but FPGA coprocessor boards are not, heh heh.
Are FPGA regularly used in SSD memory controllers?
Maybe for R&D, but no - commercial SSD memory controllers these days are primarily ASICs. They're coming back for some networking stuff, but again that's a lot due to the standards being a bit early and not completely locked down; at scale as soon as folks know what they want they tend to want to ASIC-ify it as soon as they can because FPGAs are power hungry and expensive, and even the mind-boggling costs of doing ASIC development become quickly worth it
see e.g. Nvidia smartNIC / bluefield, Intel/Google Mount Evans, etc
I am also planning of using an FPGA for VLC transceiver. A small one though because it’s not terribly data intensive yet
hmm i suppose the cpu does run at higher freqs and can do multiple io reqs at once. ASICs wont be programmable but vould maybe be modular so you can plug a new ASIC driver in
uhmmm... guess I need to think this a bit more through... 😅
wonder if I can make it with just two layers, or if I should consider using more
Two layers is cheaper and faster to fabricate, and easier to modify if that becomes relevant. I'll generally put a fair amount of effort into routing to get to two layers. That one looks totally doable, you may need a via or two, but that's going to be a lot cheaper than going to 4 layers. I'd probably increase the trace width too, it looks like there is room in most places. You could make it more compact as well and save a little money if you felt like it. It looks like it might route easier if the Pi connector was facing the other way but I'm guessing that would put the rest of the board pointing the wrong way.
pointing the wrong way is relative 😄
it's (mostly) for the sake of doing it, and because I like to have bundled wires, instead of loose ends, and also because I really like modular stuff, I feel it to be more "failproof" and repairable.
would putting the Pi connector on the middle be a good idea as well?, or would you keep it on the side?
It might be easier to route if you put the LED and button connectors on one side and the OLED on the other. Note that you're allowed to cheat by not connecting to every single ground pin, you can skip a few if they're in the way of things you want to route.
yeah use via's to go straight to the ground plane.
ah, I see!
thanks!
I tought it'd be better not to have floating ground, TIL. 🙂
that's the plan, bottom is ground plane, top is 3v3 plane, and signals
You don't want to completely float, you generally have to connect to at least one ground pin, and more is better.
if they're all going to share a common ground that's fine but if they require separate grounds to separate modules that would be bad.
nah, only OLED here is powered, the other two are signals from the other board, which has its own USB power
I'm not sure what you mean by "require separate grounds" here, but there's only one ground net on a Pi.
let's say your pi GND pin is your main ground pin, you can via that straight to the board so the entire board becomes an extension of the pi gnd system
you can then via straight to ground from the other plugs which will immediate tie into pi gnd... if that's acceptable for your project goal.
some modules might require separate analog ground, more common with audio modules.
if they combine with a digital gnd it might cause noise
if it gets too complicated, I may even make a micro board just for the OLED power and "F a duck!", if I may quote Jumpin Jack Flash XD
i'm sure it'll be fine
trace width looks a little thin, always go for the thickest traces possible. only use thin traces if you absolutely need to for space.
methinks, but do i really need a 3v3 plane for only one connector? wouldn't it make routing overly complicated?
I'm going with default settings for now, will thicken them as next step 🙂
(edited) (edited) (edited) yeesh... today I can't type...
I wouldn't bother with a plane for that.
bad practice to via directly under a pin too. increases risk of a mechanical problem combining a through hole with a via. put via directly beside pins and use a short trace to the pin on the layer you want.
possible yes, people do it, not recommended unless you're in a real pinch for space.
With through-hole it's not a problem, the pad is on both sides to start with, so just connect up whichever layer is most convenient.
You can think of through-hole pads as big vias.
yep, noticed most fabs use via-ed TH pads anyway
I'm not sure what you mean by "via-ed". Do you mean plated through?
yes, sorry.
term slipped away
pretty sure most of those traces running through the double sided pin connector instead of around are going to fail a drc check
absolutely, that's why I'm keeping this board last XD
You can generally pass DRC with a single trace running between 0.1" pins with reasonable pad sizes and 10/10 spacing.
closing for now, gotta prep for work.
cursed this costume of exchanging labour for currency, so to exchange it for goods and services!
I still exchange labour for currency, but since I work from home, I no longer wear the costume 🙂
Lucky B 😂
Mine is a tad difficult to have it remotely done, unless you can pilot a bot located 30k ft from the ground in a tin can 😂
I am mostly visualizing you showing up to work as Dr. Strange. Don't correct my mental picture plz.
Well, yeah. This is me.
If a chip, a FET driver in this case, has a V_IH min of 2.4V, I can safely drive it with 3.3V right? I wasn't questioning that until I saw that all of the datasheet's assumptions about use case are with 5V logic
hm
Also if I'm driving a P-Channel FET, and I want my default behavior of the FET to be non-conducting, then I need the gate to be pulled high in most configurations, right?
I did buy one of those LED hologram generators, but it uses an undocumented proprietary format for its images, and the software is DOS-only so I can't run it.
Yes, normally P-channel FETs are driven with a gate driver or level shifter, unless they're switching the same voltage as the driving logic.
Is it possible a boost converter would act like it had a short when enabled if there was no output capacitors or load?
which one is hot, inductor or transistor ?
It's an all-in-one, so I can't tell
inductor and switch together ? Then it should be a complete module, which means the module is broken.
So even if there's nothing on the output at all, load capacitor or load, it shouldn't cause a problem?
a complete product should of course works with empty load
Ok, I didn't know if the capacitors on the out were more about smoothing or critical to function, so I probably messed up assembly then since its so tiny. Thanks!
The caps generall smooth things out, all you would get is a square wave if they were functioning correctly. If its hot, its probably broken. They generally run pretty cool
It was brand new so I'm going to assume it was an assembly issue. I've used the IC in a prior design with success so I don't think it was a design issue.
I accidentally dropped it so it's gone forever, saves me from trying to figure out if I killed it
Welp as with everything on this board so far.. start over and then it'll just work, thanks confirmations
Thats sounds most likely
With some modules, the output capacitors are required for proper functioning. Some of them are even particular about the ESR, which can be neither too much nor too little.
Hi! is it possible to have a lower input than output on a buck converter? I want to use a buck converter to limit a voltage in an efficient way
No, a buck by definition reduces the voltage, so it can't have an output that is larger than its input.
yes that is true, what I mean is would the buck cut off the output entirely or would it just output the input with a small voltage drop
for my application I would want it to output the input which would be lower than the voltage it was designed to output
however I am afraid it would just disable the output
i think it depends on the design of the regulator. check the datasheet
I have tried to find it but did not now what to look for
the buck in question is the TPS54560
Hi, is it possible to do jtag if missing the Test Mode Select (MTMS) pin being broken out on QTPY ESP32-S2? I may well be wrong, just looking at schematic ( https://raw.githubusercontent.com/adafruit/Adafruit-QT-Py-ESP32-S2-PCB/main/Adafruit QT Py ESP32-S2 Rev C.sch ) via https://www.altium.com/viewer/
is the charging current limited to 100mA in Feather boards ?
@woven bluff Yes. Pretty sure there are SMT resistors that determine charge rate.
how do I change it to 1000mA ?
I don't know what you have, there.
great, a 0603..... this charger system is so out of date..
can I just short it ?
While it trends in the right direction (10k to 100 mA; 1k to 1000 mA) .. those are within a range wholly outside of a dead short.
You would read the datasheet for the charger chip and adhere to its advice, I would think.
and
What’s wrong with 0603? I don’t have any charger issues with batteries on my feathers.
Ohhh it’s 100ma, didn’t know that. I thought it was taking forever to recharge my triple 18650 pack. It took like 3 days. No wonder.
Is it a bad idea to put a bigger resistor on the feather charging circuit? Otherwise I would like at least like 500ma.
You should make sure the charge rate is less than the battery capacity
So you shouldn’t charge a 500mAh battery with a 500mA+ charge current.
You can, and no one will stop you but it’s not advised
if I recall rule of thumb was half mAh for charge current ("0.5 c")
not sure how a triple pack affects that math
It's a hobby market. The vendor is in no position to be selling fast chargers with non-permanent mated cells to be charged. Lowest common denominator (100 mA is not the lowest, but low enough to be relatively trouble-free).
The way I look at it, if I can't put my finger right on the text that says I can do a thing (with tech like batteries that arrive in specially marked packaging) .. then I cannot do that thing.
It's best to have a safety plan that's well-thought out and critiqued by someone with no skin in the game.
I think Adafruit covers it in one of their learn guides, you might be right. Sounds about right.
6600/100 * 125% = 82.5 hours to recharge. Wasn’t exaggerating when I said it took 3 days to recharge.at 110ma. I can put it on a power boost and charge it in 8 hours no problem. I had no idea the charge current on feathers was that low. That means the 0603 is indeed a 10k resistor on the nrf52840 sense as well. This makes a lot of sense. Thanks.
My only concern modifying that resistor is if it will affect the rest of the system somehow. I’d like to hope not but I’m not great at board design. I’m not like you, if something doesn’t say it won’t do something explicitly, I’ll give it a shot lol. I’m more hands on and trial by error. If it dies, it dies.
I have learned a whole lot about how things work and how things break by trying stuff. That knowledge has served me well, and is totally worth the money I spent on stuff I ended up frying in the process.
Changing it out for a smaller value resistor should be pretty easy with hot air and some kapton tape
what about piggybacking another resistor on top?
Also a great option.
I think you are really going cheap on the charger chip
at least go for software programmable chip
like arduino MKR
even for hobbyist level, rarely someone would have 0603 resistors around
i just got 200 0603's in 1k and 2k for 5 bucks on digikey. i will now "have some just sitting around" 😛
this is good stuff, i'm learning a lot about hw design. please keep posting up your board designs. i love looking at board designs.
all the stuff skerr is doing is fascinating, loving it .
I realized I could make the traces neater by using the ability to reassign the pins on this HT16K33 chip.
But then I realized I could make it even more compact by hiding the driver chip between the rows of pins on the through-hole display
i understand the first one, very smart. the 2nd image is going to take a while to digest. 😛
ah piggybacking like the chip isn't even there. that's cool.
minimal disruption for the main traces going through
maximum board space savings 🤩 👍
It's for some Back to the Future style time circuits. I realized a single HT16K33 chip could run 3 alphanumeric characters, along with ten 7-segment displays, a few LEDs for AM/PM, colons and the like, and a 12-key keypad.
A huge improvement over my original MAX6954 based design, with its 40-pin DIP package
ah multiplexer for seven segments
where's the chip on the new design on the back of the pcb?
is that your own custom uno board? that's cool.
i recognize the chip qwick synringe. i have the same style for hand soldering flux. i love using it.
dynobot need to go to H***. this isn't ok.
I had tried using a pneumatic solder paste dispenser, but it was problematic and I eventually got an iExtruder.
never heard of that, looking up
Revolutionery USB powered solder paste dispenser and Pick & Place tool for SMT /SMD PCB prototyping and assembly.
an electronic dispenser?
didn't know those existed, neat. i only use flux once in a while. if i was making custom boards in quantity i might want to get one. great to know.
Yeah, it's basically a stepper motor pushing on a plunger. In quantity, I'd probably use a stencil, but for just putting little dots of paste wherever I want, it worked well, once I learned how to get solder paste with the right particle size (smaller particles flow better) and thin it with flux, both to flow better and avoid using too much.
ahh you could use that with a 3d printer or cnc to automate panelized pcbs.
if you really wanted to scale up production
Yeah, that would be cool
provides a way for hobbyists to scale to a small startup company if desired. a nice start to automation without needing a multi-bazillion dollar pick and place.
bookmarked for my ehh maybe someday folder.
though, i imagine just going with a pcb fabricator would make more sense except for assembly. some assembly costs are over the moon.
Voltera V-One does this
If I put an LED and a relay in series, how would I calculate the resistor required for the LED? I assume just compute the resistance of the relay and subtract that from the resistance calculated for the resistor if it's just the LED? Also, I'm not too familiar with voltage drop; would this mean that if the voltage drop of the LED is 2.2v, and my power supply is 12v, that only 9.8v would be applied across the relay coil?
It would be a little unusual to do this in general versus running them in parallel, since both the relay coil and the LED operate based on current, so it's not necessarily guaranteed that the same amount of current is appropriate to activate them both. For voltage drop across the coil, you'd also need to subtract off the voltage drop in the extra series resistor.
This is unusual as if you want to know when a relay is on, you would have the LED in parallel with the coil. Relays take a fair amount of current, much more than an LED. Your math is correct though. Voltage drops are subtracted from your main supply. For more info: Loop up Kirchoffs voltage law.
You may also have to allow for the inductive spike created by the relay coil when the relay is switched off: you would want to protect the LED from that spike.
So, capacitor?
Hmm. My idea was to know when current was flowing through the relay, so that if it broke or was disconnected the light would turn off
I guess if this relay broke, it probably wouldn't be the coil side that would have the broken issue. It would more likely be the mechanics going bad on the contact side.
Putting an LED in parallel with the coil would at least let you know if power is applied to the coil or not, since power would also be going to this LED.
Having serviced relay output card's that have been in service for 10+ years, it won't be the coil failing, but rather the contacts themselves. They mostly fail open, rather than closed. I don't think you have to worry too much about this tbh
if you're trying to indicate whether the relay is open or closed, you would put the LED somewhere on the contact side of the circuit, not the power side
That would break isolation then, and they would need another contact. Ie if they were controlling 120 VAC, they would now have to power the led from the same source or use another (bigger) relay
depends on what they're switching, but yeah if it's 120V better to use a neon indicator light rated for 120V
bleah, cannot figure out a decent way to design the PCB 😐
is using freerouting considered cheating?
More like a diode
I have no idea, I don't know what "freerouting" is. It looks like you're pretty close.
auto router isn't cheating. if it works, it works. doesn't matter how you get from A to B as long as you get there. 😉
@supple pollen some programs have a feature that will automatically connect all the traces for you. i can only speak for easyeda's auto router, it works very well but the way it goes about it isn't the most optimized way and certainly not the most aesthetically pleasing. you can sometimes tell from looking at a board if traces are connected manually or with an auto router.
Oh, I know what an autorouter is, I just hadn't heard of "freerouting"
An autorouter :)
FreeRouting is a free AutoRouter intended but not limited to Printed Circuits Boards. It is integrated into the LayoutEditor software but can alos used stand-alone.
Works with kicad
Believe it or not, it was my second guess, but then I thought, maybe a diode is more useful for reverse currents, not spikes... 🤣
The voltage generated by the collapsing field is generally of the other polarity, which allows the diode to steer it away. You could also design a snubber network with a resistor and capacitor, but generally a diode is easier.
ok, the way this autorouter works is... interesting.
it thankfully offers you the capability of interactively drag the routes it creates, but for some reason, if you click on it after dragging, it defaults to "get as tight as possible"
how I fixed the routing
how it reverts if I dare touching the routes again
dare I say this could be an acceptable tentative board?
only two signals crossing the main connector, and I bet it could be improved if I use different pins
Oh yes but as long as those arent high speed signals, Id say its OK
Nah, nothing high-speed (maybe just the display?)
And I fixed those two lines crossing the main conn
(fyi this is the display)
https://www.audiophonics.fr/en/screens-vu-meters/white-spi-iic-256x64-oled-312-screen-p-14604.html
I'm looking for a little insight on designing a board with a few traces that can handle up to 12A worth of current. I've been using this Saturn PCB Design calculator to mess around with trace weight and width options, and I'm getting about 306mils width can handle 12A with 2oz copper and a temp rise of 20C from ambient. I can get thinner traces if I'm willing to accept a higher temp rise.
I guess my question is, what is an acceptable temp rise and what other things might I have to keep in mind to handle this current requirement?
Should I look into the components on the board and see what temp they are rated for and keep the rise under these values?
One trick that is often used to increase current carrying ability is leaving traces unmasked and applying solder to the traces
you use 40-70mil traces and then put a bead of solder along tthe length of the trace
you can do larger traces of course like 100mil
Oh that's brilliant. So I could cut some cost down by keeping to a smaller oz size for the copper and then hit all the traces with solder. Would you happen to have any idea how much thicker the solder would make the trace? I have access to a wave soldering machine, where I could run the board and hit everything exposed.
Based on commercial designs Ive taken apart (like power supplies); not much. Maybe 1mm at most but thats being generous. On top of that, Ive also seen copper wire added or soldered to the unmasked trace.
Im designing a straing guage amplifier and was wondering if i could get some feedback, the top pots are for offset and then the other op amps are output filtering. Would you suggest things like a dedicated 3.3V regulator or anything else to improve signal stability
fsck. one pin housing wire snapped at the base of the crimp. 😐
and of course I don't have spares 😐
Oof
welp, out to get a crimp kit.
{puts ash on his head} I admit hand crimping using a Channellock has not been a smart idea...
I would just make sure you have quite a few bypass caps around the main power line feeding your amps. I wouldnt think you need a dedicated 3.3V regulator, but there are some accurate ones out there. I think the spec you want is load regulation and its usually in %. Be aware that if you dont meet the min current demands of the regulator, it may operate out of spec as well.
I'm working with a buck converter that can step down a maximum of 36v to an adjustable voltage between 3.3-10v. I need help with the voltage divider circuit. I need help finding the R2 value. any help is be appreciated 🙂
I've attached a screen shot of the "Setting the Output Voltage " and a part of "Electrical Characteristics" portion of the data sheet
Link to the full data sheet - https://www.mouser.in/datasheet/2/256/MAX20404_MAX20406-2887587.pdf
am I doing something wrong here ?
NOTE: I'm trying to get an output voltage of 10v
The feedback regulation voltage is 0.9V? That math looks wrong, 10 divided by 0.9 is 11.11, and 11.11 - 1 is 10.11. It looks like you're using 100kΩ for R2 which seems reasonable. Note that if you do the math in kilohms, you also get the result in kilohms.
I think it's 0.8 as per DS, but the vertical dash of the arrow makes it looks like a 9
That would make sense then.
sorry for the blurry image. feedback voltage is 0.8 as stated by the data sheet.
so does it mean I'd have to use a 1.15 MOhms resistor and 100k in series ?
Looks like it
Though you could use a smaller R1
It says less than or equal to 100k
So realistically you could use a 1K there and use a smaller r2
Probably a 12K resistor for R2
Or whatever common value is close to 11k5
are there a upsides to using one value over the other and what difference does it make ?
Easier to find values
Usually gets you closer to common resistor values
You’re essentially changing the feedback bias to the internal looping. A stronger driver probably will change the operating frequency. Might help improve efficiency but the data sheet doesn’t go into it in depth
actually this is for a flight controller with sensors including accel/gyro/mag/gps so a circuit with lower noise would be better. considering this what values would you recommend ?
@distant raven
i know these values don't directly relate to noise but the frequenzy of the switching regulator does
I personally would go for lower values since they’ll lead to a strong more consistent drive, and the values would be easier to source. You probably would get better efficiency with higher value resistors though
Smaller resistors would probably improve drive strength but reduce overall efficiency since you introduce more resistance
Resistance is going to increase potential heat loss so it’s a consideration
You’re going to filter and smooth the input to your components anyway, so it mostly comes down to do you want more efficiency or stronger drive
are there any down sides in using lower values while operating in high frequencies ?
the regulator has a maximum switching freqenzy of 3.0Mhz. I plan running it at the highest frequency possible as it has lower noise. correct me if I'm wrong
also what exactly do you mean by "efficiency" in this context ?
Power loss due to switching
So higher frequencies have lower efficiency because more energy is lost
I might be backwards, hold on.
Nope I was on it
Anyway, smaller resistors on feedback divider will lose more to heat
So if you’re battery operated, that might not be ideal
Yes, I think it might be better to go with a higher value as this is primarily to power the companion computer(Nvidia Jetson Xavier NX) which consumes 20W and
The entire system is powered from a LiPo battery.
Also considering that the table of recommended values is based on a 100k R1, probably better to not have to recalculate all those values
thanks and btw other than the one from the data sheet would you like to suggest any filtering circuit specific to my case ?
I would imagine that the recommended power circuit for you individual components should be sufficient
Some devices have filtering based on LDO and DCDC supplies if there is a need to address such variance
It does mention a capacitor, so I'd probably put a small (100nF or so) capacitor from the FB pin to ground. There's a resistor calculator that will find standard values nearest a ratio here you can use to choose values (for instance a ratio of 0.115 yields 15kΩ and 130kΩ): https://nightshade.net/design-tools/resistor-calculator/
Oh this is valuable. I need to save this link
so what are the major benefits of machined female pin headers?
compared to what?
Compared to "normal" headers that are half the price
much lower profile when you're plugging in machined male pin headers compared to the male/female square headers. I use machine pin combos for adding the qtpy boards to my carriers
Well, I'm really glad we were able to pin down that detail.
I'm working with a buck converter that steps down a maximum of 36v to 10v. The input capacitor section of the data sheet is a bit confusing. It suggests a 4.7u(ceramic) and an electrolytic capacitor with High ESR and also mentions that a low ESR ceramic capacitor should be used. Also the board is a Pi/Jetson HAT and the components are placed on the bottom layer(back side) as the top is reserved for connectors. So getting an electrolytic capacitor to fit would be a very tight call. Any help or information regarding this subject is appreciated 🙂
I've attached a screen shot of the "Input Capacitor" section, typical application from the data sheet and a circuit from an Evaluation kit that uses the same IC.
Link to the full Data Sheet and Evaluation Kit:
DataSheet - https://www.mouser.in/datasheet/2/256/MAX20404_MAX20406-2887587.pdf
Eval Kit - https://datasheets.maximintegrated.com/en/ds/MAX20406EVKIT.pdf
There are some ways to avoid electrolytic capacitor. This type generally is most cost and area efficient. You can look into the tantalum capacitors (but get familiar with the disadvantages and risks), or even some big ceramic capacitors. In case of big ceramic bulk capacitors, sometimes it is good idea to add discrete resistor in series, to increase the ESR for damping purposes.
are there any down sides to using a tantalum capacitor
?
oh yeah, the biggest one is that their fail mechanism is very likely to cause a short-circuit 😄 So it is not so common in high-reliability systems. You need to take care of voltage derating when selecting one
Okay, so the trick is you have to run it at higher frequencies to use ceramic capacitors
400kHz mode would require electrolytic caps
But 2MHz/3MHz mode could use ceramics
It’s all about the frequency
A combination of the capacitance and the capacitors material determines response, though mostly the capacitance
what's the exact reason for this ?
I can sent you the TI link via private message if interested
sure
Wait, forgot about bit ly
There ya go
It’s a TI note about designing high frequency buck converters
Anyway, big takeaway is that smaller footprints enable smaller total area which means less issues using higher frequencies
Also more space for more cool things
And then of course dealing with the frequency response range of ceramic, vs tantalum, vs aluminum electrolytic.. the characteristic frequency decoupling of electrolytics and and other polarized capacitors is relatively low, usually far less than 1MHz.. so not ideal for high speed buck/boost converters
how exactly do the frequency settings work ? The data sheet mentions an external clock source. Are they just PWM signals or something like an oscillator ? The Data sheet mentions about pulling the sync pin HIGH to force it into FPWM mode. How do you ensure that the frequency stays constant under different load conditions ?
Look at Table 1: Recommended Components
They specify the components for specific ranges. So the LC circuit helps set the timing because the inductor and capacitor oscillate at a specific frequency
Since you’re likely only using one of these, I’d tie SYNC to ground
Sync is used usually for timing with other on board DCDC converters
It will generate its own PWM signal under loads when sync is pulled to ground as well as it mentions
External PWM signals would come from another converter or PWM source
Probably not necessary in your case
Thanks for the help@distant raven
hey all,
New to hardware design, any advise on what software to use for PCB design?
I am running linux btw 😸 :arch:
I think either Kicad or one of the web-based ones is then the recommended tool
kicad is the way to go
i'm actually a fan of EasyEDA online. works great but there's a learning curve like with any design software.
I ended up just attaching a camera to a microscope
hmm i do have one of those cheapy usb cameras around here somewhere but was tired of fighting with it in software.
that's a nice microscope 👀
neat setup
It's a pretty cheap student microscope, but sufficient for my basic needs. Sadly, the expensive bit was the relay lense and adaptors for the microscope barrel and camera.
and i think it's in like 480p scaled up to pretend to be 720p. cheap thing not even worth using.
Camera is an ancient one that takes full sized CF cards, but it's light enough to not strain the adapter, and has decent resolution. Older cameras like that just don't hold their value.
i don't have the steady hands for a microscope setup, respect to anyone who can work at that microscopic level.
i still have an iphone 5 because i refuse to give up my 3.5mm jack 😛
I'll see that and raise you a Blackberry Key2 because I refuse to give up my physical keyboard.
why ESP32-S3 Feather so stingy, tiny flash and psram
Not sure, appears there is only one variant of the mini module
WROOM doesn't fit ?
I don’t think it does
🤓
Random question i know... Anyone with a good idea of how i could make basically a "12 track disc player" but for SD-cards? I have a pi400 board that id like to use for many different things. Right now i can choose one thing and ive had the idea of just spamming out mini sd-cards with random OS's (Android TV, weare-os, retropi etc), and instead of doing dualboot it would be cool to have a row of SD-cards i could push down on to select that sd-card and have the pi400 boot from it at next boot.
Anyone with experience doing soemthing like this? Could there be a better way of doing it?
Can you boot from USB-drives maybe? Theres a cool Cyberpunk datashard idea in there somewhere...
it's not a datashard unless it goes in your head though right? 😁
I think there's a "chip select" line used to talk to SD cards, so switching between them would involve asserting the proper chip select line. Some SD card sockets have built-in switches so you might be able to co-opt those to detect the card pushed on, or even route the chip select signal directly.
some boards have multiple SPI bus capability but it's usually limited to 1 or 2, don't know about the pi400. switching CS seems like an easier solution and would scale better.
also could just get a bunch of sd card readers and put them on a USB hub that has on/off switch capability per port.
but datashards are typically loaded individually if you're going for cosplay idea.
running a wire up the neck with a ribbon cable under prosthetic latex and some prop magic could make a functional shard port on your scalp.
Wouldn't SmartMedia be more fit for the purpose, being flexible?🤣
(speaking of flash media, Sony still makes MemoryStick, along with the Select version, with a physical switch for choosing which memory bank to use! 😂)
Prototype assembled, I'll try to make it go live tomorrow, next stop, the screen (en route) and the casing (namely, a 1U rack box)
and since the final housings for the tags will be a bunch of plexy slabs, I was thinking of putting some thin felt lining into the slots of the frames holders, so not to scratch them
i see why you wanted to make them yourself. makes sense.
them what? the tag holders?
oh nvm those are just plugs, thought you needed them for a cable conversion.
ah, those! yes, at the end it was a cable conversion, from Molex SL to single header housing (not offered as a prebuilt, shame)
but, once I manage to make another PCB, I'll go with SL-SL cable once more
if you're making your own pcb why not just find a compatible plug for the other side?
pin headers are probably dirt cheap in comparison but unless you're making them in quantity i don't see the sense in all the extra work.
though you did a great job on the crimps. i can't do it that nice. 😛
because "the other side" for now it's just the Pi header, once I manage to design that board, I'll make it SL again, but I'm in no rush, it's just for keep it tidy and modular 🙂
(btw, love that connector, it has the same factor as a multi-pin crimp housing, plus the polarization :3 )
believe it or not, it's my first time using that crimp gun (only used an RJ one), and it came with a nice explanation booklet
and I've still managed to make some duds XD
well i meant i don't have one so i'd have to mash it with wire crimpers. 😛 looks awesome for a first try. maybe i'll have to add that to my ever growing list of do wants.
yeah i can see why you'd want the real deal then lol. there's no way you're getting that done with vice locks.
at least i have a wire stripper that kind of has a little crimper built in but it doesn't work on small stuff.
you might as well have tried using a hammer 😛
this one, I suppose?
had to strip with electrician scissors, the ones with the notvh near the fulcrum
the one I got is an amazon special, I think the actual cost is some €25, with the remainder split between the two boxes of connecotrs
yeah i have something like that but designed for automotive, so much bigger crimpers.
it strips small wires fine but won't crimp those little things you're working with.
anyway, glad you finally got those things made like you wanted, you've been talking about it for a while. 🙂
Somehow im not confident enough in my own abilities to start playing around with SMBD's (Surface Mount Brain Device) 😛
Are there DC/DC converters that just don't require external caps? I'm not seeing mention of them on this datasheet.
And when is it NOT appropriate to connect VIN(-) to VOUT(-) to GND?
I would be surprised at one not requiring. AFAIK it's pretty fundamental to have them, and putting a big enough one inside the chip is pretty difficult/space prohibitive. There are cases where you want to isolate sections of your power, and I could see having a split ground, but that's beyond my personal uses. 99% of the time in hobby stuff you likely just connection all the -s to gnd. Do you have a link to the data sheet? I'm curious about the cap thing.
uhmmm... guess I have to clean away the flux from the sensors, they're shorting or having parassitic currents
is windex ok for the purpose?
I would use as high of concentration IPA as you can get
It's a module
suspected much, albeit I like fruit lambic more :3
Oh! If it's a module there might be one already in there. Hard to say. I'd scour the documentation make absolutely sure they don't mention one offhand somewhere, be prepared to possibly add one if your power seems flaky
I’m not a beer drinker so IPA is always isopropyl alcohol 🙂
They mention an input one but not output, so I'm tossing a 1 uF on the output
0.1-1uF won’t really hurt you, just sprinkle a few on for good measure lol
Too much capacitance causes "problems" that aren't problems for most circuits. It's pretty safe throwing on unneeded ones unless your circuit is particularly sensitive or you're trying to cut costs
That’s why lower 0.1-1uF is usually better than throwing in day, 4.7uF or more. Parallel capacitance adds up fast
Obviously too much capacitance on output or input to a circuit can cause issues on power up. Taking too long can cause weird transients when it hits the target voltage trigging brownout detection or even safe mode on some microcontrollers/mpu
Yeah, way too much will cause problems, but throwing in a reasonably sized one where it's not needed likely isn't going to be noticed in your average circuit
It'll take microseconds longer to start up 😉
One a light controller I’m working on, I’m one prototype I have a 1000uF capacitor on 5V and it causes a 1S blip/reboot on the 3.3V DCDC regulator lol
The 1000uF is for power buffering long strips of LEDs but when no strip is connected to pull the power, fun things happen haha…
Yeah, that's a monster capacitor. I've only seen that capacity in capacitors at least the size of my finger
anyhow, time to stash the board another month, I guess
I know its code works, so I won't need it for some time.
meanwhile, I can dedicate some for the main code and the other board
it did work on x86, let's see if it does on Pi as well
I reduced it to 470uF in a SMD electrolytic for the final design. I figured I probably don’t need 1000uF if I do the design right
I've discovered the joy of using global labels for the schematic.
I'm never going back.
Why not? A short program will do it for you.
Me: lemme just put M2 mounting holes, along with a pad so to use the chassis as ground
Also me: drilling and tapping looks like a PITA, I'll just use adhesive standoffs
uh? are JST XH connectors not made anymore? mouser doesn't even assign an internal part number
that is weird. the search for other common JST *H connectors doesn't really yield the right results either.
I see digikey has it in heavy backorder (talking october)
bleah, BOM polluted 😛
you might look on LCSC to see if they have them. they sometimes do
I ordered like 1000 stemma qt connectors from there when it was impossible to get them from anywhere else lol
oh, but I do have them (albeit generic), it was just for prepping the document
ah
since I'm eventually opening up the project, code, hardware et al, I might as well make the BOM so to help anybody willing to replicate it 🙂
sure, makes sense
Is a linear regulator an OK power source for an adafruit board? Something like a 7805?
Yes, though often Adafruit boards will already include a linear regulator on them.
I'm regulating down to 5V from higher
IIRC they include a 5-3.3V regulator, no?
or is there an X-5V regulator too?
anyone know what's the model of speaker on MagTag ?
I cannot even find the model on ECAD files
also It doesn't look like a speaker to me. I think it might be a piezo buzzer
yep, it's a buzzer
what kind ?
Yep, generally. The input voltage range might extend a little higher than 5V, depending on the board, but it wouldn't usually accept like 12V or something if that's what you're starting with.
it says nothing
still nothing
Yeah I need the pre-regulator I think. Thanks
says it's a 7.5mm one, so I guess one of those black button-like piezo
SMD piezo are very thin, It might be a magnetic buzzer
currently made of unobtanium
they just stopped making them ?
nah, smart sand crysis still going on, albeit in a lesser form
this is what the schems say about it
sorry @woven bluff, but unless an ada designer for the board chirps in, that's all you get
that's not possible, PS series are all through hole mount
¯\_(ツ)_/¯
Adafruit Industries, Unique & fun DIY electronics and kits : Contact Us - Tools Gift Certificates Arduino Cables Sensors LEDs Books Breakout Boards Power EL Wire/Tape/Panel Components & Parts LCDs & Displays Wearables Prototyping Raspberry Pi Wireless Young Engineers 3D printing NeoPixels Kits & Projects Robotics & CNC Accessories Cosplay/Costum...
Choose "technical support"
A beginner here.I wanted to ask how can I chain multiple sensors in the same bus,without using the same breadboard.I have seen some examples with stemmaqt,but I am using a normal mcp9808 with a breakout board from adafruit
For I2C sensors like that, you'd just use wires to connect SDA, SCL, power, and ground together along the chain. That's all the Stemma connectors are doing.
welp, full pinouts documented as well
thank you!
ok,thanks
Whoops, sorry, was talking about the work I was doing yesterday 😅
aha,no problem,thought it was for me...
What went wrong here?
That looks like an AI-generated picture of a circuit board...
Clear potted board that someone realized they had to do a rework under?
Digital panini press over here!
Maybe this is a dumb question, but how do I determine how much current a 7805 regulator will draw from VIN? Maybe I could just compute the number of watts delivered (5W at 5V since it peaks at 1A) and divide that by 12V for the input, but that doesn't make sense to me because it's not 100% efficient
ahhh wait a linear regulator just burns off the extra voltage
Yeah
current in is approximately equal to current out for a linear regulator. it will probably sink some small amount of the input current to ground just to run the regulator itself ("quiescent current" might give you a ballpark figure on that)
Isn't that one of the things where there's usually a graph at the end of the data sheet?
Sometimes they have them, yeah
The image is a Dall-E 2 generated alternate version of a board Im working on 🙂
That looks like an AI-generated picture of a circuit board...
Yay, 10 points for me! 😁
Yes - you just won a brand new Porsche 911 Turbo S. Where should I send the keys?
Should I send the keys to Keyes?
OLED module just arrived!
Documentation? Never heard of it.
Be thankful we tell you the controller.
gotta love how it's sold as I2C compatible, but actually supports only 3/4pin SPI, 8080 and 8060
and the datasheet is missing the last section!
Thast why i always buy stuff from Adafruit or a local supplier of their stuff, never any problems with documentation or help.
I know the struggle all too well 😄
scratch that, I confused the global index with the list of tables and figures 😛
"5 pack of super duper mega oled screen xyz i2c controller board brain iic audio" etc 😛
I mean, it's the module audiophonics uses for its DIY network streamer, and it uses a Pi as well, so at least I know it's compatible
Dont forget the tiiiiny hand clicking on a non-touch compatible "0.9 module, making it look huge 😛
nice, controller is up to 480x128, but this is 256x64
standard pin header... I'm refusing to use loose wires on this project, I'll use an IDC flat instead once I'm done with it :3
let's test it out... thankfully I've documented all the pin assignment already 🙂
it lives! but for some reason it whistles when showing pics
could it be it doesn't like gettin much data when using 3.3v? what if I switched to 5v?
The whistle
ok, it might be the buck converter
I just realized I might as well do a HAT, as there's only passive connectors on that board 😅
at least I'll get rid of the ribbon going to the Pi
Does anyone know what the dimensions are on the FPC connector for the iPad 1st generation LCD? (Pitch, number of pins, thickness, etc.)
I'm looking for a compatible ribbon cable
Strange question maybe but... Does anyone have a gerber of a USB 2.0 or prefferably 3.0 hub?
All i really need is a hub with 3-4 ports, USB-C female in and USB-A females out.
Its almost impossible to find such a hub without it being crazy thick, a fully fledged dock or in a really strange shape.
Any guides for how to make one is also, of course, very much appreciated!
Actually, nevermind. I might use the iPad mini LCD instead
There are USB Hubs in IC. They have example schematics in their data sheet.
Not as easy as a gerber file, but is a good start.
Pin assignments between a thru hole and an SMD 74AHCT125D are likely to be the same right?
Why guess? Look at the datasheet and be sure.
the datasheet only has surface mount
currently looking for another version
found one
Is this good for removing flux?
https://www.digikey.com/en/products/detail/rohm-semiconductor/RE1C002UNTCL/5042785 would this transistor be able to switch 12v DC @ 70mA with 3.3v (under 40mA)? I think so based on all the specs, but the Vgs(max) concerns me - from my understanding, that's the maximum voltage difference between the gate (3.3v or 0v in this case) and the source (+12v). But that doesn't make sense to me given that it's rated for 20v source to drain. What am I misunderstanding?
your source should be near 0V, your drain is 12V
which I've always disliked since it feels like the terminology is backwards but I have gotten used to it
The terminology has been confused for as long as electricity has been a known thing: https://www.douglaskrantz.com/ElecElectricalFlow.html#:~:text=Electrical engineers say that%2C in,back into the positive terminal. (first google result I found that talked about it, not necessarily claiming every single claim therein is correct)
This is High temperature LED circuit that works fine. I also have to input the same 10K PTC to another controller. But, due to the high reading at controller input, it reads inaccurate temperature because of the LED circuit throwing off the resistance being input to the controller. The thermistor used was KTY81 110. I did verify that a thermistor by itself (without an LED circuit) returns a reasonably accurate temperature on the controller.
I intend to use the single thermistor to trigger both the high temp cutoff on the controller and also the LED circuit, How can I optimize the circuit to produce the correct resistance value at the appropriate temperature for the controller?
The controller is off a shelf motor controller board that takes thermistor input and cutoff on high temperature as set by the user although there is no indication for that. To have the LED indication I came up with this circuit which will indicate High temperature. #help-with-hw-design
Sorry for the noob question: What do you mean with IC? All im capable of thinking of is Integrated Circuit 😛
Yup, that.
If you just need the bare board in small quantities, you could try buying an off-the-shelf hub and pulling just the board out? If you’re in it for the experience of building the hub then yes, there are a variety of hub chips available that you can build a design around.
You know how some storage hats use an usb bridge for connecting to the pi?
Is there any regulation in place on where to place them and so on? If I use it only for power, is it still a Hat?
Also, is the EEPROM mandatory?
Are you selling the hat?
No, but I'm making it public design
Also, I don't think there's anything to configure
Five buttons, five LEDs, an SPI-4 screen and a LED Shim
All off the shelf and plugged in the "hat"
Ok, turns out I still have to provide EEPROM, even if I don't use it to configure anything
Uhmmm... Apparently I'll have to rethink a couple of details, power-wise
Which controller?
This is probably a stupid question but iI'm designing a mechanical keyboard with kailh choc v2's. They say that they support cherry low profile keycaps. I think that cherry keycaps use 19.05 spacing but I am unsure if it is just that they can work with it or thats what the spacing is.
?
I have a question about LEDs and storage temperature. How affected is the LED lifetime by a storage temperature outside of its absmax storage temp rating?
in my case, the LED may see occasional temperatures of 135C.
but when turned on, will only have ambient temp of 25C-ish
kind of specific question, I know, but I couldn't find that much info about this with my google-fu
my guess is, it'd at the very least damage the casing, then the driver (if any)
no driver on this part
We just did a test with our motors with built-in LEDs - running them through 300 sterilization cycles
That is, 2 bar pressure, 135C steam treatment for 15 minutes.
That's a pretty harsh environment.
after every cycle testing the motor and LED operation
motors were running fine after this all, but the LEDs started failing after 100+ cycles
(first one at 100, some at 200 cycles...)
I think we need to look at the LED supplier :/
probably shorted because of humidity leakage in the lens
yeah that's my thought as well - the lens material fusing not being correct
maybe encase it somehow, so to have a small insulating air gap?
ok, so no chance to apply a gasket+window
no, I think we need to do an in-depth analysis of the LED under microscope
and look at the LED supplier
We may need to pony up a bit more for better LEDs
something like these
the one we're using should be 135C rated
but also - noone ever will actually sterilize these motors.
perhaps once per year max
They just wipe them down.
Only handpieces are sterilized.
(even though I think it is mandatory to sterilize motor after each patient...)
I mean, if the LED is easily replaceable, you could just build some check, and if a fault is detected, swap it
so Schott it is
yeah Schott looks like they have proper ones - but will cost a bit more
and we'll need a special design anyway
if you need TO-LED, they also make it connectorized
same with Mini-LED3.0, size down to 2mm
oh, cool, if I want to make the hat, I have to shuffle pins around already, as I'm using GPIO6/16 😐
or is it only valid for legacy Pi1A/B?
ok, I understand j3 is the jumper for write protect (either via solder bridge or pins).
but what about PP3 and PP4?
same thing, different smell?
ok, they're test points, got it
I'd guess "PP" stands for "pogo pin", so they can easily flip the write-protect for automated flashing in a test fixture or something.
probably, and I'm going mad already at trying to place and route this XD
question: if I have a display accepting up to 5V for power, will its SPI go to 5V logic as well, or will it stay at 3.3V?
if you're supplying it with 5V, the SPI will likely be 5V, if you're supplying 3.3, then the SPI should be 3.3
does anyone know of a simple I2C tachometer, frequency counter, can the seesaw do this?
Is there any reason you're using metal cased LEDs? Ordinary epoxy cased LEDs are cheap and very weather resistant.
They're running pretty hot - and need the thermal connection through the metal casinh
1W for that little led
(25000 lux)
Ok, so time to insert a LDO, yoink 5V from the Pi, and yeet 3v3 in the display
You can use level shifters
nah, it can work at 3v3, but I'd rather step it down from the 5v rail than try to power it from the 3v3 (already in use by eeprom and rtc)
at least I should be able to provide more current
please don't hurt me XD
Yoink and yeet are my favorite technical terms
wow, apparently not only the autorouter did everything right (and without vias!), I also managed to make a contigous ground pour on both sides as well
Sorry for the late reply
Ive already done the first version, however the board i bought uses a really thin PCB and ive already gotten some broken connector issues with it.
The base idea here is to build my own keyboard, i was thinking of using an existing design and apply it to the board i want to have made and use some internal wiring to hook up the keyboard to that hub (effectively removing any external cabled between keyboard and hub).
Problem is i dont even know what USB really needs on a component level (thats one of the things i wanted to learn bu studying gerbers).
Alternatively have a thin USB-hub gerber and just replace the cable>usb a/c male connector (to the upstream host) with a soldered on usb c Female connector.
🙂
I want to try to add a development board to my pcb but I dont want to add the height of header pins, or have them stick out the other side of the board. Is it bad practice to try to surface mount the board if it doesnt have castellated holes?
Like I was thinking of flowing solder into each of the holes onto a rectangular pad until they stick
There are also shorter headers available
I've been pretty happy with machine pins and sockets
yay, finally found some tentative specs for the OLED I'm using (because the seller couldn't be arsed to state the manufacturer...)
A Vishay equivalent will draw 27mA@12V with 50% usage.
54mA@12V at 100%
about 197mA@3.3V
I'm using a Pi3B+, which should provide some 500mA on that rail, so I guess it's the panel's regulator, but I guess it wouldn't hurt to power it off the 5V with an LDO
this is an adaptor for my psp to upgrade it to usb c. its meant to be a 2 piece design and soldered/ glued together using the holes with no traces as solder pints to secure itdo yall think it will work or will it be too thin and likely to break?
i have a really cheap soldering iron that came with a 1 amp fuse but the first time I plugged it in the fuse blew
