[{"data":1,"prerenderedAt":350},["ShallowReactive",2],{"project-40175087":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":43,"post_text":45,"what":46,"said":85,"maker_in_thread":185,"shape":197,"grid":201,"attempts":311,"same_week":312,"maker_shows":44,"maker_hidden":342,"reader_version":343,"card":344},"40175087","tscircuit","React for Circuits","title","Show HN: React for Circuits","https:\u002F\u002Fgithub.com\u002Ftscircuit\u002Ftscircuit\u002Fblob\u002Fmain\u002FREADME.md","github.com","seveibar",1714171162,2024,197,46,400,3515,12,"notable","hardware","pcb design","library",[21,24,25,26,27],"react","circuit design","electronics","typescript","mixed",0.093,{"positive":31,"neutral":31,"mixed":32,"critical":33},9,2,6,26,{"design":36,"idea":38,"pricing":41},{"positive":37,"critical":32},0,{"positive":39,"critical":40},7,3,{"positive":37,"critical":42},1,[42,37,37,37,37,42,44,40,37,44,40,40,37,42,44,40,37,40,44,44,37,44,37,40,37,40,44,40,37,44,40,44,42,42,37,37,37,37,42,37],5,"Hi HN! I've been working on a new way to build electronics\u002FPCBs with Typescript\u002FReact, I'd love to know what you think!!\n\nI've wanted to program circuits for a long time- I started experimenting with the concept of creating circuits in React almost 8 years ago and have spent many weekends since to prove the concept. Over the past 2 months, I've decided to start working on tscircuit full-time.",{"problem":47,"audience":59,"pricing":67,"motivation":68,"time_to_build":67,"stack":74,"openness":83,"stage":84,"team_size":83},{"value":48,"source":49,"evidence":50},"Designing PCBs with graphical drag-and-drop tools is hard to reuse and automate","inferred",[51,55],{"id":52,"by":53,"text":54},"40178405","gedy","Very nice work, thank you. This is a nice intersection of my tech interests, both React and I like to make custom keyboards. I've never liked using the drag and drop design tools…",{"id":56,"by":57,"text":58},"40177255","looneysquash","Looks pretty cool. I'm not sure I'd really want to design an electronics project in jsx though. That's just xml, but also JavaScript. And I guess I think of it more as data than…",{"value":60,"source":49,"evidence":61},"Electronics makers and engineers who prefer coding to GUI EDA tools",[62,63],{"id":52,"by":53,"text":54},{"id":64,"by":65,"text":66},"40181023","shepherdjerred","Could I use this to create a board that hooks up a ESP32\u002FRaspberry Pi to some LEDs\u002Fswitches\u002Fpotentiometers? I've got a breadboard concept but I have no idea how to polish it up.…",null,{"value":69,"source":70,"evidence":71},"Maker has wanted to program circuits for years and works on it full-time","maker",[72],{"id":73},"post",[75,79],{"value":76,"source":70,"evidence":77},"TypeScript",[78],{"id":73},{"value":80,"source":70,"evidence":81},"React",[82],{"id":73},"unknown","beta",{"praise":86,"objections":100,"requests":122,"questions":144,"alternatives":159},[87],{"value":88,"source":89,"evidence":90},"Interesting concept and reusable component registry idea","commenter",[91,95,99],{"id":92,"by":93,"text":94},"40176878","WaxProlix","I initially laughed, but this is very cool actually. I love the pluggable\u002Freusable 'component' registry idea. Kudos, I'll check it out this weekend (or next... :)",{"id":96,"by":97,"text":98},"40176970","Flux159","Nice, it's an interesting concept and always like exploring new ways of using react in other contexts (react-three-fiber being easy to use for simple 3d projects, I have also…",{"id":52,"by":53,"text":54},[101,105,112],{"value":102,"source":89,"evidence":103},"JSX feels like data, not code, for describing circuits",[104],{"id":56,"by":57,"text":58},{"value":106,"source":89,"evidence":107},"Abstraction breaks down in real analog electronics",[108],{"id":109,"by":110,"text":111},"40179447","cjk2","The thing is though, stuff rarely works like that when it comes to reality. It shows more of a lack of understanding of electronics than is required to build something end to…",{"value":113,"source":89,"evidence":114},"Autorouting and layout are the hard part, and the output looks unusual",[115,119],{"id":116,"by":117,"text":118},"40177806","tmitchel2","Awesome work, I've developed my own projects which are fairly similar to this. I would say that the auto router is the most important aspect for this to work well, and…",{"id":120,"by":110,"text":121},"40178467","Not wishing to kill the idea, but this looks much harder rather than easier to lay out boards. Also the outcome is not what I'd call even remotely normal for a board design. I…",[123,130,137],{"value":124,"source":89,"evidence":125},"Automatic layout from schematic without manual coordinates",[126],{"id":127,"by":128,"text":129},"40180835","nixpulvis","Would be really cool if you could omit the x, y coordinates and it would place a reasonable layout for the schematics and footprints.",{"value":131,"source":89,"evidence":132},"Simulation and static analysis before production",[133],{"id":134,"by":135,"text":136},"40178793","imtringued","This is only useful for the code generated parts of a design. For most basic circuits the freerouting autorouter already works well enough. The real challenge isn't laying out a…",{"value":138,"source":89,"evidence":139},"Schematic or layout export back to JSX",[140],{"id":141,"by":142,"text":143},"40178648","UberKryos","Hi, this looks sorta interesting, I was wondering if you would have plans to be able to go from schematic or layout back to the jsx, so people familiar with the more traditional…",[145,152],{"value":146,"source":89,"evidence":147},"Why use React for this?",[148],{"id":149,"by":150,"text":151},"40182074","iyifr","Why react ??",{"value":153,"source":89,"evidence":154},"Could it script Factorio blueprints?",[155],{"id":156,"by":157,"text":158},"40177525","meta-level","Could this approach also be used to script a Factorio blueprint?",[160,167,174,178],{"value":161,"source":89,"evidence":162},"atopile and pcbdl",[163],{"id":164,"by":165,"text":166},"40177630","kennywinker","You might be interested in atopile or pcbdl - they’re much more like what you’re describing https:\u002F\u002Fatopile.io\u002F https:\u002F\u002Fgoogle.github.io\u002Fpcbdl\u002Fdoc\u002F_build\u002Fhtml\u002Freadme.html",{"value":168,"source":89,"evidence":169},"OpenSCAD",[170],{"id":171,"by":172,"text":173},"40184957","philsnow","> And I guess I think of it more as data than as code. What about OpenSCAD? I haven't looked into tscircuit very much and I barely remember any of the vhdl I did in college, and…",{"value":175,"source":89,"evidence":176},"freerouting autorouter",[177],{"id":134,"by":135,"text":136},{"value":179,"source":89,"evidence":180},"KiCAD, Eagle, Altium",[181],{"id":182,"by":183,"text":184},"40186042","frognumber","I think a major question is WHICH current EDA SW packages. Cadance OnCloud Platform for PCB Design is $1500\u002Fmonth. Altium Designer is $11k. Most of the universe is in the world…",{"comments":186,"answered":44,"key":187},13,[188,191,194],{"id":189,"text":190},"40177440","Really appreciate the insights!! I think JSX\u002FTSX are a lot more powerful than most data representations because 1) you can modularize and import sub-circuits really easily and…",{"id":192,"text":193},"40177418","That's awesome to hear!! React Fiber is super cool and I love to see new stuff on it! Yes I see the registry\u002Fcentral library being kind of like npm with a lot of React\u002Ftscircuit…",{"id":195,"text":196},"40180152","There will absolutely be stuff like ground pours (probably via a \u003Cpour \u002F> component) and the ability to create user-specified constraints and static analysis. Going from…",{"commenters":198,"max_depth":33,"maker_replies":186,"first_comment_mins":199,"lifespan_hours":200},28,288,47,[202,204,206,210,213,216,218,220,222,225,226,229,232,234,235,236,239,243,245,248,250,253,255,256,259,260,262,264,266,267,269,274,276,278,280,281,284,285,288,289,291,295,297,299,304,308],[56,37,42,203,57,37],"project\u002Fcritical\u002Fdesign",[189,37,37,205,11,42],"project\u002Fpositive\u002Fdesign",[207,37,37,208,209,37],"40179223","other\u002Fneutral\u002Fnone","sesm",[211,37,37,208,212,37],"40179316","fendy3002",[214,37,37,208,215,37],"40187688","micael_dias",[164,37,42,217,165,37],"project\u002Fcritical\u002Fidea",[171,37,40,219,172,37],"project\u002Fneutral\u002Fidea",[96,42,44,221,97,37],"project\u002Fpositive\u002Fidea",[223,42,40,219,224,37],"40177156","vbezhenar",[192,42,37,219,11,42],[227,42,44,221,228,37],"40179119","swalsh",[230,42,40,231,97,37],"40180888","maker\u002Fneutral\u002Fnone",[141,32,40,233,142,37],"maker\u002Fneutral\u002Fidea",[195,32,37,219,11,42],[134,40,42,217,135,37],[237,40,37,238,11,42],"40180479","project\u002Fneutral\u002Fexecution",[240,241,44,221,242,37],"40188365",4,"CodeMaven",[116,44,40,244,117,37],"project\u002Fmixed\u002Fdesign",[246,44,37,247,11,42],"40177982","project\u002Fneutral\u002Fdesign",[249,44,40,219,117,37],"40178070",[251,44,44,221,252,37],"40180140","clord",[254,44,37,219,11,42],"40180582",[52,33,44,221,53,37],[257,33,37,258,11,42],"40180505","project\u002Fneutral\u002Fnone",[92,39,44,221,93,37],[261,39,37,221,11,42],"40177420",[64,263,40,219,65,37],8,[265,263,37,258,11,42],"40181109",[156,31,40,219,157,37],[268,31,37,219,11,42],"40177595",[270,271,44,272,273,37],"40177836",10,"project\u002Fpositive\u002Fnone","franky47",[127,275,40,247,128,37],11,[277,275,37,247,11,42],"40181014",[279,275,44,272,128,37],"40192026",[149,18,40,219,150,37],[282,18,44,221,283,37],"40183436","throwaway11460",[120,186,42,203,110,37],[286,186,40,287,183,37],"40179390","project\u002Fmixed\u002Fidea",[109,186,42,217,110,37],[290,186,37,219,11,42],"40180396",[292,186,37,293,294,37],"40181279","commenter\u002Fneutral\u002Fidea","mwbajor",[182,186,37,296,183,37],"other\u002Fneutral\u002Fpricing",[298,186,37,293,183,37],"40186019",[300,301,42,302,303,37],"40178847",14,"project\u002Fcritical\u002Fpricing","junon",[305,301,37,306,307,37],"40178965","commenter\u002Fneutral\u002Fpricing","amelius",[309,301,37,310,11,42],"40180427","project\u002Fneutral\u002Fpricing",[],[313,318,323,328,332,337],{"id":314,"name":315,"points":316,"category":317},"40159278","NAND",420,"learning_science",{"id":319,"name":320,"points":321,"category":322},"40210627","Extension.js",381,"dev_tools",{"id":324,"name":325,"points":326,"category":327},"40213562","where to stream",335,"consumer_social",{"id":329,"name":330,"points":331,"category":322},"40191510","Dotenv",225,{"id":333,"name":334,"points":335,"category":336},"40222051","Factful",222,"ai",{"id":338,"name":339,"points":340,"category":341},"40173237","Lanki",206,"productivity",false,"v2",{"id":345,"name":5,"line":6,"ai":342,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":346,"top":18,"kw":347,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":348,"url":9,"mix":349,"praise":88,"objection":102,"sub":21},40175087,0.09,[21,24,25,26,27],"1000015305330153035505030353053511000010",[31,31,32,33],1793991089920]