#CD Player

1 messages · Page 1 of 1 (latest)

halcyon river
#

Building a CD player based on a old CD drive, project split in multiple tasks (not everything is in order):

o Implementation of the ESP32-S3-MINI ESP32-WROOM-32E > WIP
o PD (Power Delivery) triggering
o I²C to IDE I/O expander
o RTC circuit (Real Time Clock)
o Overvoltage and undervoltage protection
o Bluetooth implementation
o Physical control interface (screen, buttons, etc.)
o Data storage (EEPROM)
o FM Radio
o Data interface (SD card, USB port)
o DAC and ADC

#

dang I can't even pin messages

#

picking up from where I was, routing D+ and D- to my ESP32, I managed to get a .0053mm length diff between the two

halcyon river
#

Feedback on this routing? Amazing how a good layout can change routing

halcyon river
#

No

#

Actually it could but it's a 6L, I just have ground planes on inner layers

late cobalt
#

4 ground planes?

halcyon river
#

My old layout required 3 signal layers

#

new layout only requires two but JLCPCB has a nice 6L deal with free epoxy filled and capped vias, vias in pad and 2U" ENIG

#

So I just have ground to fill unused layers

red crow
#

I'd put a power plane in there: top→SGGPGS←bottom

#

This track is really thin for 3V3

#

Should JP1 be after C1/C3?

#

If you're planning to provide power through J4 then this is weird

late cobalt
#

can you attach a schematic?

also I'd just throw the concept of stitching vias in the room

late cobalt
halcyon river
#

1A max

halcyon river
#

Found a plugin to stich for me, however I'd like to know more about the benefits of stiching

halcyon river
red crow
#

There is no such thing as a too big power trace

#

it decreases inductance, which this calculator doesn't take into account

halcyon river
#

Okay, sorry didn't know about that

#

Will add a few mils

red crow
#

why work in mils at all? personal preference

#

I aim for 0.8mm for power (0.6 minimum if it's tight), dunno about mils

halcyon river
#

I base my measurements from this article, 1st section

#

Remember this is low power anyway, the whole board won't draw more than 1A

#

Upgraded to .4mm

red crow
#

1-2mm if it's really close (like this) #kicad-schematic message

halcyon river
#

1mm !!!! This is huge!!!!

#

This is going to ruin my layout!

#

Why does the article I sent here says to avoid wide traces if possible and you say the opposite

late cobalt
#

if you read the article (I just checked to figure out which part you mean) he says

You always want to use the narrowest features you can with no extra cost to get the highest routing density.
So use narrow traces to save space

#

for power that is

#

a power plane (that you could do on 6l) would basically be a 52mm wide trace on your board ^^

halcyon river
#

I'd need a double power plane, or should I say two power planes on the same layer

#

but I swear I've seen people here saying power plans are useless

late cobalt
#

power planes are comfortable

#

you wanna route power on low layer count boards to avoid having to add 1-2 layers for a power plane because more layers cost more

#

if you wanna go 6L anyway and your current stackup is

S/P
G
G
G
G
S/P

just do a power plane for the love of god lol

halcyon river
#

true lol

late cobalt
#

also check the other server xd

halcyon river
late cobalt
#

and?

halcyon river
#

isn't that bad, or does that only apply to signal?

junior shoal
#

If you have 6 layers anyway, use one layer per voltage as a power plane

#

Ideally with gnd in between so you won't get cross-voltage-domain capacitive coupling

halcyon river
#

Alright latest revision of the board

#

Still need a lot more silkscreen, don't know what to add more

halcyon river
#

My life is a lie....

#

I have to redo everything

#

I just learned that the ESP32S3 doesn't support A2DP for audio streaming

#

I have to use a regular ESP32

#

sigh

#

I can put this board to trash

#

maybe not

#

there is hope

#

Because the ESP32-MINI might have the exact same footprint as the ESP32S3

junior shoal
halcyon river
#

Nope....

#

I guess I'll just copy the project since this board ready for production anyway

halcyon river
#

I have to redo the whole board anyway, I need a USB to UART to use the ESP32

#

Well if that's the case I might use a WROOM or a WROVER

#

And USB to UART costs 2$

halcyon river
#

5$ with feeder fees

#

welp I guess it is how it is

#

A2DP is costly

#

This stuff is so old it doesn't even have half the pins of the ESP32 S3 mini

red crow
halcyon river
#

It's bluetooth low energy

#

I can try a sample code when getting back home in an hour but pretty sure I need Bluetooth 4.2 BR/EDR to get A2DP

red crow
#

i just found out the same

#

and was about to type it

halcyon river
#

Sadness...

halcyon river
#

Second board done, waiting on feedback

red crow
#

the "boot" and "reset" labels went missing

#

The infamous 1µ capacitor on the EN line is also missing Found C5 but the placement is questionable

#

I still would put JP1 before C2/C4 not after

#

What's D2/R11 doin'?

#

LED?

#

I'd add some solderjumpers around U1 so you can transform the layout from your schematic to my schematic #electronics message in case necessary, without difficult bodging

#

btw, why the 28-pin CP2102N and not the 24-pin? You don't need the extra functionality. Availability?

#

also, CP2102N GPIO.0 and 1 can be used as RX/TX activity LEDs if you program it using their IDE

#

^<image deleted> I recommend BJT over FET for the boot circuit though

halcyon river
#

slowly adding the missing silkscreen

halcyon river
halcyon river
#

Thank you very much for your valuable feedback

junior shoal
#

I have a tested open source PCB for a esp32 with uart bridge and the transistor stuff on my github if it helps

#

yup seems like I used BJTs too

#

this thing is so old kicad launched the "rescue symbols" dialog

#

so... KC5 days?

#

looks like I did the dataline jumpering like this

halcyon river
#

I'm also using BJTs, same transistors as in their schem

halcyon river
red crow
#

i noticed the bigger version is missing the VIO pin. It should be connected to VDD if present.

#

just don't use the smallest of the three, it has four sneaky hidden pads (so it's part QFN part LGA (Land Grid Array))

red crow
#

VDD is like VREGOUT, but if you power the 3V3 reg with 3V3 you're telling it, 'don't reg, I'll provide it for ya'

halcyon river
#

Okay I see

red crow
#

VIO is like a level shifter for the outputs

halcyon river
# red crow fixed

Okay, are the TX/RX LEDs open drain? I see your LEDs having the TXT RXT pins on the negative pin

red crow
#

yes

halcyon river
#

Other small question, why are you putting your resistors after the LEDs and not before?

red crow
#

layout reasons

#

and 150R is for diffuse 5mm LEDs. choose with care

halcyon river
#

Yeah I need to run the LEDs at 1mA since I'll be using 0805s LEDs

#

Alright, how's my USB to UART looking now?

halcyon river
#

Routing done!

#

Looks clean enough to me

red crow
#

that meander doesn't look correct

#

consider that distance to B7 is longer than to A7

#

and that blob between the three power pins looks ugly. you don't need 1A for an UART

halcyon river
#

I should adjust distance before the TVS

red crow
#

distance adjust is not necessary at all

halcyon river
#

What is the blob

red crow
#

worse, C1/C3 are not near U1 but cut off by the usb lines

halcyon river
#

Okay I see

red crow
late cobalt
#

lol

#

ok xd

halcyon river
#

Better?

late cobalt
halcyon river
#

Or getting thin traces btween the pads of caps

red crow
#

the caps can be moved under the tracks whole

#

no need to blame pinout for not being wrong

halcyon river
#

Data lines are going to get much longer

red crow
#

nah, the resistors can be moved down a lot

halcyon river
#

I dno't see where do you want me to put them

late cobalt
# red crow no need to blame pinout for not being wrong

im not blaming the pinout for bad routing, im just saying with a different pinout good routing would have been more straightforward, personally id probably just put decoupling on bottom side but with single side assembly its a bit meh

red crow
#

place the caps where R8 currently is

halcyon river
#

I can also put caps on top and perfectly fit data lines between their pads

#

I just checked and there is enough space

red crow
#

you can also move R1/R2 to the other side of the TVS altogether and route usb lines above

red crow
halcyon river
#

So I put caps directly on top of U1 and route USB between

red crow
#

we need collaborative kicad editing like google docs

halcyon river
#

That would be hell lol

#

OH I see it!

#

Okay I get it

junior shoal
#

That would be dope

halcyon river
#

Or on full left of the chip?

red crow
#

you can rotate them 180 and move them in line with resistors (looks nicer)

#

and remove via and wire directly from pins to caps

halcyon river
#

Can't get them any closer

#

Actually I can

halcyon river
#

Now I wouldn't call this perfect but it's too far to my eyes

#

Only missing the memo silkscreen on the back from UART pins, I2C pins, etc

red crow
#

||those misaligned texts "GND" tickle my ocd||

#

why name pins VP and VN instead of their respective 36 and 39?

halcyon river
#

you are right

halcyon river
#

3D render because why not

red crow
#

${KICAD8_3DMODEL_DIR}/Button_Switch_SMD.3dshapes/SW_SPST_TL3342.step

halcyon river
#

Yes

#

Also need to find the USB c port

junior shoal
halcyon river
#

lmao It's truly NC

#

wth

halcyon river
#

I got my cheatsheet done

halcyon river
#

Tbh, except for QFN I could handsolder all of this myself

halcyon river
#

My life is a lie

#

I might need to assemble it myself

halcyon river
#

Was a good move to switch to that module, I could not have soldered the ESP32S3 which has pads beneath the modules

red crow
#

what's "Standard" PCBA service?

junior shoal
#

just with more limitations on component choice

#

standard has more features, can do 2 sided, you can order parts from mouser etc to it, but it costs extra

#

and quite a bit too

red crow
#

ikr

junior shoal
#

should have named economic "standard", and standard "pro"

#

since economic replaced what used to be normal

#

honestly, pretty annoyed at jlc recently. they keep paywalling parts behind extra fees and standard assembly that used to be basic cheap parts

#

their PCBs are still dirt cheap, but depending on what you need, assembly for 5 units can almost reach pcbway prices between extended fees, surcharges for weird reason, standard fees....

#

and their quality is simply not on a level to warrant such a price

red crow
#

This board uses one of those "Standard-only" (?) WROOM modules and PCBA of 258 parts, cost is almost negligible. I wonder if anything changed since? (this was 1.5y ago)

#

that's PCBA cost, not PCB cost (oops)

junior shoal
#

USB/BLE keyboard, kept as much basic as possible

red crow
#

this is more like it

junior shoal
#

led control thingy, that's with esp32-c6-mini modules ordered from mouser and paid for separately

#

on that one the BOM cost is actually rather high, so I can understand the price

#

on the keyboard it is wild 😄

red crow
#

ESP32 is indeed among the 'expensive bastards'

#

still only €2.20 per pcb

late cobalt
red crow
#

if you're broke you get your devkit clones from aliexpress instead of homemade

late cobalt
#

I'd assume it's about learning pcb design, not having the devkit xD

#

they wanna build a cd player or something

#

oh

#

well the thread is called cd player so I think so

halcyon river
#

Yeah, because if it works I'll just reuse the design

#

I'm splitting this big project in smaller tasks

#

And I'm not paying 25$ just to be able to assemble the WROOM

#

I'll do it myself since it's a castellered module

red crow
halcyon river
#

easier routing

red crow
#

I don't see how routing becomes any harder when you swap them

#

i mean you can even solder the leds on the resistor pads and vice versa