Learn by doing is what Bill Kolicoski, the creator of Taste the Code Youtube Channel advises everyone who wants to jump into the electronic design. Bill is a software developer passionate about making electronics design and engineering fun.
Listen to the Podcast:
Download this episode (right click and save)
Watch the video:
Show Highlights:
Links and Resources:
Subscribe to Bill’s Channel Taste to Code
Making electronic design easy, visit Upverter website
Register at Altium Education for Free
Altium Designer Free Student License
Connect with Zach on LinkedIn
Full OnTrack Podcast Library
Altium Website
Download your Altium Designer Free Trial
Learn More about Altium enterprise solutions
Altium 365: Where the World Designs Electronics
Zach Peterson:
Well then, I've also seen that you break some stuff intentionally, because you have a video on exploding LEDs.
Bill Kolicoski:
Yeah. So, sometimes electronics can be fun.
Zach Peterson:
Hello, everyone, and welcome to the, Altium On Track Podcast. I am your host, Zach Peterson, and I'm happy to be sitting down today with Bill Kolicoski, founder of the, Taste the Code, YouTube channel. This should be a very fun talk, and if you haven't seen the, Taste the Code, YouTube channel, we'll have a link in the show notes. With that, let's go ahead and get started. Bill, thank you so much for being with us today.
Bill Kolicoski:
Hey, Zach, it's a pleasure to be here and thank you for inviting me.
Zach Peterson:
Yeah, absolutely. Looking at, at least the title of your channel, I think when someone sees, Taste the Code, they're going to think this is a coding channel, maybe some coding tutorials, things like this. How did you get started doing YouTube videos, and what is your background?
Bill Kolicoski:
Well, I'm primarily a software developer, so I've started writing software about 12, 13 years ago. I've always had the passion for electronics, so because I was working on something else, I wanted to, I don't know, start something as a hobby, where I can just join the two passions together, and that's how, Taste the Code, got to be. The idea behind the channel is that I can build something with code, that also has something else inside, that can then let you taste how the code can interact with the environment. Electronics was the perfect choice to build such devices, where you can have code interacting with electronics and doing stuff that you can then actually see, like turning on the lights, or controlling temperatures somewhere that you are not present in. It gives the taste to the actual code that runs somewhere in the background.
Zach Peterson:
So it's almost a play on words to make the code more tangible, if you will.
Bill Kolicoski:
Yes, definitely, because when I started working as a software developer, the problem that I have seen people had with software is that they weren't understanding that, understanding how the code works, up to a certain period in time where they actually got better at using that code. Because, I think that most of the people, when they start software and software development, they just jump straight to the examples and that is not always tangible, like, "Okay, I can see the result, but I'm not really sure how the whole thing operates." That's why, when we have the two combined, then I think that we can build a platform. Let's say that it gives them something tangible, something that they can play with and see it interactive, instead of just seeing results and numbers. Or, these days, it's a lot easier to get started and have your fingers at using different UIs, but if we recall in the time code was something that you only see through a console, through a terminal, and it was really difficult to be interacted with.
Zach Peterson:
So what would you say is your mission with the channel, because I see a lot of very interesting videos with repair, I see things with what looks prototyping. I see things with Arduino, you even have a video called, Infinite Breadboards, which looks pretty fun. What is your mission with the channel, and what do you hope to convey to the audience?
Bill Kolicoski:
Yeah. So, my main mission is that I want to present the electronics world as something that is really accessible. Something that everyone can literally just jump right in it and start learning stuff, because it's really easy nowadays. I have a feeling that many people have a passion, or they admire electronics, but they just consider it as a black box, that's something that we don't really touch or we don't really, it just works. I try to basically demystify that, that it's not that difficult, it's not that complicated. You just need to follow some simple rules, and stay safe where wherever you are not confident in doing, and just go for it and just enjoy the process of learning by doing, basically.
Zach Peterson:
Yeah. I would definitely agree with you, especially how you said that. I think sometimes electronic devices look like a black box. I think it's one of those things that everybody knows is important, but it's almost seen like lesser than software, and yet none of the software that we get to play with in the tech world would be possible without any of the chips, or circuit boards, or anything else that happens with the actual hardware. So it always gets looked over. In fact, here in the US, when someone says, "Tech company," what are they referring to? Well, they're probably referring to a big software company, like Facebook or Amazon or something like this. They're never referring to, Marvell Semiconductor, or, TTM, who's a big PCB manufacturer, or somebody like this. They're always referring to a software company. So I think that just illustrates how the general public totally misses the importance of electronics sometimes.
Bill Kolicoski:
Definitely. You would not have apps if you didn't have the tech that's inside the phone, that makes the platform where that app can run. Or, you would not have a website if there is no server that website runs, and infrastructure that communicates on the physical network. So yes, you are completely correct when you say that many people don't really understand what they're working with, and just consider the whole thing as a black box, or a mystery box, that somehow miraculously knows how to do stuff.
I think that's one of the reasons why many people, at least in my area, I know I can say 10 to one people that work in software compared to people that work in hardware. One of the ideas that I want to relay with the channel is that it doesn't have to be that way, that the two things can really coexist, and they should be treated as such. At least to some level, because even though if someone works, as me, commercially entirely in software, everyone needs to have the understanding of the hardware and how the entire thing operates.
Zach Peterson:
Yeah. I think if you're a design firm, maybe you're a service bureau, if you're a smaller company, maybe you're just doing schematics, maybe you're just doing layout, but as your company grows in size and the projects that you take on grow in complexity, you start to have to do these other things. Like software, like firmware, whatever it may be, in order to create an actual product, because at the end of the day, the electronics is not just the board, it's something that's fully assembled, goes into an enclosure and then hopefully gets shipped out and appears on the shelf somewhere. Maybe it's just a prototype, but still there's this interface with the actual code that people have to understand. My opinion has been that, good way to get kids and students to care about electronics and pursue it as a career has been to approach it as a software person, but taking all of the software and making it a bit more tangible for people. What do you think about that?
Bill Kolicoski:
Well, it's definitely a mixture of both, because allowing kids to wire up a circuit and just turn an LED with a switch is the one side of the whole thing. But then, allowing them to maybe write a couple of lines of code that they can make it turn on an interval, it adds just a different dimension to the whole thing, where, okay, now it opens an entirely new world of possibilities where they can now consider a lot more than instead of just using the hardware.
Zach Peterson:
Yeah. I think what you're describing there, with adding layers of complexity in the application, and then eventually in the hardware, I think it's great for students to start there, because they start to have what I like to call the Eureka moments, the, "Oh my gosh, it actually works," moments, even though it's something simple. I think those moments are very powerful, because they show, "Oh, I can actually do this. I'm starting to understand how it actually works," and it really cements that bond that you're talking about, between what happens in the code and then what has to happen on the circuit board and in the chips, to make this whole thing come to life.
Bill Kolicoski:
Yeah, exactly, exactly. That's why I think that the good mixture of both is really essential to, not just improve your learning experience, but also improve the outcome of what you can do, and then the outcome of your future ideas, because once a project is done, then it leaves a lot of questions, like, "What if I can change this? And what if I can add this? And what if I can maybe just flip things around?" and you come to ideas that you've basically never even considered before. That's something that I really enjoy, and definitely a lot of my ideas come from that thinking. Once a project is done, then, "Okay, how we can improve this, and how we can change this and how we can make it better?"
Zach Peterson:
Yeah. That ability to re-engineer it once it's finished, that's when you really cement the understanding of the device. I think that same skill is really important once you start to look at something like a reference design. I'm semi a fan of reference designs for hardware development, at least just to see how something is wired up and then reverse engineer it for yourself. I know a lot of people that can get in trouble using reference designs, and I've even been burned by incorrect footprints in reference designs, and things like that, but I'm still a fan of them for that reason. Being able to, I think, reverse engineer it is really that next level of understanding, and really shows that you do really understand this and you can take this and mold it and get it into that next thing that you want to create.
Bill Kolicoski:
Yeah. That reference design is basically the basis of the repair path that I usually take with some of the electronics, because I don't want things to get thrown away, especially electronic stuff, because I know that usually it's just a single part that's failed inside. Comparing, finding out the chips inside and finding out the [inaudible 00:13:16], finding out the reference design, and then working around that to see what the manufacturer did, or add to that, or how it customized, it makes the whole thing more understandable and more approachable, to then start working on it and possibly repair it.
Zach Peterson:
Yeah, because I noticed you have a few things here, or a few videos on your channel, looking at how to repair something. Looking at, I think you have power supply repair, and then I even saw impact drill repair, which I'm going to be honest, I like to build stuff, but when I go through a drill, man, it's going in the garbage, I'm getting a new one. So, how do you pick something to show for a repair type of tutorial, and what's your approach to debugging something that is broken, and making it into a cool video that's really, not just fun to watch, but also educational?
Bill Kolicoski:
Yeah. So basically the ideas for the repairs, usually I don't pick them, but they pick me. It's stuff that usually belongs either to me or some of my friends, and when something gets broken, they call me and they say, "Okay, I have this device that, it's no longer work. Do you want to explore it?" because people know that I have interest in such stuff. I don't always choose to. Again, if I choose to have it on the channel, it needs to be a device that probably has something more than just a broken wire, because that doesn't make an interesting video. So, things like repairing a power supply, it's usually either some fuses are blown or its capacitor leaked, or, depending on what the background story of that power supply is, then I'll choose to maybe look into it and then just try to understand the schematic and the whole design on video, and during the video, explain my process of investigating the circuit, so we can know what we can focus on, and try to understand what's broken.
Zach Peterson:
Well then, I've also seen that you break some stuff intentionally, because you have a video on exploding LEDs.
Bill Kolicoski:
Yeah. So, sometimes electronics can be fun. A lot of people on YouTube have done exploding capacitors, because that's a feature that capacitors have, but LEDs are something different. They also have the chemistry element to them, because not all LEDs are made the same way, with different materials used in the colors. So they make good indicators, and trying to show people what LEDS are used for, and I wanted to show how they can fail in electronics. That's why I showed the exploding LED when you connect it to main voltage. But again, it's not all of the LEDs that explode. Usually, the manufacturing these days is made to such a level that all of the components will fail in a controlled manner, so they won't really just spontaneously explode. It's one of 10 or one of 20 LEDs that will do that, but that's again, in an environment that's really atypical for an LED.
Zach Peterson:
Well, I will say I have had fun burning up 10 Ohm resistors from time to time, so I get what you're saying.
Bill Kolicoski:
It's in addition to just using components. To really understand the component, you sometimes have to abuse it, to know its limits.
Zach Peterson:
Yeah, totally agree. I think after you burn up your first set of resistors, or LEDs, or whatever else, hopefully you learn from the mistake and it'll be the last time.
Bill Kolicoski:
Yeah, because usually the first one is by accident. So you make a mistake, you wire something wrong, incorrectly, or you are wrong on the calculation in terms of the values that you can use. Then you go back and trying to understand what happened, and I think that's the Eureka moment that you can have, that only then you understand, "Okay, that's why that thing burned," and you can really learn, going in the future. You can really learn what the limit and what you need to consider in your design.
Zach Peterson:
Yeah. Absolutely agree. So, I want to switch gears just a little bit, and I want to ask you directly because you clearly know how to do this stuff with hardware development, but I believe you mentioned you working full time as a software developer. So, what made you pursue software as a career, instead of pursuing hardware design, or hardware development, as a career?
Bill Kolicoski:
Well, originally I started applied computer science, so we got into a lot of different areas. It wasn't really dedicated to software or to hardware, and at the time designing PCBs happened, with just the bare PCB, where you actually draw the tracks and you etch it in chemicals. It had a bit more barrier to entry, compared to software, and because I'm based in Macedonia, which is not in the European Union, so we used to get offers a lot where we could outsource and work for companies that were abroad, and software was much easier to be outsourced and it had a lot less barrier to entry. It just happened, I would say, it's not that I specifically chose software. It's like it naturally happened to be.
Zach Peterson:
I can understand that. I think for a lot of students, when they are considering a career in technology, I think at least in the United States, when you look at what the opportunities are, and especially when you hear about crazy software developer salaries in Silicon Valley, it's very tempting to pursue software as a career because there is such high potential for payoff, even though the barrier to entry can be quite low. So I totally understand what you're saying, but it sounds like there's maybe a different set of challenges to you, being where you're located in Macedonia, because maybe there's not the same type of resources for pursuing hardware development as a career, or for access to equipment, or whatever it may be. Is that maybe a bit more of the challenge for someone who's in your position in Macedonia, or in that region?
Bill Kolicoski:
For sure it is, because up until recently, there wasn't anywhere where you can build commercial grade PCBs or commercial great electronics, other than just the PCBs that you can build at home, or maybe some basic amplifiers or basic PVB gun type of circuits and devices that you can build at home. But nowadays I think that's greatly changed, because the availability of custom PCB design choices and manufacturing possibilities that we currently have, where you can order stuff online and have it in just couple of days, I think that levels out the field for a lot of people, because it doesn't cost a lot to get started. It doesn't cost a lot to make a mistake and redo the whole design iteration once again. But, it's definitely a little bit harder, I would say, compared to software, because in software you can just delete and rewrite the same thing immediately, without waiting for manufacturing to happen and delivers and such stuff.
So, but it's definitely changed and improved over the years, and I think that with this wave of people getting interested in PCB design and in electronics, I think we'll see more and more prototypes, and people getting into the hobby, and into the profession after that.
Zach Peterson:
Yes. I agree with you. I think that on some level that ability to send your Gerber into JLC, or whichever other PCB company overseas, is very useful, especially if you're just getting started and just trying to learn, how do you go through this process to make a physical device that does something interesting. I think, between open source software, just again, to get started and learn, and then maybe channels like yours and some other people that we've had on the podcast, to get those resources and get project ideas. I agree with you, it's a great way to get started and maybe build that first thing, and it's okay if you mess up and go back and do it again, see where you messed up.
So, I think what people like you are doing is actually very, very useful and very important for that next generation of designers, because at least here in the US, we have a big workforce shortage on the horizon. There aren't a lot of younger people, my age, to replace the previous generation that's retiring, and so I think we got to do whatever we can to get the next generation interested in electronics, and to make it easy for them to have fun doing it.
Bill Kolicoski:
Yes, definitely. That's the key part, having fun doing it is something that really triggers a lot of people to pursue something. Because, if it's just a job, it can be anything. It doesn't have to be electronics, or even software. It has to be something fun, so you make someone interested in pursuing something like that.
Zach Peterson:
Absolutely agree. Yeah. I absolutely agree. So, with that in mind, where does someone in your position go to get interesting or useful resources to keep expanding your skills? If someone is a hobbyist and wants to transition from just doing it themselves to actually doing this as a job, whether as a freelancer or for a large company, how do they make that transition into a professional designer? Because, I have my own opinions and resources that I use, but you're coming at this from a bit of a different angle, starting as a software person and then bridging those skills into hardware development. So, how does someone follow along that path and do it successfully?
Bill Kolicoski:
Well, for me personally, I like to get my hands ready immediately. So I just jump into the schematic and into the PCB and the design process. At the beginning I had a lot of challenges where, not knowing the software, not knowing [Alto 00:26:28] made me a bit hesitant to even try it, but then I said, "What's the worst that can happen?" I already don't know how to do this stuff, but the only thing that can happen is either I continue not knowing or I learn it just by doing. For me, I just Google a lot of stuff, or try to find YouTube videos with the specific problems that I'm currently having, or specific challenges that I'm trying to resolve. That's how I basically grew, from not knowing anything about PCB design and PCB design software, to building at least several successful prototypes where I've built the board, I've ordered it, it got manufactured and it successfully worked.
For people to be able to continue this as a profession, I think that they will need to basically invest a little bit more time than just figuring out few prototypes. Even for people that didn't have a degree in PCB manufacturing, I think that they can still learn it easily if they dedicate enough time to it, and if they start building stuff, start designing stuff and then a huge help, I think, will be for them to make their work public. I know that sounds scary at the beginning, but in the end, I think it's well worth it, because that way you can get feedback from the rest of the community, from the rest of the people that actually do that for a living. That would make you a better designer and you can be better in basically whatever you decide to do, if you choose to make your work public.
Zach Peterson:
Yeah. It's always very valuable to have those resources available, where you can ask questions, get feedback, get tips on how to maybe make your design even just look more professional. I would totally agree with you, making your design as public, or going to a forum where maybe it is a bit more public, like, Stack Exchange, is one of my favorite resources to look at, and just either get questions answered, or you can sometimes find your same question on, Stack Exchange, and find the answer that you need. So yeah, I agree with you, maybe making your design public, or not being afraid to, even if it's pseudonymous, show elements of what you've created to try and get answers and learn and improve your skills. Do you ever do any of that? Do you go on to forums or anything like that, to get questions answered and try and expand your knowledge a bit?
Bill Kolicoski:
Yeah, definitely. I use forms constantly, and as you said, it's a lot of times, maybe more than 90% of the time, you will find your exact question already answered, or your exact problem, but with a slight twist already resolved, and you can basically take that knowledge and apply it to you to your circumstances. That usually works, but sometimes it's either a weird situation of things that you have in your current project that make the question unique. I think it's really beneficiary if people are just going and asking, because as [inaudible 00:30:21] say, there is no stupid question, and you just happen to be in that situation and there is nothing wrong that you can go and ask it publicly. From my experience, from what I've seen on forums, people are generally helpful, even though the common, I would say, misconception, is that it's not like that, but I've seen just encouragements and people trying to honestly help you with whatever problem that you might have.
Zach Peterson:
Yeah. I have been on forums a few times, and I think one of the takeaways from going onto a forum and asking those questions is, it's not always to just get your question answered for you, but it's even to learn how to pursue getting to the answer. It's almost like the act of talking through the design problem and trying to articulate it really actually helps you figure out how to keep searching for the answer. So it's like figuring out what you actually don't know, so you can dig deeper and continue learning.
Bill Kolicoski:
Yeah, that sounds a lot like what we have in software, that we call rubber duck debugging, where you're actually trying to explain your code to a rubber duck, and in the process of trying to explain the code to someone else, you actually explain it to yourself and then you figure out, "Oh, you meant to do one thing, but the actual code does another thing." I think that can be equivalently applied to electronics, and then PCBs and design as well, because you sometimes thought of doing something differently, but instead you made a mistake and you connected it to something else. It can show you your problem, if you just try to go into the act of explaining what you're trying to achieve.
Zach Peterson:
So all those times when I'm talking to myself in my office and trying to talk through a design problem, I'm actually doing rubber duck debugging.
Bill Kolicoski:
Yeah.
Zach Peterson:
Well, I'm glad I learned what that is, because now I'm going to start using that with coworkers and everything. So, thank you so much for joining us. This has been a great conversation, and I really do hope everyone that's listening will check out the, Taste the Code, YouTube channel. There's a lot of fun projects on there, and definitely, if you're a new designer who's watching the podcast right now, listen to folks like Bill. They've got tons of experience, and I love that you're willing to share your knowledge, Bill, and really help new designers get into electronics and just have fun doing it. So, thank you again for joining us.
Bill Kolicoski:
Yeah. Thank you. Thank you for having me. It was a pleasure
Zach Peterson:
To everyone out there listening, or watching on YouTube, make sure to like the video, subscribe to the channel. If you want to see more podcasts, go check out the links in the show notes, and definitely go watch, Taste the Code, and tune in next time. Don't stop learning, and stay on track.