Kuit the Geek
Kuit the Geek
  • 14
  • 55 246
Shenzhen I/O in Real Life - Part 6 - The Review
Need custom PCBs? Check out PCBWay at www.pcbway.com for fast and high quality PCBs.
How do you assemble a homemade fake security camera? This is part 6 of a 6 part series that focuses on a puzzle from Shenzhen I/O. In this episode we review the previous design and look at what would be changed and updated before moving to a production product.
Download Kicad for your OS here:
kicad-pcb.org/download/
Build an Arduino on a Breadboard
www.arduino.cc/en/Tutorial/ArduinoToBreadboard
Twitter: @kuitthegeek
So circuit boards and electronic parts are expensive, and you can contribute to the content at no cost to you by using my amazon affiliate links! You get charged nothing extra, they just slice off a small amount of the profits and send it to me for advertising. Check out some of the awesome items below!
Thanks for watching!
#shenzhenio
#electricalengineering
#productdevelopment
Intro Credit - Alexbau
Free Blender Intro #98
ua-cam.com/video/KtNrd-ShnQI/v-deo.html
Intro Music Credit - mizu - Summer Dreaming
mizuofficial.bandcamp.com/track/summer-dreaming
Licensed under Creative Commons (CC BY-NC 3.0)
creativecommons.org/licenses/by-nc/3.0/
End Credit Music Credit - Geographer - Arp Bounce
UA-cam Music Library
Переглядів: 1 790

Відео

15 Tips and Tricks for Using KiCad
Переглядів 16 тис.4 роки тому
Need custom PCBs? Check out PCBWay at www.pcbway.com for fast and high quality PCBs. In this video, I am going over 15 tips and tricks I use everyday with KiCad to make better PCBs. These tips should help you create PCBs that are right the first time, and this should help reduce the amount of revisions you need to do to get your board just right. Timeline 0:00 - Intro 0:32 - Tip 1: ERC 0:50 - T...
Product Development - Intro to design and block diagram - Part 1 | Mailbox Notification Device
Переглядів 2525 років тому
How are products developed? What is the process to take something from an idea to market? Today we are talking about just that. I am starting a new project, and I wanted to take you through the process from beginning to end. In part 1 I am covering the client interaction and brainstorming session, as well as a block diagram to show the system. I will also cover the schematic briefly. In the nex...
Microcontroller vs Microcomputer | Are you using the wrong one?
Переглядів 9 тис.5 років тому
Microcontroller or Microcomputer? What are the differences? When do you use one over the other? Are you using the wrong one in your project? Today we are going over the basics of Microcontrollers and Microcomputers or Microprocessors. We talk about how they are different, when you should use them, and things to consider in case you want to take your project to full production later. Patreon: ww...
Shenzhen I/O in Real Life - Part 5 - The Build
Переглядів 2,7 тис.5 років тому
How do you assemble a homemade fake security camera? This is part 5 of a 6 part series that focuses on a puzzle from Shenzhen I/O. In this episode we bring everything together and we build the final device. Watch as I print the 3D enclosure, build the circuit board and program it, and finally assemble it all together in a complete package. This is what we have been waiting for! But does it work...
Raspberry Pi 4 Released!... But what has changed?
Переглядів 2955 років тому
The latest Raspberry Pi is here! And it is sporting 4K, 4GB of RAM, and more! But what all has changed and why should you be excited? Today Eben Upton announced the release of their latest single board computer, the Raspberry Pi 4. It now has true gigabit ethernet, dual 4K output via mini HDMI, 2 USB 3.0 ports and 2 USB 2.0 ports, as well as power off of a USB Type-C connector requiring 3A. The...
Channel Update | June 11, 2019
Переглядів 1285 років тому
So where is my channel going and what are my goals? Today I want to give you an update about what is happening, where I have been, and what the current state of my projects are. Things have been really busy for me lately, and if you want to see more content more frequently, the best thing to do is comment, subscribe, and if you can support me on Patreon or through my amazon affiliate links. Tha...
Professional KiCad | Custom Symbols and Symbol Libraries
Переглядів 3 тис.5 років тому
KiCad library management can be difficult, but here are some tips and tricks to improve your libraries, and help improve your version control. In this episode of Professional KiCad, I go over how to create a local library, how to pull schematic symbols from the default KiCad libraries, how to create new parts, and some fields that you should always use to have as much information as you can on ...
Shenzhen I/O in Real Life - Part 4 - The Code
Переглядів 2,3 тис.5 років тому
How do you write code for a microcontroller? How about in C or Arduino C? This is part 4 of a 6 part series that is focused around the game Shenzhen I/O. In this episode we will cover the firmware in the Arduino IDE. We write some code that *Should* work to flash our LEDs the way we want, but the code is still untested, so we will see in part 5. Stay tuned. Credit to my dad for writing the code...
Professional KiCad | Installation, File Structure, and Project Creation
Переглядів 2 тис.5 років тому
In this series, I am going to teach you about the ins and outs of KiCad. I use KiCad professionally every day, and I want you to be able to as well. Over the course of this series, I will go from the basic tools to the more complex concepts. I will show you how I structure my files so I can do version control using Git. I will teach you how to design like a professional. Download Kicad for your...
Shenzhen I/O in Real Life - Part 3 - The Box
Переглядів 2,3 тис.5 років тому
This is part 3 of a 6 part series that is focused around the game Shenzhen I/O. In this episode we will cover the mechanical design in the software Freecad. We design the shell of the camera, with an access door and a mount. Download Freecad for your OS here: www.freecadweb.org/ So circuit boards and electronic parts are expensive, and you can contribute to the content at no cost to you by usin...
Shenzhen I/O in Real Life - Part 2 - The Board
Переглядів 4,5 тис.5 років тому
This is part 2 of a 6 part series that is focused around the game Shenzhen I/O. In this episode we will cover the full electronic design, from the schematic, to the circuit board layout, to the fabrication file creation. We will be using Kicad to create the circuit, but we really won't go over how to use it. We will explore Kicad further in a later series, so stay tuned for that! Download Kicad...
Shenzhen I/O in Real Life - Part 1 - The Plan
Переглядів 11 тис.5 років тому
This is part 1 of a 6 part series that is focused around the game Shenzhen I/O. In the series I will cover designing a custom printed circuit board, firmware, and mechanical enclosure to replicate the first puzzle in the game, the "Fake Security Camera". So circuit boards and electronic parts are expensive, and you can contribute to the content at no cost to you by using my amazon affiliate lin...
Channel Trailer
Переглядів 5415 років тому
This is just a quick introduction to me and what I want this channel to be. Sorry for the awkward cuts, I kept flubbing words, and this was the prettiest I could get it with my time constraint. I hope to be able to release videos every two weeks. Thanks for watching! #kuitthegeek #electricalengineering #embeddedsystems Intro Credit - Alexbau Free Blender Intro #98 ua-cam.com/video/KtNrd-ShnQI/v...

КОМЕНТАРІ

  • @Dark_shadow4056
    @Dark_shadow4056 2 місяці тому

    :)

  • @StevenBedoya2
    @StevenBedoya2 5 місяців тому

    This is top notch info, I have been an electronics technician for the last 10 years and I recently started designing PCBs. KiCad has so many options and functionalities that I recognize I have been literally assuming and guessing how to do many things while I familiarize and learn how to use it properly.

  • @MikaelLevoniemi
    @MikaelLevoniemi 8 місяців тому

    Atmega is not really in line with the spirit of shenzen io and the use of cheapest possible parts. Something like TinyAVR at the price of 75 cents or STM8S003F3P6 with 25 cents would've been more like it. Sure you could slap an atmega in the project, but that also would earn you a talk with your boss.

  • @fmsyntheses
    @fmsyntheses 11 місяців тому

    This is literally like watching someone write a magic spell to me.

  • @brandonbinkley3936
    @brandonbinkley3936 Рік тому

    I really enjoyed this series. I liked the end to end aspect of it.

    • @KuittheGeek
      @KuittheGeek Рік тому

      Thanks! I really appreciate that. 🙂

  • @brandonbinkley3936
    @brandonbinkley3936 Рік тому

    I would love to see some more of this series.

  • @brandonbinkley3936
    @brandonbinkley3936 Рік тому

    Very cool idea. Sorry I found this series so late.

  • @Tresvian
    @Tresvian Рік тому

    Thanks for the videos. Interesting to watch as more of a software developer.

  • @philgroudhog103
    @philgroudhog103 Рік тому

    terrible video

    • @user-zb9lv3gh8s
      @user-zb9lv3gh8s 23 дні тому

      Care to say why, or are you just having a bad day?

  • @muha0644
    @muha0644 Рік тому

    2:45 you are a psychopath.

  • @animowany111
    @animowany111 Рік тому

    Looks like you made the fix for the code even more wrong, it just happens to work by accident since pins start out in OUT mode with low state. You're setting pin 1 for output twice, and setting pin 2 to output low twice.

    • @KuittheGeek
      @KuittheGeek Рік тому

      Are you saying it is wrong because I set the pins in the setup block of code? I would argue that isn't actually wrong, but it is defensive programming. I ensured that the pins were set correctly at the initialization stage, and then I set the program going on the loop. It may be doing the same thing twice, but it is done intentionally. I would do the same thing in a more complex program, to ensure the pins are configured correctly before the main code is executed. I don't understand why you would think that is wrong. Could you explain?

    • @animowany111
      @animowany111 Рік тому

      @@KuittheGeek You are setting the the same pin's state twice instead of setting both pin states. A copy-paste error.

    • @animowany111
      @animowany111 Рік тому

      Seek to 6:25 and see the setup() code: you set pinMode(PIN_LED1, OUTPUT) twice, then digitalWrite(PIN_LED2, LOW) twice.

    • @tarn4t1on79
      @tarn4t1on79 Рік тому

      @@KuittheGeek No, he's right. Although it's actually PIN_LED2, not 1. There's some other improvements I'd make to the code though. Like make the constant delays actual const variables. Also make the random upper bound const a long, since the random function is defined as [long random(long, long)] anyway (the int gets implicitly cast so it technically doesn't matter at all to be fair, but might as well). Also make the timer variables unsigned, as that's the data type millis returns (which would also double the time before you're gonna encounter overflow wackiness, which is also something you might wanna handle. Basically at some point [timer_LEDx < millis()] will be consistently true for a really long time (more or less 2^32 - 2 ^ 31 - 2 ms, or about 25 days. Slight variance because of the positive offsets, also disregarding any clock inaccuracies), so an extra check for resetting the timers would be necessary. With the proper unsigned type, it would instead be false for about double that time). I personally also prefer to store the result of the millis call in a const variable once and use that, since the call is actually somewhat expensive, and you also avoid any variance in values in consecutive calls if you're doing processing that's taking a while in between. Then also code style with the upper and lower case (setup and loop vs ToggleLED), although I get that you might not wanna follow the predefined Arduino style in that case. I'd also change the ToggleLED function to accept the pin of the LED instead, since they're unique anyway, then you don't have magic numbers in the ToggleLED calls, and the function definition itself. Instead of that you could also at the very least define LED1 and LED2 with their custom ids (1 and 2 in this case) to filter for in the switch. Since you also have actual state bools for the LEDs, I'd use those instead of the LOW macro in the setup function. If you wanna keep the macros, you could do so with an [LEDx_state ? HIGH : LOW] tertiary. If you want the LEDs to start on, it would already happen during the setup that way, and you'd only have to change the state bools. Either way, don't get me wrong, pretty much everything aside from the overflow handling will have absolutely no effect on the functionality, and even that is obviously not really a problem for a demonstration project like this, and would even be kinda borderline even for a commercial product. I've actually really enjoyed this series, especially the actual PCB design and manufacturing + soldering, which is something I've never done before and didn't know all too much about (prototype boards are the closest I've come to actual PCB design). It's something I've been interested in for quite a while, with heightened interest recently, thinking about how hard it'd be to make a custom PCB with my own firmware in place of a (relatively niche) commercial product. I might actually look into that more deeply on my next electronics project because of the knowledge I've gained from watching this series. Btw, I saw your comment on the DoshDoshington video on Zachtronics games, which was what actually made me check out your channel haha

    • @KuittheGeek
      @KuittheGeek Рік тому

      Sure enough. I just found the code, and you are both right. It was a copy/paste error. I honestly haven't really looked over this code in 4+ years. I did this while I was just starting into my Master's, so I have definitely learned a lot since then, and I would agree with your improvements. I have always been more hands on as it is and especially at this time in my life, I was primarily designing PCBs for work, so that is where my experience really was. Since then I have gone on to do a lot more firmware for commercial products, and I would definitely change how I wrote this code. I am glad you found the channel. It would seem that the DoshDoshington video has sent quite a few people my way. I have definitely enjoyed PCB design, so I hope you the best as you start into it.

  • @stetytielemans
    @stetytielemans Рік тому

    what kind of soldering iron do you use? i have never seen one that looks like that before.

    • @KuittheGeek
      @KuittheGeek Рік тому

      I have a system that includes a fume extractor at the tip to gather most of the smoke, as well as a hot air rework station. I don't think I would say it is one of the best that I have ever used, but it has a lot of tips with the kit and it gets the job done. I believe it is the Mark Ethan 968DB, but I believe we bought it on Amazon. It does have some nice features, like the smoke extractor and a vacuum handle for picking up small parts, but the hot air has burned out a few times, so I don't use that anymore.

  • @stetytielemans
    @stetytielemans Рік тому

    Do you use kicad in the industry too or just for this project? A student in my class was not happy when our teacher said we were to use kicad for our course advanced pcb design because with his company he used fusion360 and he also told me it is industry standard to use fusion.

    • @KuittheGeek
      @KuittheGeek Рік тому

      I have definitely used KiCad professionally for a couple of years, and I wouldn't say that fusion is industry standard at all. I would say the industry standard PCB design software is Altium. My old boss used Altium primarily for years, and we would go back and forth about what that could do for $10,000 versus what KiCad would do for free. There were a few features that we used that KiCad did not support at the time, but we could still do the layout without much issue. But at the end of the day, it almost doesn't matter what software you learn in school, because you will very likely use something else when you start working. There are numerous PCB design suites, Altium and KiCad are just two of them. College is about teaching you how to learn and what the design principles are, from there it is up to you to figure out how to apply that in whatever software you end up using.

  • @sanderbos4243
    @sanderbos4243 Рік тому

    Here from DoshDoshington's latest video, this series looks great!

    • @ZephyrCubic
      @ZephyrCubic Рік тому

      Same here! Immediately caught my interest; I'm majoring in Computer Engineering after all

  • @Coolman6564
    @Coolman6564 Рік тому

    Could use a video on how to use Git in this context.

    • @KuittheGeek
      @KuittheGeek Рік тому

      The biggest hurdle I have found you have to overcome, is merging and making sure your workflow works correctly for you. I personally use local libraries and that allows the projects to be portable. I do pull from global libraries, like the KiCad libraries, and others I have built along the way, but I don't push to them very often. I pull from them to do what I need, and if it's a library I maintain, then I will push back after I have proven out the part.

  • @al-aminibrahim1394
    @al-aminibrahim1394 2 роки тому

    though i do have one question, i will be happy if you answer me, i want to run vision only Simultaneous localization and mapping using Deep Artificial Neural nets with 3 cameras, for a delivery robot, can you suggest any Microcontroller chip like (stm32h, RP2040 or ATMEGA or any one you know) that i can use, thanks you ever so much.

    • @KuittheGeek
      @KuittheGeek 2 роки тому

      That is an interesting question, and it really would come down to a few things about your needs. Are you looking to productize and sell your delivery robot or is it just a personal project? I would say that it is likely that with the amount of processing computer vision takes, you will probably need a microcomputer like the Raspberry Pi to handle that side of it. There are other Single Board Computers like the Rock64 series from Pine64 that might fit your bill. With a robot, I would probably suggest using a microcontroller for the control and motion of your device. You would want something that can handle real time operations for anything control related, as they are timing critical. The computer vision side is less time sensitive, but more computationally intensive, so you will likely need more resources available to handle that. I am not sure what vision and Neural net software you plan to run, but in my experience, they will generally require more processing power. Although, from what I recall from my Machine Learning courses, you will need a more powerful machine to get through the initial training of the neural net, then you can get the trained algorithm and implement it on a less powerful device, so that might not be the largest consideration. Sorry to not give you specifics, but especially with the current market and processor shortages, it is hard to recommend anything specifically. And with all things, the real answer is more of an 'it depends', because it does depend on a few factors of your design and requirements.

    • @al-aminibrahim1394
      @al-aminibrahim1394 2 роки тому

      @@KuittheGeek oww thanks sir for the clear explanation, i want to productize it and sell it, and soo can i use 3 cameras on raspberry pi or Rock64, thanks in advance

    • @KuittheGeek
      @KuittheGeek 2 роки тому

      So this is where things get a little bit more complicated and you will really need to start digging in and doing your research. When you get to the point of trying to productize, you will have some different constraints then when trying to develop. Manufacturing cost will be a big driving force. So it will come down to how many you intend to sell. If it isn't that many, something like a close source Raspberry Pi where you are dependent on the Raspberry Pi foundation for product, that could be fine. I think both boards should be able to handle the 3 cameras, especially if you are starting with USB cameras, but I would guess that the Rock64 might be a better starting point, as I believe it is open source and you can create your own design around it and just buy the chips from them. That being said, there are likely a ton of other chips that can also meet your specifications, so you will really need to look around. I would start with a development board and get a minimum viable product up and going, test out and verify your design, and then move onto your final design. You might be able to find other parts that could fit your bill better as you get further down the line with your design and you figure out what does and doesn't work. Sorry if that isn't as specific as you want, but you are really going to want to research it out yourself and find the specific parts that will correctly match and meet your specifications.

    • @al-aminibrahim1394
      @al-aminibrahim1394 2 роки тому

      @@KuittheGeek thanks you ever so much, this is want i wants to hear, what i really want is the chips, but i couldn't get any in digi key, newark, thanks sir i really appreciate

    • @KuittheGeek
      @KuittheGeek 2 роки тому

      @@al-aminibrahim1394 No problem! I am happy to help. If you are still just starting out with the design, it is always helpful to start with a dev kit of some sort and start building up a viable proof of concept, make sure everything works before committing to a design.

  • @al-aminibrahim1394
    @al-aminibrahim1394 2 роки тому

    you having saying something like pico bom or bigger bom at 5:50 time of the vedio, please sir i dont understand can you please type it, thanks.

    • @KuittheGeek
      @KuittheGeek 2 роки тому

      Ah yes, that doesn't seem to have been very clear when I said it, but I was talking about the Beaglebone. It was another single board computer, but I'm not sure how popular they are anymore. The Beaglebone black used to be one of their more popular SBCs that many used to run Linux headless or with a terminal only, I believe. I don't quite recall now, as I never really used one, and it has been a few years since I have heard anything about them. Thanks for your question, I hope that clears it up for you.

    • @al-aminibrahim1394
      @al-aminibrahim1394 2 роки тому

      @@KuittheGeek yeah sure you are clear sir thanks, really appreciate your time sir.

    • @KuittheGeek
      @KuittheGeek 2 роки тому

      @@al-aminibrahim1394 You are very welcome.

  • @Sean.Bowers
    @Sean.Bowers 2 роки тому

    I've really enjoyed this series. Seeing how the fictional world of microcontrollers in Shenzhen IO "translate" into real world design is really neat. Zachtronics games are quite fun for me. I do a bit of programming and tinkering with Arduinos as a hobby and these games have always been a source of fun and more than a little frustration. Recently I've taken to playing "The Signal State". It's a Zack-like but in the world of modular synthesizers.

  • @4yearsago
    @4yearsago 2 роки тому

    Thanks for sharing this information

  • @tonyradice4166
    @tonyradice4166 2 роки тому

    Nice Job! As a designer with a few decades of experience I completely agree with all your points - especially the last two. One "Rule" we had at one of my employers is "Test points on all traces" - I regularly forced a violation of these rules designing the high speed memory busses (in order to maintain signal integrity). Gave the Fab folks fits... Another issue - with point #5 (Hierarchical design) it makes upgrading designs MUCH easier if a page is a function. Yank the page, throw in the new function and spin. If I had only had something like this available in the 90's... How about creating two specific videos on all the details in creating a PCB footprint (all the layers and details) and 3D Model (Again, all the details...) I think these would be very useful.

    • @KuittheGeek
      @KuittheGeek 2 роки тому

      I completely agree with you. And yes, test points on *most* lines I think is a very important rule, if you have the space. I have definitely done some very size confined boards where it wasn't feasible. But having test points on as many traces as possible is very useful in debugging. And yes, using pages as modules is a great way to do full function spins. I have also used it to start a project much faster too. I have used the ESP32 module on several designs, and it is very helpful to just pull in a few pages for the main chip and the programming interface and already have 40% of your design done. I really do need to get back to making videos, as I did enjoy it, and those two videos are definitely two that I have been thinking about for a long time. Hopefully, I can have things settle down a bit more in the coming months and I might be able to get those done. Thanks for the comment and the ideas.

  • @Arcade3145
    @Arcade3145 2 роки тому

    Where is part 2?

    • @KuittheGeek
      @KuittheGeek 2 роки тому

      Unfortunately, due to many factors, and this video not being very popular, part 2 was never made. I would still like to come back to this idea and finish it, but I don't know when I will be able to do that in the foreseeable future.

  • @stefanmuc2k
    @stefanmuc2k 2 роки тому

    I never realized you had finished this series - glad I noticed it today. Thanks for doing that for us! As for things to change: I don't know, it looks pretty good. Maybe I'd go full digital HW and implement it with a small PLD rather than a microcontroller.

  • @jessevanderzouw619
    @jessevanderzouw619 3 роки тому

    In tip 5 I see that you have used a bus between hierarchical sheets. How did you do that? Could you share the design files, then I can have a look. Or a stripped down version maybe, if it contains sensitive information.

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      That is actually a really good question. Unfortunately, the picture I used is part of a sensitive document, so I can't share that. However, I think this is a really good tool that there doesn't seem to be enough information about, so let me see if I can get a video together quickly to cover that topic. If not, I will try to reach out and share some information more on that to you individually.

  • @joshportelli
    @joshportelli 3 роки тому

    Great explanation!

  • @curtisnewton895
    @curtisnewton895 3 роки тому

    why not global ? you might need your component with other projetcs

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      I specifically don't use globals because of my workflow. I store my project on a Git repository, and having them all contained in a local file that goes with the rest of the project files is very helpful. You don't have to worry about including a global library to access all of your symbols on another computer if you work from several. I frequently do designs on my main workstation and my laptop, so I have to have that flexibility to jump between the two. There are benefits to both, but I prefer to use a local library. I can add part numbers specific to those symbols if I need to to create the Bill of Materials, I can add spice models, I can add 3D models to the footprints, and I can link the footprints to the symbols in the way that I intend. You can store them in both a global and local library, if you wish, but I find that causes more problems than it is worth. My projects are always self contained, portable, and clean. They don't contain more components than I actually use in the project. It is very easy to copy symbols and footprints between libraries, and knowing how to import symbols and footprints is also an important skill. One other benefit to keeping the parts local to the project is that if I have to make a change to a part for that project only, I don't have to remember to fix it later, and if you don't that can also cause you problems.

  • @curtisnewton895
    @curtisnewton895 3 роки тому

    there is no file/New library..one gotta go in the library browser and use the context menu

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      I am not sure where you are seeing this, but if you got to File->New Library in the Symbol editor, you can find where you can create new libraries. At least that is where it is in version 5.1.9, and I am pretty sure it has been that way for a while.

  • @hhansen890
    @hhansen890 3 роки тому

    very useful. thx!

  • @s1ckret
    @s1ckret 3 роки тому

    Thanks for your advices! It would be better if a rule text was white. Because black is hard to read

  • @gbo-gr-cy
    @gbo-gr-cy 3 роки тому

    Great video!

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      Thank you! I'm glad you enjoyed it.

  • @bobweiram6321
    @bobweiram6321 3 роки тому

    EasyEda is far easier to learn.

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      I've never used EasyEDA, but in my experience, KiCad is far more powerful. I've had discussions with classmates who have used EasyEDA and then I turn them on to KiCad, and they said it was difficult to learn but worth it for what they could do. There is also a lot of freedom with the software that you can't really find anywhere else, since the code is open source. I started as a fresh student on eagle, and I remember learning about the board size restrictions, and then when I moved to KiCad it seemed like everything was available to me and there was no pay wall. I've spent years using KiCad, and I would say it was always worth it to learn a more powerful tool.

    • @justinc2633
      @justinc2633 17 днів тому

      @@KuittheGeek when i first tried to learn electronics i used easyeda, thought it sucked and it discouraged me from learning, then i downloaded kicad and its 100x better

  • @Berghiker
    @Berghiker 3 роки тому

    How do I solve this problem? Symbol L1 pad ~ Not found in footprint Custom Components:T-68-6 CT.

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      The error is saying that it is looking for a pad in the footprint "T-68-6 CT" in you Custom Components library, and there is no pin labeled with "~". So I would double check your schematic part and make sure all of the pins have the correct numbering, and none of the pins are labeled with "~".

    • @Berghiker
      @Berghiker 3 роки тому

      @@KuittheGeek How do I put a custom symbol in Custom Components Library?

    • @Berghiker
      @Berghiker 3 роки тому

      @@KuittheGeek How do I put a custom symbol in Custom Components Library?

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      You should take a look at my video for creating libraries and parts in KiCad, That will help walk you through the process of creating a custom library. ua-cam.com/video/o0QtJxtkCwU/v-deo.html

  • @khairulzeff
    @khairulzeff 3 роки тому

    The correct pronounce is "key-cad"

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      I know that is how the developers pronounce it, and I've known that for years, but when I was first introduced to it, I learned it this way. As far as I'm concerned, it doesn't really matter. Say it as you want.

    • @user-zb9lv3gh8s
      @user-zb9lv3gh8s 23 дні тому

      For the longest time I pronounced it 'kick-a-kid' To be honest, I still do.

  • @edulchan
    @edulchan 3 роки тому

    Where do I found the game? Any link?

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      This is the official game site and it has links to Steam, GOG, and Itch.io. Zachtronics has a bunch of other games that make you think. I definitely would recommend looking into their library. www.zachtronics.com/shenzhen-io/

  • @SecretJuice1
    @SecretJuice1 3 роки тому

    Hey! Thanks for putting this up for us! I appreciate the detail you went into and I'm happy to see that you're still kicking. For my part, I'm not so big into the electronics part of the process simply because it's not where my familiarity is (I'm just a student coder) but seeing that process from start to finish really put everything into context and was really worth watching. A couple things out of curiosity though: I'm not horribly familiar with Arduino and even less so with its components, but seeing you use the Arduino editor makes me think that the tiny ATmega328 thinger can do the same things you would do with an Arduino. Is that the case? Or is that a misunderstanding? If it is the case, when might it be better to use an Arduino rather than the ATmega? Also, I'm kinda curious as to what sort of cost something like this would take on. I know you mentioned here that you would change some of the parts like the MOSFETs, taking out the resonator, and using a battery pack. I guess what I'm wondering is what it cost you to make the physical prototype you manufactured versus mass-manufacturing when economies of scale apply and parts are changed. Also, in terms of new features for the unit, it would probably do well with a power switch just so that the option is there. Is adding a power switch as simple as sticking it in between the batteries and the board?

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      Hey, no problem. I worked on this a few months ago and got it ready, but I still wanted to tweak some things, so your last comment was enough to get me to finish and post it. So for your question on the Arduino VS ATmega 328p, the Arduino Uno actually uses the ATmega 328p, the difference is that the Arduino is meant to be a development kit for simple prototyping on a breadboard with just running wires. But the ATmega 328p is the actual microcontroller that is used, so it is the processor alone. So what I did was that I took the ATmega 328p, and implemented the minimal circuit that is needed to run it. So it is basically the same thing, just one is for when you are prototyping, the other is for when you would fully implement it. For the cost side, that is a very interesting question. So my cost for the first prototype run, that was probably around $5 per board, with the micro being the most expensive part, which is around $2. With the changes, it would probably come out around the same, but depending on the battery pack, it might be $0.50-1.00 more. Once you hit scale though, you start sourcing your parts from other places in large quantities, and that would take the cost of the electronics down to probably ~$1 or so. Then with factoring in a cheap mechanical enclosure, and the injection molding for that, you are probably looking between $1.50-2.00 for the total cost per unit at a scale of 10,000+. This are rough estimates, but I am pretty sure that would be around where it would fall. Then I would expect something like this to MSRP around $20 or so. Once you factor in the packaging and everything, you would still have a pretty nice profit margin on this kind of a device, assuming people would buy it. You would want to have enough interest that you could at least sell the 10,000 that you pay to manufacture. And yes, a power switch would definitely be a good addition and it could just be dropped in between the battery and the power supply. I believe I mentioned that you could put another MOSFET in between those if you wanted to be able to control the power supply from the microcontroller, so it is the same principle, just a hardware switch instead of a software controlled switch. Thanks for the comment!

  • @KuittheGeek
    @KuittheGeek 3 роки тому

    Hey all! I put this video together a few months ago, but due to some things that made me very busy, I wasn't able to get it uploaded. So here is my review of the circuit and board we designed for Shenzhen I/O about a year ago. I hope you enjoy it, and let me know what you think. What features would you like to see added to something simple like this? Maybe we can revisit this again later and make our simple blinky light more meaningful or useful.

  • @SecretJuice1
    @SecretJuice1 3 роки тому

    This was a really cool series, it was frankly exactly what I was looking for when trying to compare Shenzhen I/O to real life. I really appreciate what you've done here, but I am a bit sad to see that the series wasn't quite finished a year later. It would be awesome if you talked about what you would change for a design like this in a professional, mass production-oriented context rather than simply a demonstration. I'd also like to hear about the process between different types of engineers, like who is doing the schematics, doing the PCB layout, the CAD drawing, and the firmware writing. I know I'm writing this a year since the last episode was posted, so I understand if you just feel done with it. Regardless of whether you revisit it or not, I still enjoyed and learned a ton, so think you so much!

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      I'm very glad you enjoyed it. I do have the last episode recorded where I do go over the design, I just haven't finished editing it. I'm glad to know that there are people still interested in watching it and seeing some of the process. I would love to do a video talking about the different kinds of engineers who work on different parts of the project. Honestly, it does very from firm to firm, because a small engineering firm might have people who wear many hats. One engineer might do the schematic design, layout and firmware. But at a large firm, things might be broken out so that there is an electrical engineer that is doing the schematic design, and a technician or technologist does the schematic capture and layout, while a Firmware Engineer does the firmware design. And even that can be split out furtherer. Thanks for the comment, and I will see if I can get that last episode up soon.

  • @klave8511
    @klave8511 4 роки тому

    Two more rules. 1 Add thermal relief to any pad or via that connects to ground or a large copper area. 2 Don’t overload your shelves, if they are bending then you have a problem and may soon have to pick parts off the floor 😀

    • @KuittheGeek
      @KuittheGeek 4 роки тому

      Haha, believe it or not, the shelves were bent even we bought the house, though I probably should have replaced then by now... 😅 And I agree with the thermal relief, and the best way to do this that I have found is to just have that included with the ground pour settings. That way, by default, any pad or via is automatically poured and connected to ground with thermal relief. Good tip to mention though.

    • @adzijderlaan7070
      @adzijderlaan7070 3 роки тому

      Tip 16 turn your shelves they will be straight again ;)

    • @KuittheGeek
      @KuittheGeek 3 роки тому

      Haha, definitely a good solution to that particular problem.

  • @Cutycats9
    @Cutycats9 4 роки тому

    Thanks bro 😍😍😊

  • @MarkPentler
    @MarkPentler 4 роки тому

    This software is not very user friendly. Damn...

    • @MarkPentler
      @MarkPentler 4 роки тому

      All I'm trying to do is set the dimensions of my rectangle and I'm getting a warning about datum constraints and I have no idea what I'm doing that is so difficult. I clicked on the same buttons you did.

    • @MarkPentler
      @MarkPentler 4 роки тому

      Clicked the wrong line, haha. sorry

    • @MarkPentler
      @MarkPentler 4 роки тому

      Ok! I have a box with some clearance for 1mm walls around my PCB and a pocket 9mm deep to lay my PCB on the bottom. Only thing left is screw threads on the bottom for the standoffs I assume, and then I can get some standoffs screwed in. Looks like those are hard, though. I still say this is quite the complex app though. I find it harder than KiCAD and that scared me at first.

    • @KuittheGeek
      @KuittheGeek 4 роки тому

      I agree that FreeCAD is not super user friendly, but that has also been my experience with a lot of MCAD software. I am curious as to how you are planning on making your box, because in my experience, a 1mm wall is pretty thin. I believe I used a 2mm wall on this project, which is what I tend to do. If you are 3D printing, I would make the wall at least 3x your nozzle diameter. And one tip to make the screw holes easier is to just make standard holes and don't worry about threading them. The layer lines do a pretty good job as acting as threads, and most screws can cut threads, you just need to be careful the first time. You will also want to make the inner diameters of the holes larger than the shaft of the screw, but smaller than the diameter of the threads. I would shoot for somewhere in the middle and you should be fine. Good luck on your project!

    • @MarkPentler
      @MarkPentler 4 роки тому

      Kuit the Geek oh, I’ll go for 2mm. 1 probably thin and I did think about that. Also FreeCAD literally corrupted my save so I’ve lost it all. I’m starting again with the help of the kicad step up tool

  • @MarkPentler
    @MarkPentler 4 роки тому

    So I just wanted to come back here all these months later and point you to my channel where I’ve posted a few videos of me doing arduino and Pi stuff. I made an LED matrix! Hand soldered! I’ve also had some PCBs made from JLCPCB and done some Arduino stuff with bare 328 chips as well. My next project is some ham radio boards which is a BIT more complex with RF involved. Oh, and I still don’t really GET electronics. But man, having a PCB made is such a personal level-up.

    • @KuittheGeek
      @KuittheGeek 4 роки тому

      I am glad you came back as it sounds like you have been busy! LED matrices are definitely fun projects, I did a few during my undergraduate work. Good luck on your ham boards, there are a lot of things that you have to watch out for when you do RF design, so you don't have or cause interference with other devices. JLCPCB does a pretty good job with boards, and they are usually pretty affordable, which is always a plus for making small runs for prototyping or one-two offs. And as far as getting electronics, it sounds like you are at least on the right path, and it takes time. I find it can be very difficult because it isn't something that you can just see and understand, you have to try to grasp a lot of abstract concepts and ideas. I find there are a lot of water analogies for a lot of things. Again, best of luck with your projects.

  • @ArduinoKing
    @ArduinoKing 4 роки тому

    Fantastic video. Thank you so much, helped me out a tonne. Would be great to see a similar video about footprint libraries.

    • @KuittheGeek
      @KuittheGeek 4 роки тому

      Thanks David! I have been hoping to get back to making video, it has been a while, but I have been overwhelmed with finishing school. I have definitely been planning on covering every step of the process to creating PCBs in KiCad, and I think footprints are one of the most important parts of your design, because it is the physical representation of your part! I have run into many issues in the past because of poor footprint design. Thanks for the comment!

  • @thepenultimateninja5797
    @thepenultimateninja5797 4 роки тому

    It should be noted that the term microcomputer doesn't necessarily imply that the computer is tiny like a Raspberry Pi. Microcomputer is simply a class of computer that uses a microprocessor, as opposed to a minicomputer or a mainframe. Your PC is a microcomputer. When I was a child, we referred to our home computers as 'micros', but that term fell out of favor when the IBM PC became the industry standard.

    • @KuittheGeek
      @KuittheGeek 4 роки тому

      This is true, and I did know that point, but since it was more of an antiquated term, I consider it with respect to the definition of a personal computer today. It is a good point to make for the history of computing, but I my main point here is that many people in the tinkering space and even some engineers that I know, don't seem to know the key differences of a microcontroller and a microprocessor. I commonly have people tell me when they are explaining a project "Oh, this would be a great use for a Raspberry Pi", when the job can really be done with a microcontroller. I have had others say the same thing about a project that really needs the compute power and resources of a microcomputer (or nano computer if you would like, maybe pico computer?) and its microprocessor, RAM, storage, and network. A Raspberry Pi is still a microcomputer by its definition, as it can be used by a single person as a desktop computer, but where it is a small, all-in-one package, most people consider it as a little different from a common PC, but it really isn't. I'm all for starting a revolution to call them pico computers.

    • @thepenultimateninja5797
      @thepenultimateninja5797 4 роки тому

      I think creating a class of machine called a 'picocomputer' is an excellent idea. The criteria could be that it uses a SoC as opposed to the discrete CPU, memory etc used in a microcomputer.

  • @HtopSkills
    @HtopSkills 4 роки тому

    Good job!

    • @KuittheGeek
      @KuittheGeek 4 роки тому

      Thank you, this was definitely a fun project, and I am hoping to get together another video soon.

  • @lemonandgaming6013
    @lemonandgaming6013 4 роки тому

    i have a probably ridiculous question, but why do you need the capacitors ? this might be obvious but can you please tell me in detail ?

    • @KuittheGeek
      @KuittheGeek 4 роки тому

      That's not a ridiculous question at all. You put capacitors on the supply lines to help to filter the input power. DC power isn't perfectly flat like we normally represent it, it has a small signal ripple in it, and we use capacitors to help smooth that power out right before it supplies the ICs. This helps make the power more stable and helps to prevent random resets in the event of a power bump. This is also why the capacitors are typically put as close to the input pin as possible. Does that make sense?

    • @lemonandgaming6013
      @lemonandgaming6013 4 роки тому

      @@KuittheGeek thank you for the explanation ! if you dont have a problem, i have 2 more questions what capacitors to use depending on the circumstances, and im using kicad, and i cant find logic gate footprints, what do i do ?

    • @KuittheGeek
      @KuittheGeek 4 роки тому

      So there are a lot of reasons to use capacitors, and it is hard to explain the differences for all of the circumstances. But for power input filtering and smoothing, I normally use 2 ceramic capacitors in parallel, with values of 1uF and 0.1uF. As far as the logic footprints, you will need to look for the specific logic ICs for the gate you want to use. For example, the 7402 is a quad packaged, 2 input nor gate. Once you find the part you want to use, you can check the datasheet for the part, and it should tell you what footprint you need, like the SOIC-8 or SOIC-16. Those should also be in the default libraries. Otherwise you can look at snapeda.com for schematic symbols, footprints and 3d models. I hope this helps.

    • @lemonandgaming6013
      @lemonandgaming6013 4 роки тому

      @@KuittheGeek its really nice to be helped like this, wish the best to you

    • @MarkPentler
      @MarkPentler 4 роки тому

      LemonAndGaming it’s also worth noting that when you’re using crystals with an IC for timing you sometimes need to use capacitors to kickstart the crystals into working (so I’ve heard, don’t really understand why. Weak signal I guess)

  • @zlac
    @zlac 5 років тому

    I'd probably do the same, but with internal oscillator just because I'm a cheap bastard... ALSO, to make the whole thing more faithful to the game, I think it would be very funny to use the cheapest Chinese micro you can find! I found PADAUK Tech PMS150C-U6 on lcsc.com. It costs a whooping $0.0365 if you buy 10pcs and $0.0273 if you buy 100! It's got 6 pins; 2 for power and 4 GPIO; more than enough!

    • @KuittheGeek
      @KuittheGeek 5 років тому

      That definitely would have been an interesting way to go. Then I could fight the realism of the poor Chinese documentation. I definitely could have just used the internal oscillator because it really didn't do much for the circuit. I do plan on doing a review of the design, and that was one of the things I was going to talk about. Thanks for the comment!

  • @nicolasrepiquet1166
    @nicolasrepiquet1166 5 років тому

    I'm really looking forward to that next episodes. Thx kuit !

  • @KuittheGeek
    @KuittheGeek 5 років тому

    Hey everyone! In this video we are talking about product development, and my next project, a mailbox notification device. How many of you wish you could know when your mail was delivered? Well that's exactly what we are tackling next.

  • @skyjoe55
    @skyjoe55 5 років тому

    Im kinda sad that this is just a custom arduino. I was hoping that there were small chips that could run small amounts of basic code like in shenzhen.

    • @KuittheGeek
      @KuittheGeek 5 років тому

      There are many small and simple microcontrollers out there, but this is basically how most modern designs work. I have been working on a project recently at work that uses a small 8 pin PIC micro, and I'll no doubt use that in a video sometime soon, but most projects now are done with micros that have significantly more code space then any project you could do in Shenzhen I/O. I could definitely do a project using this little PIC and some assembly code, that would be closer to the game. 🙂 I just need a project. 🙂

  • @skyjoe55
    @skyjoe55 5 років тому

    I love this idea and would watch you go through each puzzle

  • @AnclaveR
    @AnclaveR 5 років тому

    How do you calculate the values for capacitors and resistors? Or it's just standard values from atmega datasheet?

    • @KuittheGeek
      @KuittheGeek 5 років тому

      That is a great question. So some of the values are standard values. I will always place a 1uF and 0.1uF capacitor on the input power line of the processor, as close to the power pins as possible. These act as power buffering capacitors as well as offer some noise reduction from the power supply. The resistors need to be calculated based on the LEDs used. This is dependent on the Source Voltage, the LED forward voltage, and the LED forward current. Digikey has a great calculator to use to calculate this out. I usually go a little under on the LED forward current to ensure I am not overdriving the LED. So if the LED has a current limit of 20mA, I will shoot for 18mA to drive it. This will just make the LED a bit dimmer. Great question though, I will be sure to cover this more in future videos.