Hacker News new | past | comments | ask | show | jobs | submit login
Fritzing is an open-source electronic design tool (fritzing.org)
280 points by memorable on May 2, 2022 | hide | past | favorite | 110 comments



I do not recommend this. Use Kicad.

It's not an on-ramp, it's a time-wasting distraction detour from your actual on-ramp.

Every minute you spend figuring out how to do something in fritzing is a minute you could have spent figuring out the same thing in kicad, which you will end up doing eventually anyway, I promise you, garanteed. All this gets you is some badly designed boards and wasted time.

There are gobs of youtube videos for the absolute beginner which takes care of taking you from zero to simple pcb in a few minutes. Then you figure out a lot of other details as you encounter needs for them over time.

It doesn't have to be kicad either. If you don't mind a commercial proprietary product, Eagle is fine too. It's workflow is a little different but not bad. In fact it's an industry standard at a low level.


Agreed. Also, if you include software that costs money, Altium is in my opinion by far the most user-friendly program in the ECAD industry (I've spent a lot of time in Altium and Cadence, and a bit of time in Eagle).

If your design is open-source, Altium CircuitMaker is a free version of Altium specifically for open-source hardware projects:

https://www.altium.com/circuitmaker


Eagle got bought by Autodesk which totally changed it.


Oh, nice. I'll have to check it out again.


If fritzing gets #1 spot on HN I would like to wholeheartedly recommend https://www.kicad.org/ as well. IMHO much saner workflow and good UX in the latest version.I did a simple PCB and got it manufactured on https://jlcpcb.com/ for a couple bucks. Quite a rewarding experience.

I would also suggest that anyone who cares about computers gets to know basic electronics. How do transistors work, what is a bus (e.g I2C or SPI) and how is it all connected? (Drumroll ... a PCB of course). There is a ton of tutorials on youtube that do it end to end. E.g Phils Lab https://www.youtube.com/watch?v=rLDqQ2L_mUQ for a PCB design. Or Ben Eaters excellent beginner tutorial "Hello World from Scratch" https://www.youtube.com/watch?v=LnzuMJLZRdU


I would actually urge anyone to check out KiCAD instead, not just as well.

The only merit Fritzings has against a thriving open ecosystem such as KiCAD is its dumbed down interface that would make it more accessible to beginners. However, if you want to use it without paying €8, you have to compile it from source, which makes this whole point mute.


Yes, KiCAD is the best if you're a beginner, want something free, and actually intend to go through the (considerable) effort of designing a PCB and have it fabricated for real. You can do complex designs and take advantage of really nice features and rule-checks. It's very much an 80% solution to a hard problem and more than enough for hobbyists.

For paid/non-free, some of Altium's offerings would be the next step up, along with Fusion-360. I haven't tried Fusion-360 ECAD. I do know that Autodesk bought Eagle, but it's not clear to me if Fusion-360 is using Eagle for schematic capture and PCB?

After that, it's big-boy tools like mentor or cadence. These are overkill for hobbyists unless the man is paying for your seat.


As a rank beginner, I was able to use Fritzing to design and get printed a simple board (~10 elements) with little effort. Yes, for anything more complex I would want to invest the time in learning a more powerful tool, but KICAD is more the next step than "the best if you're a beginner".


After that, it's big-boy tools like mentor or cadence. These are overkill for hobbyists unless the man is paying for your seat.

I've heard that the really expensive EDA tools are like Adobe Photoshop --- everyone experimenting/learning tends to just pirate them, and then end up at a company which does pay for them.


Fusion 360 can import the 3D model of a populated PCB from Eagle, but has no EDA capabilities on its own.



Yeah, it looks really tempting to have seamless electronics/PCB + mechanical CAD tool. I was wondering if anyone had some experience they could share with producing PCB's using the Fusion-360 toolchain.

I've used it for mechanical and I found it extremely polished and intuitive and totally worth the subscription for that alone, but I have neither the time nor project (yet) to go down the rabbit hole of learning the ECAD functions of Fusion-360.


The problem with Fritzing is that it is so much "dumbed down" that it is mostly useless. It doesn't even enforce basic design constraints such as having the PCB traces horizontal/vertical/45deg angle or clearances.

And good luck with creating your own components!


Well, to be fair, the 0/45/90 deg traces are a byproduct from early days of EDA CAD products. Aside high frequency busses (which you're doing EM analysis on anyways), traces can be all sorts of shapes. That 3v3 or 5v line can have 135deg traces - they might be ugly, but they're very doable. This is a case where early electronic CAD turned into a cargo-cult.

Prior to the early computing CAD days, the traces were really rounded and flowing, and had teardrop fills. They were also done freehand, with transparencies, markers, and tape.

This is a good example of hand-designed boards: https://www.worthpoint.com/worthopedia/vtg-early-1970s-ampex...


> Well, to be fair, the 0/45/90 deg traces are a byproduct from early days of EDA CAD products. Aside high frequency busses (which you're doing EM analysis on anyways), traces can be all sorts of shapes.

The constraint is still there. Curved traces make your GUI ridiculously unmanageable. Ever tried to manipulate font outlines? It's like that on a PCB, only an order of magnitude worse. You have to operate control points for every single segment rather than just dragging a trace. All for effectively no benefit on 99.9% of all PCB designs.

In fact, the only good argument for using non-Euclidean traces is in the ultra-high-speed arena (think DDR4 bus or multi-GHz RF). If traces are small enough that they fit between the PCB weave, different traces can have enough difference in electrical permittivity that it will screw up the matching (trace 1 has an FR-4 fiber directly underneath while trace 2 only has cross fibers underneath and so has about 50% air underneath instead of 100% fiberglass). Consequently, you have to swing the angles to weird things like multiples of 7 or 13 degrees to prevent that.


The premise of your comment is excellent - the fiber weave effect you describe is not often considered although the two dielectric materials contained are glass bundles and resin (instead of air). I would highly recommend Bert Simonovich's publications for anyone interested in more ([1] for example). It's worth noting that DDR4 isn't really fast enough to consider "non-Euclidean" traces, though when it comes to the weave you should always be working with your fabricator to use mechanically spread glass adjacent to these high speed signals.

For anyone with more questions in this area of high speed digital design, feel free to reach out to me (contact info in profile) - I love the topic.

[1] https://blog.lamsimenterprises.com/2011/01/08/fiber-weave-ef...


Whoops. You are totally correct. It is resin and not air. I completely spaced on that.


The other good argument is when designing FPCs (flexible PCBs) --- where gentle curves reduce stress concentrations that can cause cracking and delamination.


mitxela did a great video on this topic recently and wrote a plugin for kicad to make the regular geometric layouts more organic.

https://www.youtube.com/watch?v=euJgtLcWWyo


> its dumbed down interface that would make it more accessible to beginners.

I guess it depends on who you are, but I tried it and noped away in under 30 minutes. I understand how this might be a valuable learning tool in a classroom environment, but the restrictions it has around components and design are too much for a hobbyist experimenting.

> which makes this whole point mute.

moot


I can't say much about its usability, but you don't need to pay to download Fritzing if you're on Linux (or Windows with WSL) because it's available for free in the usual places (https://flathub.org/apps/details/org.fritzing.Fritzing, https://packages.ubuntu.com/jammy/fritzing, https://aur.archlinux.org/packages/fritzing). You only have to pay if you download the official distribution version.


Another merit of Fritzing is the integrated breadboard layout, linked with the schematic. Often I want to try the design out with a breadboard with DIP chips to see how things work, and also to provide a breadboard layout for people that don't want to order a PCB.


FWIW, the point is moot, not mute.


I think you mean a moo point? https://www.youtube.com/watch?v=fLwYpSCrlHU


Mu.


Tau you very much


if you tell them then it stops being a useful indicator


Compilation is easy, and there's really not that much common ground between CAD and knowing the rote actions to compile something. I wouldn't even say there's a lot of common ground between programming and CAD.


Even better is that with kicad you can fully automate fab outputs via CI pipeline for example in gitlab. I have my projects run ERC and DRC then if they pass, gerbers for JLCPCB, BOM (with parts #s for LCSC) and placement for assembly as well as an interactive BOM are generated.


Is there a good tutorial for setting up a pipeline like you’ve described using? Really cool!


I gathered my setup from a few sources but the main one is https://github.com/INTI-CMNB/kicad_auto and https://github.com/INTI-CMNB/KiBot . Here is my current setup for gitlab:

When adding components, add "LCSC" to overall schematic (BOM export will fail if added to each part separately (join issue)) and the part number in each part in order to use the JLCPCB assembly service. Only parts with LCSC column are exported in the JLCPCB BOMs.

.gitlab-ci.yml

  ...
  tests:
    image: setsoft/kicad_auto:dev_k6
    stage: testing
    script:
      - "[ -f *.kicad_pcb ] && kibot -c test.kibot.yaml"
    tags:
      - docker

  pcb_outputs:
    image: setsoft/kicad_auto:dev_k6
    stage: gen_fab
    script:
      - "[ -f *.kicad_pcb ] && kibot -c output.kibot.yaml"
    only:
      refs:
      - master
    artifacts:
      when: always
      paths:
        - Fabrication/
    tags:
      - docker
  ...
test.kibot.yaml

  kibot:
    version: 1

  preflight:
    run_erc: false
    update_xml: false
    run_drc: true
    check_zone_fills: true
    ignore_unconnected: false
output.kibot.yaml

  # Gerber and drill files for JLCPCB, without stencil
  # URL: https://jlcpcb.com/
  kibot:
    version: 1

  filters:
    - name: only_jlc_parts
      comment: 'Only parts with JLC (LCSC) code'
      type: generic
      include_only:
        - column: 'LCSC'
          regex: '^C\d+'

  variants:
    - name: rotated
      comment: 'Just a place holder for the rotation filter'
      type: kibom
      variant: rotated
      pre_transform: _rot_footprint

  outputs:
    - name: JLCPCB_gerbers
      comment: Gerbers compatible with JLCPCB
      type: gerber
      dir: JLCPCB
      options: &gerber_options
        exclude_edge_layer: true
        exclude_pads_from_silkscreen: true
        plot_sheet_reference: false
        plot_footprint_refs: true
        plot_footprint_values: false
        force_plot_invisible_refs_vals: false
        tent_vias: true
        use_protel_extensions: true
        create_gerber_job_file: false
        disable_aperture_macros: true
        gerber_precision: 4.6
        use_gerber_x2_attributes: false
        use_gerber_net_attributes: false
        line_width: 0.1
        subtract_mask_from_silk: true
      layers:
        # Note: a more generic approach is to use 'copper' but then the filenames
        # are slightly different.
        - F.Cu
        - B.Cu
        - F.Paste
        - B.Paste
        - F.SilkS
        - B.SilkS
        - F.Mask
        - B.Mask
        - Edge.Cuts

    - name: JLCPCB_drill
      comment: Drill files compatible with JLCPCB
      type: excellon
      dir: JLCPCB
      options:
        pth_and_npth_single_file: false
        pth_id: '-PTH'
        npth_id: '-NPTH'
        metric_units: false
        output: "%f%i.%x"

    - name: JLCPCB
      comment: ZIP file for JLCPCB
      type: compress
      dir: Fabrication/JLCPCB
      options:
        files:
          - from_output: JLCPCB_gerbers
            dest: /
          - from_output: JLCPCB_drill
            dest: /

    - name: ibom
      comment: Interactive BOM
      type: ibom 
      dir: Fabrication/ibom
      options:
        dark_mode: true

    - name: 'JLCPCB_position'
      comment: "Pick and place file, JLCPCB style"
      type: position
      dir: Fabrication/JLCPCB-BOM
      options:
        variant: rotated
        output: '%f_cpl_jlc.%x'
        format: CSV
        units: millimeters
        separate_files_for_front_and_back: false
        only_smd: true
        columns:
          - id: Ref
            name: Designator
          - Val
          - Package
          - id: PosX
            name: "Mid X"
          - id: PosY
            name: "Mid Y"
          - id: Rot
            name: Rotation
          - id: Side
            name: Layer

    - name: 'JLCPCB_bom'
      comment: "BoM for JLCPCB"
      type: bom
      dir: Fabrication/JLCPCB-BOM    
      options:
        output: '%f_%i_jlc.%x'
        exclude_filter: 'only_jlc_parts'
        ref_separator: ','
        columns:
          - field: Value
            name: Comment
          - field: References
            name: Designator
          - Footprint
          - field: 'LCSC'
            name: 'LCSC part number'
        csv:
          hide_pcb_info: true
          hide_stats_info: true
          quote_all: true*


Neat!


While we're sharing our favourite open source EDA tools, HorizonEDA deserves a lot more love and attention.

https://horizon-eda.org/


>> While we're sharing our favourite open source EDA tools, HorizonEDA deserves a lot more love and attention

My impression is that Horizon-EDA is well worth following, but not as far along as KiCAD. It's a nice second option that some people prefer.


Unless you really need some really advanced KiCAD features then Horizon is far far more usable. Night and day.


I'm just happy to say you can now use SolveSpace to create STEP models of components for either one: https://solvespace.com/index.pl


The Pool concept of horizon is very interesting. Libraries & Library Management are absolutely the worst part of EDA/E-CAD. I wonder where the Return on Invested time happens for this concept.


I have only had good experiences so far on JLCPCB. I can very much recommend. Quality boards for very cheap, plus you can actually get the parts pre-assembled if they have them in their catalog (most common parts should be there) It's weird to "shill" for a company but I'm very happy that they exist, and hope they and companies like them continue to exist.

Plus Kicad is cool ;)


Also plugging https://flux.ai in this context

It’s a modern take on electronics design with slick UX

Comes with a free tier as well as paid

Software engineers here are gonna love that components in flux are fully programmable from schematic/PCB all the way down to simulator models


It's truly interestering. We considered it, and we didn't like it. It seems something born to be "vendor lock-in" plus the fact that it looks super volatile (a bad combination). We are sure that our current EDA tools will at least stick around for a while.

And it's browser based. Opening any of the examples on the main page with firefox lifted up my PC like a hovercraft by the way the fans started to spin, with several seconds delay for any interaction (on a PC that's capable of running Altium and Orcad).

PS: I love the animation on the main page and how the mechanical engineer has no idea on what's going on!


Thanks for the love everyone!

Yeah, performance is on our radar now that the core product is mature enough to manufacture boards. Our goal is to get 200 component projects to work well on a regular 2017 generation machine and get to 1000 by end of year.

About vendor lock-in: we def don't want to lock anyone in...so data portability is big focus and we have import/export support for kicad and other formats like STL or Collada already. Planning to add support for Netlists, Altium, Eagle, etc too as well as a REST API.

You can also export your project as a json file today


Would you mind sharing how long the queue for your Beta is? I signed up a few weeks ago, but haven't heard back from Flux yet.


Any plans to make a standalone desktop app?


Depends on your definition of "standalone"

Ultimately the power of flux is connectedness the collaboration that enables but we do plan to ship a standalone app that's unbundled from your web browser in parallel to the web version.

We also have plans to offer some amount of offline capabilities so solve for use cases such as being on a airplane.


Good points there about longevity. If you're doing any EDA work you need to drag the EDA product through the lifecycle of the design. I have seen whole computers with OrCAD for MSDOS dragged along with a product just so the toolchain didn't get shafted.


Isn't that what Docker was made for? [0]

Dev1: It works on my machine!

Dev2: Great, we'll ship your machine!

[0] https://lescinskas.lt/assets/img/posts/2019/docker-works-on-...


I'm using Altium as my major tool for professional electronic design but I looking for something LESS expensive. And I've already done one paid project on Flux.ai. If you beginner in electronics I recommend you invest your time in something progressive like Flux rather than KiCAD or EAGLE. Yes, KiCAD and EAGLE are good tools and you will still find a lot of projects for a few years before they become complete dinosaurs but at some point, you will hate working in them(oh, gods, how I hate EAGLE, sorry for everyone who loves it)


This is the future of hardware! Made couple of boards already.


I joined the beta about 6 months ago and these guys develop fast. When I just signed in there was no PCB at all and now a bunch of people made their PCBs in Flux and even assembly. Definitely worth to at least trying this tool.


Was going to recommend the same


is librepcb any good?



While we're sharing our favourite open source EDA tools, HorizonEDA deserves a lot more love and attention.


KICAD reminds me a lot of PICAD which I used when doing my electronics engineering degree.


It does.


... for the reading folks "Electronics Explained" by Louis E. Frenzel, Jr. Is probably the best book for a general knowledge buff up.


There was an interesting discussion on their "download" button a few years ago. https://news.ycombinator.com/item?id=21530891

Original article has disappeared but is on archive.org: https://web.archive.org/web/20210615211240/https://bowero.nl...


Friends don't let friends use Fritzing for electronic design. It is only good for making simple newbie-friendly connection diagrams, nothing else.


I've never used Fritzing for PCB design, but I think there is a use case where it's not bad: when you want to make breadboard pictures.


Yeah, it's very handy for making a graphic showing how to wire up an Arduino or similar.


That's the one thing it's actually good at. But it is very good at that. If you're still at the level where you're using breadboards & through-hole parts for everything (i.e. before you learn to solder) it's a nice tool.

Once you learn to solder you can make PCBs and work with higher-speed components than breadboards can support, then you'll want something that's actually slightly decent for PCB design. Fritzing is about the same level of help as manually cutting out mylar tape, you want something with actual design rule checking.


It seems like someone ought to fork this component of the project and release just that - or would that be overkill?


I always wanted to get more into electronics but I knew tools were crap so I was putting it aside but last year I finally started tinkering with electronics and so naturally I tried all the electronics simulators and design tools in Ubuntu repository. I've tried maybe 20 different apps. They all equally garbage. This was supposed to be a relaxing hobby, and instead I was just getting angry with ridiculous design decisions and obnoxious bugs. Let me tell you something, if software has autosave feature you can be almost certain it it steaming pile of shit.

After several keyboard bashing episodes, for my own sanity, I decided either I make my own schematic design tool and simulator or I'll give up on this hobby. In a day I had proof of concept, in 2 weeks I had working prototype, in a month I had decent tool I could actually use for real stuff.

For comparison, the easiest and most stable for me was Caneda. But to change resistor value and see change in output you need 7 clicks ffs! It would take ages to design anything, my tool simply uses mouse wheel over component to change its value by 1% or 10% (shift). What takes me 30s would take me hours in other tools. And my tool doesn't even have autosave. It doesn't need it, it never crashes, ever! There are 3 unbound loops in my schematic editor, I know where they are and I added code that prevents it from freezing. It is literally impossible to crash it. Even during the development it rarely broke, I guess the "pro" tools are built differently. Then few weeks later as I was making more and more complex circuits I designed perfboard design tool and now I have everything I need. I've been really happy with it, no bugs, no crappy UI. I should have done it years ago. Designing circuits is now my happy place.

I think the authors of other design tools try to hide their bad core design by adding million features and thousands of components, but if the core products is crap, it will be crap even if you add 20'000 to92 transistors, it will just take you longer find component you need.

I was considering releasing it but it would take too much time to get it to the state others can use it and I don't have that kind of time (it runs in browser but needs locally running ngspice running in the background via php server). But if you are like me and you find all other tools garbage, make your own, seriously, is not that hard and it is very rewarding, my first POC was literally screenshot of scheme with wheel changing netlist values, running ngspice, showing transient analysis in chart.

Schematic design tool and simulator: https://de.catbox.moe/hcoapj.png

Perfboard tool: https://de.catbox.moe/uq8si4.png


Strange. Drawing pcbs in kicad is one of the most soothing and relaxing things I do on my computer.

For about the first 30 monutes I did fight with with the basic navigation based on zooming out then back in, instead of just panning, but as long as I have an even minimally good mouse (mx anywhere 2, 2s, 3 for myself) it's fine. It's annoying on the track pad or a mouse without a good wheel.

And that's pretty much it. It only bothered me for the first few minutes to maybe an hour.

Everything else is just learning where a few settings or tools are, and getting a few basic ideas about how the schematic ties to the pcb. Those aren't really communicated very well by the app itself. I pretty much figured it out by just trying stuff and noticing what it did, but there are also tons of videos that just show you.

Almost immediately I was drawing pcbs and loving it.


I'm in the same boat. All of my stabs into the ECAD tools have just felt like trips into dark rooms with lots of pointy shelves at different heights to bonk my head into. None of them have been satisfactory experiences.

I, too, have made progress on my own tool. Mostly focusing on just laying out Gerber files. I haven't made the progress you have made, but the idea that the tools trouble me enough to abandon them and just start from scratch, is interesting.

What's worse, is that having dabbled with both KiCad and Eagle (and probably others) and neither rises up above to a level that I was having any real success. They both look like they were cut from the same cloth, no doubt designed in the 80's and just working on "workflow momentum" of the industry, because they don't want to retrain anyone that's been doing this for 30 years.


> But to change resistor value and see change in output you need 7 clicks ffs!

KiCAD at least is heavily oriented around keyboard shortcuts. To change a resistor value, you mouse over the resistor, press `v`, type the value, and press enter. 0 clicks, 2 keys + however many digits in the value. And it doesn't autosave.


> if software has autosave feature you can be almost certain it it steaming pile of shit.

I once had to use a program that had no save feature at all. I don't know if each change was made immediately, or if it dumped at close. Of all my years using the software, I never even inquired about it. I just remember learning to use it and the lack of save was pointed out then thinking about how strange that was. After using the program, I never even thought about the no save again.


I'd suggest releasing it as-is, anyway, with a short writeup what needs to be done. Someone might be willing to pick it up.


It's good to see that Fritzing is still alive. I recall that there were plans to move it to a web platform that fizzled out, and the original application was unmaintained for a while. I'm a little surprised to see that the pay-to-download button is still there. While I understand that the maintainers would like to be compensated for their time, it's not a good way to grow (or maintain) a userbase. Fritzing gets hated on a lot, but it has its niche. A salty forum commenter described that it's not actually intended for noobs, but actually for more experienced electronics hobbyists who are writing tutorials for noobs and want to draw a breadboard layout. And for drawing breadboard layouts, it's not bad. The PCB layout portion is that bad - it's probably the worst PCB layout tool I've ever tried using, and I can't come up with any reason for its continued existence other than to get referral money from a board house. And yes, KiCAD is great, but this doesn't and shouldn't compete with it.


I loathe fritzing. I don't understand why they can't just capitalise on their strengths and leave the rest behind, which is their breadboard view for making connection diagrams.

Their breadboard view needs more work but it's by far the only reason to consider using it. Unfortunately the parts editor is a pain to use.

I was considering trying to fork it to remove everything that wasn't related to the breadboard view, and make the wire interface a little easier to manage, but that didn't get anywhere. (Yaks)

People are actually trying to use this as a proper EDA? Are you kidding?


It might be open source, but it’s not free. Tried to download once for doing documentation of other printed circuit boards. Compiled from GitHub, but the user interface wasn’t convincing. Ended using 3D model from KiCad in documentation and it was great!


I thought Fritzing was dead as a project. I don’t recall where I got that impression though.

I thought it was kind of cool, especially for prototyping how I’d put together a prototyping breadboard circuit, but by the time I got to it, I was already familiar with EAGLE and have since moved on to KiCad. To me, it’s a tool that is useful for beginners but complicates transitioning into another EDA tool. That actually makes me wonder if Altium users feel the same way about KiCad.


Are there any use cases where Fritzing is more suitable than KiCad?


When you want to document and get a picture representation of a breadboard lashup and that's as far as you are going to take things.


- prototyping on a virtual breadboard

- quick and dirty Arduino / Adafruit / SeedStudio boards based projects

- first time software for electronic learners or in a classroom

The breadboard view is the selling point of Fritzing. Kikad, LibrePCB or EasyEDA do not really offer this feature. That said, calling Ftrizing an EDA is exaggerated but it has his usage when a full featured EDA is not needed (yet).

Fritzing is not in the same team, it belong more to the team of DIY Layout Creator and VeroRoute.


Making illustrations of breadboard layouts. For actual PCB layouts though, I would put more trust into KiCAD.


I’ve tried most tools out there.

As a hardware founder (https://Loodio.com) I actually stuck with EasyEDA.com because it’s so damn quick and they have lots of ready made foot prints.

I even make the enclosure for Loodio with PCBs that I screw together with screw terminals. So every unit is 2 electrical PCBs + 6 “wall” PCBs.

You can do so much with circuit boards.

I even made my business card of a 0.6mm thick PCB with an NFC chip: https://youtu.be/_BSfO9LAIqg


What a coincidence! I'm looking to replace Fritzing as it somehow corrupted my project file (the project file is readable but the netlist part is missing)

I have gotten LibrePCB (had to build it, as there is no package available for Kubuntu) but I haven't really had a chance to try it out. Lots of other interesting suggestions here though!


Adjacent topic: how does someone with strong computer science algorithm start designing pcb’s? Like if I wanted to, say, create a computer which randomly added together integers and displayed them on an LCD, where would I even start to learn how to do that?


First, pretty much everything in the lite-hobby space is done with microcontrollers, Arduino being the most mature ecosystem. Arduino is a really fancy wrapper/standard around the AVR ATMegas, I would start here. Arduino is an Open Source project so many manufactures create an Arduino-compatible board, but i do recommend supporting them and buying your first Arduino UNO from them directly if you are able to. Arduino provides software and an easy way to interface with pinouts. Start by doing some of the sample projects and tutorials, you'll pickup some basic electrical theory along the way.

Next, you will eventually ask the question of how to make a production board, where you may go down the rabbit hole of programming the AVR directly (the microcontroller), which I recommend as a jumping off point into raw microcontrollers and using an ICSP which an Arduino UNO can also do for you.

Somewhere along this path, you will want to gather some more advanced knowledge of circuits and DC fundamentals. Pick up a set of 7400 logic chips and learn how logic gates work from the lowest level possible as well as op-amps, comparators, etc.

You'll find every chip (IC or integrated circuit) speaks in either a protocol/bus or just logic levels (pins going high or low). When more than a bit or so of data is required to be transferred, ICs will implement a general-purpose digital interface like I2C (most common), SPI, or UART. There are some additional ones like I2S (for audio), 1wire (for one wire communication), CAN bus (what your car likely uses), and there are some more advanced ones like PCI (the same kind bus your PCI slots in your computer uses), MII (media independent interface), etc. Most of the time, you are just connecting together devices on a bus (for example I2C can support multiple devices because it's addressed) or finding ways to convert one to another (for example, you might want to communicate in RS232 via your UART bus).

There is also analog which is a whole different beast.

This is all a big simplification, but honestly it's not that unapproachable these days, just start small and build from there.


This pretty much how I started. Lots of prototypes built on stock Uno and available shields to do different things. At some point, the sandwiching of shields and the form factor alone requires ugly enclosures that scream PROTOTYPE!!! I was then shown how to draw up a custom PCB that puts everything you need onto a board specific to your needs.

Had it not been for the stock shields in the Arduino world, I probably never would have gone down the rabbit hole as far as I did. That's meant as a compliment.


Start with breadboards. If you are interested in approaching it from an algorithmic level, the easiest route would be to use 7400 series logic and start with the very basic stuff first: how to make an adder using switches as the input and LEDs as the output; then step it up to use shift registers as rudimentary memory to store the input and output; then figure out how to decode the output shift register to display the result in hex on 7-segment displays. Along the way you will learn about things like Karnaugh Maps and timing circuits.

Beyond that is outside of my experience, but building CPUs seems to be a bit of a hobby these days. I have found Ben Eater's videos to be enlightening. I think he built a CPU at one point, but even the tutorials using a 6502 are useful since he reasons through the construction of supporting circuitry. I haven't watched much of James Sharman's work, but he is building a CPU and carrying it through to the PCB stage. The videos I've watched (related to producing video signals) included reasoning through the design process.

EDIT: I'm not suggesting the microcontroller route since it sounds like you want to explore how to build a CPU. A microcontroller is a CPU with integrated memories and peripherals, which is too high level. (Granted, if you aren't interested in a particular aspect of CPU design you can use a microcontroller to fudge it.)


The MOOC nand2tetris was designed exactly for this purpose.

https://www.nand2tetris.org/


https://sparkfun.com tutorials. The key is to think of electronics components like functions. Each component has inputs and produces outputs.

PCBs aren’t a necessary step unless you want to make many copies of your work. They basically reduce the wiring you need to do & allow for a more compact circuit than a breadboard.


It depends on what you mean by a few things, but a basic approach I'd take if you wanted this specific scenario would be to pick a microcontroller like arduino or raspberry pi(zero), pick a compatible screen, then design the board so that they're connected electrically. You may want to start with through-hole and breadboards first, as it's easier to get into than SMT.


Yeah, a terrible open source EDA tool. I would strongly recommend Horizon EDA instead.


I was tricked into donating to download it. Guess what, it sucks and isn't worth paying for. What a cheap trick.


It’s very obvious that you need to pay to download. Open source doesn’t meant it’s free.


Someone once told me "Friends don't let friends use Fritzing".


I simply love its simplicity.


It's so simple it doesn't even let you design components! Good luck making a PCB without using any components that aren't already in its library.


It is a great teaching tool (and very usable if you need to get something simple done quickly).


It's not a good teaching tool if it tells people to do stuff entirely the wrong way against every bit of engineering experience out there, which is exactly what it does.


[flagged]


I'd second that unless you really just want to make a PCB from a simple breadboard design with simple parts once and never do it again. But the few hours learning Kicad will be much more rewarding.

Here's one of many tutorials: https://www.youtube.com/watch?v=vaCVh2SAZY4&list=PL3bNyZYHcR...


I can see the value of it for people who are going to say, build some electronic doodad once in their life as a sort of summer camp or survey course or adult enrichment activity.


T#;DR : also try KiCad (or Eagle).


Actually no. Just go KiCad first and skip the mistake of using Fritzing.


[flagged]


[flagged]


https://news.ycombinator.com/newsguidelines.html

Be kind. Don't be snarky. Have curious conversation; don't cross-examine. Please don't fulminate. Please don't sneer, including at the rest of the community.

-------------

It's not "social justice". It's called decency. There's no reason to throw "retard" around.


Did you read the rules before you posted your original snarky fulmination?


Why is this trending again for the 10+ time?


I found two threads in 13 years:

How Fritzing is killing itself - https://news.ycombinator.com/item?id=21530891 - Nov 2019 (53 comments)

Fritzing - opensource circuit sketching tool for Arduino - https://news.ycombinator.com/item?id=606567 - May 2009 (12 comments)

Where are the others?


Submissioner here. I don't even know why it got in #1 position. I just found it in Flathub and thought "This looks interesting", so I submitted it.


First time I have seen it. I was wondering if anyone had used it.


A lot of people do, but it has some limitations when it comes to PCB design.

I recommend reading this write-up on Fritzing: https://hackaday.com/2016/10/11/creating-a-pcb-in-everything...


I'm working on a machine. I successfully implemented a 5 channel optoisolated 3.3v control 24v output solenoid driver. But I had to do all the routing manually because Fritzing's auto-router could not figure out how route on a single layer. It painted itself into a corner every time. Manually, I was able to route a common signal the long way around and avoid trapping the traces. Also, Fritzing's router pissed me off that it did not adhere to a grid or angle system...I recognize this is a limitation of my

I'm thankful for the recommendation for KiCAD I got out here today. It seems promising to help me take it to the next level.


Kicad doesn't have autorouting though, so you'll still end up either doing it manually or using a 3rd party tool.


Autorouting almost always creates garbage routes, with tons of vias. You're so much better off doing the routing yourself.

(And yes, I tried the autorouting java package. Ive also used other routing packages. Its so much MISS and very little HIT.)


Thanks for the info. Have you checked this out?

https://freerouting.org/

(Not being snarky, looking for some clues to get me going)

My intent is to produce single and perhaps double layer prototype boards using a CNC Router and hand soldered vias.


Care to provide links to other discussions?


Clicking on the domain name next to the title always searches for submissions related to that domain; dang often posts the Related threads out of convenience, but it's always available to everyone: https://news.ycombinator.com/from?site=fritzing.org




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: