Make. Better. Always looking for ways to up-level circuit design, prototyping, assembly, small batch production: everything that goes into making hardware. And here, I share the interesting finds I make along the way.
I'm big into open-source--a lot of using and some creating/sharing--so you can expect kicad, openpnp, and recently a host of new tools to play with for VLSI and ASIC design.
So if you want to get into making, or hone your skills by learning from my mistakes, I've got a lot to share. So subscribe and/or get in touch!
Пікірлер
That was great, both highly educational and very entertaining. There was obviously a lot of work behind this and a lot of work going into the video. I really appreciate the end-to-end approach as so much contents jumps right into the middle and spend two hours on one detail. I'll now go hunt for more of your videos. PS: Though I do not have any KiCad experience (and next to no EE background), I still think I could follow all of this. 👍
Just ordered mine thanks to this video. Thank you.
Hi, Benjamin! I don't break the thing out every day, but I used it yesterday to get some files onto a flash PMOD to test out an FPGA project (which I just demoed on the MakerCast 30 minutes ago, heh)--such a breeze. And I met the guy behind it at Teardown in Portland a couple of months ago: really nice, and I'm not just saying that 'cause he gave me a backup unit, hah!
Switched a 4 layer board to 2 layer and now...sigh...anyway, guess I can switch it back to 4 layer if it's too much of a hassle to route it.
Hah, sorry to hear it--2 layer is great if you can get away with it: I used to try really hard for 2 layers because of the price difference but now it's come down so much that it's mostly about turnaround time--if I need something like right now, nothing beats a green two-layer! And, truth be told, I'll sometimes use layer 2 on a 4-layer as a cheat to get by something tricky, but mostly I turn to them for solid, nearby, ground planes. If you need some controlled- (or semi-controlled, anyway) impedance, it's a lot easier and the nearby plane makes them way better on EMC, too.
You, sir, are a total rock star for sharing your experience with this process. I can't wait to design my first block!
Jason, that's music to my ears! Thanks so much, really glad you're going to play... warning: can be addictive (it's 3am and I'm still fighting with a bug, but if it works gonna a be pretty coool! maybe some shuteye will help me solve it tho). Thanks again for the comment, have fun :)
@@PsychogenicTechnologies Sleep does wonders for bug-hunting! Wish you the best. Regarding the addiction - to that I say, "Bring on ASICs Anonymous!"
Great video!!! Would you be available to talk about a project of mine for which I don’t really know where to start please?
Thanks! It's it's for a job, shoot me a message on the psychogenic contact form (psychogenic.com/contact/), otherwise just reply here and gimme an idea what we're looking at :)
@@PsychogenicTechnologies thanks for yout reply :) For a start, I would like to sort pieces very similar to LEGOs (12x12mm of square section, height varying from 12mm to 132mm) from a start location (that would be the equivalent of feeders) to an end location (that would be the equivalent of circuits). Thing is, my "feeders" are 2D plates, very much like LEGO plates, and I have no clue on how to set that up in OpenPNP... Could you help me please?
Been looking for a decent software for chip designing, potentially with the ability to design transistor library for chips smaller than 65 nanometers (or even 2 nanometers node), as I figured why not put together a general purpose RISC-V VLIW processor. Hopefully this IC CAD app will do.
a fan from Indonesia, great videos!!
Indonesia, awesome! I'm still amazed that we get to collaborate and interact like this :) Thanks for the comment!
I would like to know what software are you programming python on?
Hello Hoan: I sometimes use geany or even vi but mostly use eclipse (with PyDev), as I like the project management, code completion, etc and I can write in all my fave languages.
@@PsychogenicTechnologies yes, thanks you!
@@PsychogenicTechnologies but can you tell me if it is possible to write python script for Allegro pcb? thanks a lot!
@@HoanNguyen-kh7wr oh, actually I can't--I know nothing about this... it's a cadence thing? I've been a pure kicad guy for many years now, so I don't know. But, they make powerful software, I assume there's a way to script things. Just def not with my libraries! heh
@@PsychogenicTechnologies Thank you
Genuinely such an underrated channel, great content!
Thanks a lot, Aarnav!
I have an early Atmel carrier board and I somewhat find myself sent on memory lane ^~
Hah, nice. I still have a few AVR ISP programmers, including that big thing with the 12V programming--can't seem to get rid of them... you know, "just in case" but I think it's just nostalgia
How many input channels could you pack into an asic, assuming normal processes?
Hello Deng! Well, if I've understood your question correctly, the limit is basically the pad frame/packaging, if you're doing fully custom ASICs. At some point you need to get them wirebonded and in a package, so you need to come to some sort of agreement with whoever is doing that. TinyTapeout goes through efabless and used to use the Caravel harness to stick everything in a project area, and now uses openframe instead which gives more space and flexibility with the I/O (there used to be an MCU in there and other stuff, now instead we've dedicated pads to analog, have 24 digital GPIO as well as a few pins dedicated to internal management. There's a webinar on efabless and openframe at kzread.info/dash/bejne/l5qgrah7c9bVopc.html if you're curious about internals on that front.
could you make video about fpga/asic roadmap ?
Hello Jk... I might but could you be a bit more specific on what exactly you're curious about?
@@PsychogenicTechnologies you know im cs student but i took electronic and analog courses + i know digital design but i dont know where to start , for example creating a video encoder + i know nothing about pcb design cause im cs student
@@Jkjk-pu2vt Ah, yeah... well a lot of the most interesting projects have a pretty steep learning curve. Video's tough on a few levels, too. There's a reason the "hello world" of hardware is a blinking LED: it's a super dumb project, but once you've made it you've dealt with everything from selecting components, through programming (and flashing) a microcontroller and wiring things up, and if you do a PCB as well, then you're familiar with KiCad (or whatever) and the process of ordering a PCB. It really is a lot. I think it's well worth it, but I do suggest you start a bit smaller than video... *but* since you are interested, @atomic14 has a bunch of videos on his tiny TV project: I think that might be something worth watching... his channel is: www.youtube.com/@atomic14
@@PsychogenicTechnologies thank you
Love to build one but don't know where to start 😂
Right with you bro, just keep browsing the internet and we can figure out how. This channel is great though but wayy too technical for beginners.
@@DaHoKilla problem with building hardware is not only about designing it but verification & optimization.. which only knows after real life prototype 🤷♂️ Meanwhile I feel like these things are for EE, not someone from software
@@thanatosor ah, I’m planning on becoming a E-E so I’m tryna get ahead rn. Currently messing around with KiCad and I found his channel and now im just browsing his videos. Great channel
Hi! Well, the designs are open for these guys, so you could have a poke around on: github.com/TinyTapeout/breakout-pcb/tree/main/ASIC-simulator I'm actually playing with a more general purpose version of this right now, and I think I'll put them online in a way that you can at least have them made easily.
Software is where I started... well, some physics before that, but the point is it's mainly a question of how curious and persistent you are... there's so much info out there (to the point of being a bit overwhelming... but I'd rather that than the desert of data of my youth!). So if you want, just play and explore and you'll have all the EExperience you could ask for :)
That was fast. I hardly got anything of it plus now i need to go and lay down for a bit i think.
haha, sorry about that Maria... I like it information dense, but sometimes go a bit far, have been pacing myself a bit more these days :)
I've never known any of this was possible. I freakin love this!! I'm scared of the rabbit hole I'll inevitable find myself going down. Thanks Pat for introducing me to the idea of custom chips!!
I'm really happy to read this--it's one of the main points of making these vids, for me... just showcasing the possibilities opens doors and options! But yeah, a word of warning is that the rabbit holes are so. incredibly. deep. I'm happy about it, but when I got into the analog stuff, had a bit of vertigo, hah. Thanks for taking the time to write, have fun!
dear god i love how quickly you went through the steps. not many things more annoying that listening to an extra 45m of why a creator fell in love with PCB design and electronics before getting to a tutorial lol. subbed.
Well that sure is great to hear! Some people hate it... I dunno, I've tried to moderate my pace a bit, but I figure it's easier to slow down a video than to skip a bunch of interspersed random fluff and filler. Depends on tastes and goals, but glad you liked :-D Cheers
Thank you for your content, the academic community is very grateful, you influence new minds. a hug from Brazil
Valeu! That's wonderful to hear, I do hope to make these things accessible or at least expose new possibilities. Thanks a lot for taking the time to comment, cheers.
This reminds me of 6 years ago when i was trying to figure out how to even open magic, it was not that easy. After a while i figured it out. Cool stuff.
Ah, well so you've been through it as well: good job, oof :-D What I really needed was a) a little perseverance and b) to actually go through the tutorials... it was just a bit too alien to "pick up" like I usually do with most software (since, it seems, we've come to some sort of agreements in terms of UI that I'm leaning on, hah)
No but fr, I just somehow feel like we got the same curios type of mentality about hardware. Is like , I be thinking if it could be possible to go further with HDL design but using only open source tools, and bam!! There you go. Please keep up the good work of spreading knowledge of free.
Awesome! Am glad to hear it answered some of your Qs and that you actually happened upon it :-D And yeah, I'm curious on a number of fronts and tend to hop around a lot... funny thing is that, by putting out these videos, I'm learning that there aren't tons of us but I'm certainly not alone in my eclectic hardware fascinations--so cool!
that's so crazy... It's as low level as it gets! You inspire me dear
I know! I think, with this, we're finally getting pretty close to the bottom. The good news is: there's *tons* to explore and play with down there, so lots of fun to come :-D
far out! was looking forward to a replacement for aging nonfree microwind. Other tools are not nearly as user-friendly
Yes! I mean the open tooling, if you're going to be doing mixed-signal/analog, has some history to it as well (see my analog asic video) but it's alive and well maintained... so, some work to be done but it's happening and the openness means we can even help it along if we want. I think the real limiting factor may be the available PDKs, for now. I see microwind supporting things like FinFET/nsFET which, AFAIK, just aren't things any of the currently open processes support. But, my guess is more PDKs will become available and the open tooling is certainly a nice thing to have at your disposal.
Your videos are such a blessing - thanks for taking the initiative. I'm learning a lot about stuff i skipped since HS and it's encouraging to sharing own knowledge!
That's awesome to read, Richard: it's the reason I make these things :-D Thanks for taking the time to let me know, cheers!
Suggestion, use white (light) background, with black text/wires. They always work better and easier to watch. This is basic UI, and there are a reason ink are black and paper white. What you use on your own doesn't matter, use as you want. If you want people to read the contents on the screen, light background and dark/black forground is just better.
I'd like to say I left all the interfaces as you'll find them by default, to make things realistic, but in reality I didn't even think of it. It's a good idea and I'm pretty certain there's an easy way to get xschem out of "darkmode", so I'll try to do that next time. As for magic, I never did find an easy way to play with the palette on that one but at least it's more in line with what you're saying. Thanks for the suggestion! Cheers
Kicad is hard to use and understand , i used to use free PCB long time ago very easy to use.
It has something of a learning curve, that's for sure. I'm used to it, am a big fan now and can hardly remember when I started, but I came to KiCad from EAGLE and there were lots of things I found pretty weird and difficult.
I feel like an idiot after trying out this library. I've spent like 6 hours now just trying to delete a property from a specific component. I think it's not working because I'm deleting a copy created in Namedelementcollection instead of the underlying element collection. Seems like namedelementcollection creates a new dict called _named and I can use elementRemove on that... but it leaves the underlying list of elements unchanged. Simialar problem trying to use delete(). I'm sure I'm just missing something obvious but it seems impossible to actually delete anything.
hm, I'll have to check this out... have a few pending TODOs and issues to process. Pretty sure I had *delete()* working though... however properties are weird in the sch file, maybe there's a pending bug.
@@PsychogenicTechnologies Thanks for the reply I didn't expect that! I'm going to keep trying and if I figure out a fix I'll submit a PR
@@PsychogenicTechnologies I did end up figuring it out. Deletions aren't reflected in python besides setting _deleted for removed objects. They still show up in the REPL and you can still do operations against them in a script. They just aren't written back to the tree/file when you pass the object back to write.
@@MrLareneon oh! So if you'd write it out and read it back, they'd be gone, but otherwise they hang around in Python? Hm. I really can't remember why that might be the case
@@PsychogenicTechnologies I can submit an issue with an example script if it would be helpful. But my use case now works fine so only if you consider this a bug.
Please give us more updates on your modifications when you can. This stuff is extremely motivating
I kinda left the PnP coverage behind, uncertain how much interest there'd be--but I've had one in the queue about the feeders (often a huge pain point for me), so will try to at least get that one out.
Phenomenal. Please keep up the great work. You have become my current favorite channel.
Thanks!!
Your content is absolute fire, advanced subjects and very approachable presentation.
I am so glad that I found your channel. Your presentation is so welcoming and you are covering topics of extreme interest to me, and doing so with tools that are functional in a Linux ecosystem.
Hello! Just saw this and your other comments--thank you so much! You know, I mostly just cover what I find interesting/particularly useful and, to me, they form a coherent whole... but, let's say it's not everyone who would find the eclectic mix (yeah, it's all electronics stuff, sure, but bounces around a good deal from level to level) to be a good match for their interests. So I really appreciate it :-D
Super cool! I did my thesis designing a phase detector for a digital phase-locked loop in Cadence; however, it never moved beyond simulation. This video inspires me to try one day bringing it into reality 🤩.
Yeah! You get far with sim, but there's something I find magical about getting these things you've designed in your hands. About 2 months until the TT08 deadline--maybe a project for rainy summer days :) Thanks for your comment, Jeremiasz. Cheers!
It will be super educational to create a basic inverter , with the capability of the experimental characterization in mind from 0 to tapeout to actual measurements, everything recorded in videos. Also, one can add different inverters (same design) in different places in the wafer to showcase the process variability. Its a lot effort to do the whole thing, so , thank you for your efforts, much appreciated !
hm, that's a good idea. I did an inverter "live" with Robert Feranec (on his channel a few weeks back) but it was just the design parts--doing it in a way to allow some deep probing and comparisons would be really interesting... maybe I can reserve a section of my TT08 submission for this. Thanks!
@@PsychogenicTechnologies thanks for the quick reply! The thing that's missing from academia are all the practical considerations from design, cost of EDA tools, physical limitations, experiment methodologies, optimization flows...etc. these series of videos from you and the whole community will be a first pass for beginners. And the more we tap out the more confident we get to try even more complex projects. And who knows, maybe 10 years down the line we will get an open source Cerebras 🙄😁.
Well digital is also not easy to get taped out.
HOW ARE YOU SO FASAT WITH IT :O
Hi Aneesh... I've used it a whole lot, but I do chop out some boring bits, so there's editing magic in there too ;-)
@@PsychogenicTechnologies ah, but i think you're still fast. I use altium at work and hate it. Thinking of doing some hobby projects to get into the new Kicad (after getting motivated by your vid) . :)
Damn, that was a lot of info in a very short amount of time. But good stuff! Thanks for the video. Gotta make me some cuts on my PCB!
Thanks! There's even some stuff in there I didn't cover, and some new stuff since then. Rounded corners are just a right-click away, for example. Have fun :)
There are some hard to get really great sounding dac chips like the tda1541 and the ad1862 which are long since disconinued, but are still well loved and sought after. Would it be possible to remake them using this sort of method?
Without a doubt! Rej did a z80 CPU and a AY-891x (programmable sound generator). Check that out for an idea: github.com/rejunity/tt07-analog-dac-ay8913 really cool stuff
@@PsychogenicTechnologies Wow that's awsome Imagine the best sounding dacs of the future are open source and put into collaborative projects like tiny tape out. Would be so cool
Please maintain your presentation style. It's uniqueness allows you to condense huge amount of information in an easy way to follow and understand
Reading this makes my day, thank you! I really love sharing the cool stuff I find, and making the concepts accessible without diluting/deforming them is a main goal--so I'll try to keep it up and improve. Cheers!
👏👏👏👏👏
To load a .tcl file like the parax.tcl in magic, use the "source" command. e.g., "% source parax.tcl". It took me a while to find this, so I hope it helps others.
Yes! Thank you Jeremy!
You're awesome man ❤
Wow, thanks! I love sharing this stuff, and hope it's appreciated--a comment like this really encourages me to put out more. thanks again :)
thats quite amazing - how many bits was the frequency counter and how fast could it clock itself.
Hi Johnathan! I can't actually remember number of bits at this point, but since I based my neptune thing on the idea of frequency counting and reused what I could, I probably had done something like github.com/psychogenic/neptune/blob/main/neptune/pulsecounter.py -- in short, giving myself enough bits for whatever the max count would be automatically. As for speed, internally the sky130 process can handle into the GHz so the limiting factor is basically I/O. Back in the days of TT03, this was a sad something kHz. By now, the I/O is rated with a bandwidth of 50MHz, but for inputs you can actually go at least 10s of MHz higher than that (tested it up to 70 but am pretty sure someone in the discord had made it close to 100 or so before seeing junk). Finally, you've got the edge detection crossing clock domains, so wind up using a flip flop synchronizer--it's parametric, but I've basically always used only two stages at this point, which (I think) implies that you'll hit a wall for pulses coming in faster than half the clock rate
Thanks
Oh, wow, thank you!
Fantastic! Does this work with the current version of kicad as of now? This library could be just what I need for generating a test PCB. PCB.
Thanks! Yes, it should (though I may have some minor updates to do, been rather hectic). The fact is some pretty major changes are coming on the scripting front with kicad 9, but from my chat with Wayne Stambaugh a couple of weeks ago, I think I'll wind-up retrofitting this system to talk through the thin scripting layer that will be provided to add in the extra functions while finally getting *live* interaction with the schem (currently happens through the file itself).
You are the best! So great to see this complex work being executed so effortlessly and flawlessly. I hope to inspire to have the knowledge and tools that you do someday!
With enthusiasm like that, I'm certain you can match or surpass! Expect to get frustrated sometimes (I sure have been) but if you keep playing and exploring, you'll get wherever you want to go. Many thanks for the comment, cheers!
Just WOW!
Just WOW!
Thanks Zeta!!
Is there a video on how to set up the environment from scratch?
Hello Khang, maybe but not that I know of. The VM and the IIC-JKU docker are the two easy ways, and Matt's analog course does have a detailed section on doing it "by hand" on your local system (bit.ly/analog-waitlist ) but, because there are bundled versions, I just haven't focused on manual style installs.
@@PsychogenicTechnologies oh thanks for your reply! So, how could you set it up on your machine though? I wanna be able to get access to the tools (software) and do it on my laptop so that I can do these amazing things that you showed in the video!
Very nice overview of the whole process. Thanks!
Thanks for the feedback, Henner, glad you liked!
Yeah
I agree: yeah!! :-D I actually got to meet the Tigard guy at the crowd supply conf in Portland a week ago, and he just gave me another one--am really happy about that, I love this tool and having a backup or a way to coordinate multiple units doing different things is awesome
How much?
For the PnP? Gotta say, it was a couple of years ago, now, and am not certain they even sell this specific model anymore... but it was around USD 2500 or so
Awesome video thanks!
Thanks Mark! Video is getting a little long in the tooth, but I still use basically the same flow