[{"data":1,"prerenderedAt":574},["ShallowReactive",2],{"project-50228115":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":20,"keywords":22,"reception":26,"sentiment":27,"stance_mix":28,"scored_comments":33,"aspects":34,"strip":47,"post_text":48,"what":49,"said":94,"maker_in_thread":225,"shape":236,"grid":239,"attempts":535,"same_week":536,"maker_shows":44,"maker_hidden":566,"reader_version":567,"card":568},"50228115","keybytes","A Truly Modular Keyboard","title","Show HN: A Truly Modular Keyboard","https:\u002F\u002Fgithub.com\u002Fnotaroomba\u002Fkeybytes","github.com","NotARoomba",1792900076,2026,320,116,127,4366,3,"legend","hardware","modular keyboard",[21,23,24,25],"magnetic pogo pin","reconfigurable keyboard","per key pcb","mixed",0.071,{"positive":29,"neutral":30,"mixed":31,"critical":32},15,29,5,18,67,{"docs":35,"design":37,"pricing":40,"idea":41,"performance":43,"execution":45},{"positive":36,"critical":36},0,{"positive":38,"critical":39},4,6,{"positive":36,"critical":38},{"positive":42,"critical":38},8,{"positive":36,"critical":44},1,{"positive":44,"critical":46},2,[18,44,36,36,44,46,18,18,18,31,18,31,18,44,18,46,31,18,31,44,44,36,18,18,31,18,44,18,18,18,18,31,31,31,31,44,36,36,44,44],null,{"problem":50,"audience":48,"pricing":57,"motivation":66,"time_to_build":48,"stack":70,"openness":91,"stage":92,"team_size":93},{"value":51,"source":52,"evidence":53},"Keyboards cannot be reconfigured into unusual shapes.","maker",[54],{"id":55,"by":11,"text":56},"50228116","A while back I was frustrated when wanting to buy a keyboard that there were no triangle-shaped keyboards or circle-shaped keyboards. This lack of peculiar keyboard shapes gave…",{"value":58,"source":52,"evidence":59},"About $6 to $10 per key at production cost",[60,63],{"id":61,"by":11,"text":62},"50239398","Thank you!! It’s really rigid with 2 keys so far but I have yet to test with longer configurations. At a higher order quantity, each key comes out to be around 6 USD but I’m…",{"id":64,"by":11,"text":65},"50245554","Currently production cost is around 8-10 USD but I’m trying to bring that down!",{"value":67,"source":52,"evidence":68},"Wanted keyboards in shapes like triangles and circles that aren't sold.",[69],{"id":55,"by":11,"text":56},[71,82],{"value":72,"source":73,"evidence":74},"ch32v003 microcontroller","commenter",[75,79],{"id":76,"by":77,"text":78},"50241662","_paulc","Neat project, given how cheap the ch32v003 is there are lots of opportunities to do fun distributed things with them (assume you have seen bitluni’s projects [1]) - even if they…",{"id":80,"by":11,"text":81},"50245643","Thank you! I am bit banging the others and I did see their videos about the ch32v003 and how it was cheap to use them. I am currently working on writing the firmware and haven’t…",{"value":83,"source":52,"evidence":84},"I2C bus (bit-banged)",[85,88],{"id":86,"by":11,"text":87},"50239494","Thank you! The 4x I2C busses were mainly there to reduce parasitic capacitance and also allows me to know where each key is physically relative to each other in software. I’m…",{"id":89,"by":11,"text":90},"50246041","Each key bit-bangs I2C on all four sides which removes this limit so it can technically be infinite!","open_source","prototype","unknown",{"praise":95,"objections":118,"requests":157,"questions":189,"alternatives":205},[96,111],{"value":97,"source":73,"evidence":98},"Cool modular design and magnetic snapping",[99,103,107],{"id":100,"by":101,"text":102},"50240675","O_H_E","I'm not sure if I have a use case for this but on the technical aspects this is so cool. Those magnetic snaps made me grin!",{"id":104,"by":105,"text":106},"50247325","andai","Wow. This is super cool. The magnets were a great idea!",{"id":108,"by":109,"text":110},"50245344","okunugaadeniyi","This is really cool I love the fact that it can be detached and placed in different sections. It makes it easy to move a key from one location to another without much hassle. I…",{"value":112,"source":73,"evidence":113},"Well-polished PCB and schematic",[114],{"id":115,"by":116,"text":117},"50239179","SV_BubbleTime","I looked over the PCB and schematic and it looks well polished. Not a first draft obviously. I sort of don’t get the 4x I2C busses. I’m probably missing something obvious but it…",[119,134,142],{"value":120,"source":73,"evidence":121},"Too expensive per key for a practical product",[122,126,130],{"id":123,"by":124,"text":125},"50241323","sleepybrett","at the cost of what per key? Congrats your removed all the efficiency from the system.",{"id":127,"by":128,"text":129},"50240378","M95D","Non-viable product. I would NOT buy this. - How much does it cost? Sell price, not BoM price. I expect something like $10'000 for a full 104-key layout. - How heavy would it be?…",{"id":131,"by":132,"text":133},"50240612","stavros","This is cool, but wouldn't it cost more than $2k for a 104-key keyboard? I can't imagine these PCBs having a final price of less than $20 each.",{"value":135,"source":73,"evidence":136},"Pogo pin connections are unreliable and costly",[137,141],{"id":138,"by":139,"text":140},"50246171","wongarsu","Pogo pins are expensive. Somewhere around $0.15-$1 per pin. This design has four pairs of two pins. So just the connectors are over a dollar per key, possibly multiple dollars",{"id":127,"by":128,"text":129},{"value":143,"source":73,"evidence":144},"Only supports grid layouts, not staggered",[145,149,153],{"id":146,"by":147,"text":148},"50239115","IllIIlIlIlIIIIl","This is a really neat idea for a macro keyboard. If it supported staggered rows and row heights, not to mention structural rigidity it would be good for everyday use too.",{"id":150,"by":151,"text":152},"50246577","schiffern","Extremely cool! Another commenter mentioned[0] that often ergonomic keyboards aren't columnar, but staggered. What if for the pin layout, instead of this: ``` 1 1 0 0 ``` It was…",{"id":154,"by":155,"text":156},"50253380","conorbergin","Hmm, somethings wrong with my hosting, https:\u002F\u002Fcpbergin.com\u002Fdyson2026 should work. It’s just the same video as in the submission. I mean I think the idea is worth pursuing, this…",[158,167,182],{"value":159,"source":73,"evidence":160},"Add staggered layout support",[161,162,166],{"id":150,"by":151,"text":152},{"id":163,"by":164,"text":165},"50239147","eviks","Is there a mouse module? Can you connect in a \"staggered\" manner rather than in a linear grid?",{"id":146,"by":147,"text":148},{"value":168,"source":73,"evidence":169},"Add spacers or blank modules for layout gaps",[170,174,178],{"id":171,"by":172,"text":173},"50240514","9dev","I'd suggest also adding blank modules without a switch on them for empty space on the keyboard (for example around arrow keys), that would still provide the interconnect to…",{"id":175,"by":176,"text":177},"50238956","jasonjmcghee","This is very cool. It needs spacers \u002F extensions so it can be laid out as desired.",{"id":179,"by":180,"text":181},"50275199","leluong141996","This looks awesome! It would be even better with spacers or extensions to allow more flexible customization and layout options.",{"value":183,"source":73,"evidence":184},"Show a full keyboard layout",[185],{"id":186,"by":187,"text":188},"50239539","Agentlien","I like the idea but I could only find an image of two keys. It would be great to see a demo of a full layout. With only two keys it's a very early POC and hardly a keyboard. Does…",[190,198],{"value":191,"source":73,"evidence":192},"How does the structure hold up with many keys?",[193,197],{"id":194,"by":195,"text":196},"50238856","kaipereira","This is awesome! How does the rigidity of the keyboard hold up with many keys and what's the cost of the materials at higher order quantity?",{"id":186,"by":187,"text":188},{"value":199,"source":73,"evidence":200},"Are the connectors direction-agnostic?",[201],{"id":202,"by":203,"text":204},"50241106","aveday","Fantastic work, I'm always excited to new modular input device projects like this. Are the connectors actually direction-agnostic? Looking at the layout it seems like depending…",[206,212,219],{"value":207,"source":73,"evidence":208},"Single-switch PCBs with magnets and pogo pins sold elsewhere",[209],{"id":210,"by":124,"text":211},"50250514","you know what a spool of wire, a reel of diodes, a peice of plasticcard and a hobby knife (for a switch plate, assuming you don't have access to a 3d printer or laser cutter),…",{"value":213,"source":73,"evidence":214},"Capacitive sheet under keys",[215],{"id":216,"by":217,"text":218},"50243249","jacquesm","How about using a capacitive sheet under the keys, a software x\u002Fy map -> keystrokes and a simple passive blob under the keys? That might end up cheaper than this. Nice work…",{"value":220,"source":73,"evidence":221},"Dyson award project input-nodes",[222],{"id":223,"by":155,"text":224},"50247732","Someone sent me a link to your project because I had done something similar earlier this year, I left a github issue with the links, if I had seen this I would’ve commented like…",{"comments":226,"answered":227,"key":228},23,14,[229,230,233],{"id":55,"text":56},{"id":231,"text":232},"50245544","Ohh this does sound like a good idea. w tinker around with it and see but then I would also have to carry around a capacitive sheet thats the size of whatever keyboard I want.…",{"id":234,"text":235},"50261317","Of course! I’ll probably make another hacker news post about it lol",{"commenters":237,"max_depth":42,"maker_replies":226,"first_comment_mins":36,"lifespan_hours":238},62,114,[240,242,246,249,253,256,259,262,264,267,270,272,274,276,280,282,285,287,288,290,294,296,299,303,307,309,310,312,315,317,318,320,322,324,326,328,330,333,335,337,339,342,345,346,349,352,355,356,357,359,361,364,366,368,369,371,372,376,379,382,385,388,390,392,396,397,399,401,405,407,409,411,414,417,419,421,425,428,430,433,436,438,440,442,444,445,450,453,455,457,461,464,468,470,472,474,479,484,488,491,495,498,500,503,506,509,512,514,516,518,520,523,525,527,529,532],[55,36,36,241,11,44],"maker\u002Fneutral\u002Fidea",[243,36,18,244,245,36],"50239911","project\u002Fneutral\u002Fdocs","darksim905",[247,36,36,248,132,36],"50240591","commenter\u002Fneutral\u002Fnone",[250,36,44,251,252,36],"50241017","project\u002Fcritical\u002Fdesign","luplex",[254,36,36,248,255,36],"50241044","frangonf",[257,36,36,248,258,36],"50241708","jdiff",[260,36,36,248,261,36],"50244612","goodmythical",[263,36,36,248,245,36],"50254995",[265,36,36,248,266,36],"50241763","pjc50",[268,36,36,248,269,36],"50242824","properbrew",[271,36,36,248,245,36],"50254993",[123,36,44,273,124,36],"project\u002Fcritical\u002Fpricing",[275,36,44,273,266,36],"50241416",[277,36,18,278,279,36],"50241951","project\u002Fneutral\u002Fpricing","pipe01",[281,36,18,278,266,36],"50242552",[283,36,18,278,284,36],"50242696","podocarp",[210,36,44,286,124,36],"project\u002Fcritical\u002Fidea",[138,36,18,278,139,36],[289,36,18,278,279,36],"50248836",[291,36,18,292,293,36],"50254087","project\u002Fneutral\u002Fperformance","addaon",[295,36,18,278,124,36],"50248454",[297,36,44,251,298,36],"50241916","broken-kebab",[300,36,31,301,302,36],"50242006","project\u002Fpositive\u002Fidea","digikata",[304,36,18,305,306,36],"50243999","project\u002Fneutral\u002Fdesign","nine_k",[216,36,18,308,217,36],"project\u002Fneutral\u002Fidea",[231,36,36,241,11,44],[311,36,36,248,151,36],"50247220",[313,36,31,314,217,36],"50247438","maker\u002Fpositive\u002Fidea",[234,36,36,316,11,44],"maker\u002Fneutral\u002Fnone",[223,36,18,308,155,36],[319,36,36,316,11,44],"50251841",[154,36,18,321,155,36],"project\u002Fmixed\u002Fdesign",[323,36,36,314,11,44],"50268443",[325,36,31,314,155,36],"50280039",[327,36,44,286,124,36],"50250465",[150,44,31,329,151,36],"project\u002Fpositive\u002Fdesign",[331,44,36,332,11,44],"50251757","maker\u002Fneutral\u002Fdesign",[334,44,18,332,293,36],"50254070",[336,44,36,316,11,44],"50269665",[186,46,44,338,187,36],"project\u002Fcritical\u002Fexecution",[340,46,36,341,11,44],"50239598","maker\u002Fneutral\u002Fexecution",[343,46,18,344,187,36],"50240010","maker\u002Fneutral\u002Fpricing",[64,46,36,344,11,44],[347,46,18,305,348,36],"50240708","mentalgear",[350,46,44,251,351,36],"50246181","tgv",[353,18,18,308,354,36],"50239575","wcchoi",[115,38,31,329,116,36],[86,38,36,305,11,44],[358,38,18,292,116,36],"50243672",[360,38,36,292,11,44],"50263881",[362,38,18,363,116,36],"50269142","maker\u002Fneutral\u002Fperformance",[365,38,18,363,116,36],"50280302",[194,31,18,367,195,36],"project\u002Fneutral\u002Fexecution",[61,31,36,344,11,44],[76,39,31,370,77,36],"project\u002Fpositive\u002Fexecution",[80,39,36,341,11,44],[373,374,44,251,375,36],"50240718",7,"vim-guru",[377,374,44,251,378,36],"50240813","childintime",[380,374,18,305,381,36],"50241726","mft_",[383,42,44,338,384,36],"50240184","mrheosuper",[386,42,36,248,387,36],"50240631","ehnto",[389,42,36,248,378,36],"50240787",[391,42,36,248,384,36],"50240797",[393,42,36,394,395,36],"50241741","commenter\u002Fneutral\u002Fperformance","dm319",[89,42,36,367,11,44],[171,398,18,305,172,36],9,[400,398,36,314,11,44],"50245647",[402,403,18,308,404,36],"50242332",10,"nkrisc",[406,403,36,308,11,44],"50245607",[202,408,31,329,203,36],11,[410,408,36,305,11,44],"50246021",[146,412,18,413,147,36],12,"project\u002Fmixed\u002Fidea",[415,412,36,416,11,44],"50239409","maker\u002Fpositive\u002Fnone",[163,418,18,305,164,36],13,[420,418,36,305,11,44],"50239420",[422,227,36,423,424,36],"50241807","other\u002Fneutral\u002Fidea","euroderf",[426,29,44,251,427,36],"50239307","kvakvs",[429,29,36,367,11,44],"50239382",[431,29,18,305,432,36],"50240900","tensegrist",[434,29,18,305,435,36],"50241113","voidUpdate",[437,29,36,305,11,44],"50245719",[131,439,44,273,132,36],16,[441,439,36,278,11,44],"50245674",[100,443,31,301,101,36],17,[108,32,31,301,109,36],[446,447,18,448,449,36],"50241549",19,"project\u002Fmixed\u002Fpricing","pinyen_cheng",[451,447,44,286,452,36],"50242150","rjh29",[179,454,18,321,180,36],20,[175,456,18,321,176,36],21,[458,459,31,301,460,36],"50248931",22,"genxy",[462,226,31,301,463,36],"50238843","trollbridge",[465,466,18,308,467,36],"50240809",24,"rebooot",[469,466,36,248,266,36],"50241478",[471,466,36,248,467,36],"50245476",[104,473,31,301,105,36],25,[475,476,31,477,478,36],"50238996",26,"project\u002Fpositive\u002Fnone","aghuang",[480,481,18,482,483,36],"50239101",27,"project\u002Fneutral\u002Fnone","pparanoidd",[485,481,36,486,487,36],"50240078","other\u002Fneutral\u002Fnone","thenthenthen",[489,481,36,486,490,36],"50240909","bitwize",[492,493,31,329,494,36],"50238911",28,"fitsumbelay",[496,30,31,477,497,36],"50254857","lilingfei7",[127,499,44,273,128,36],30,[501,499,36,248,502,36],"50240587","tourmalinetaco",[504,499,36,505,124,36],"50241336","commenter\u002Fcritical\u002Fnone",[507,499,36,248,508,36],"50241418","Jasp3r",[510,499,36,511,266,36],"50241486","commenter\u002Fpositive\u002Fnone",[513,499,36,511,502,36],"50249647",[515,499,36,248,124,36],"50250574",[517,499,36,505,128,36],"50255755",[519,499,36,511,502,36],"50256479",[521,499,44,522,128,36],"50264601","project\u002Fcritical\u002Fnone",[524,499,36,416,11,44],"50296249",[526,499,18,308,387,36],"50240668",[528,499,44,286,124,36],"50241331",[530,499,44,531,128,36],"50242244","project\u002Fcritical\u002Fperformance",[533,499,18,278,534,36],"50242288","Karliss",[],[537,542,547,552,556,561],{"id":538,"name":539,"points":540,"category":541},"50224916","Steal My Bitcoin",625,"learning_science",{"id":543,"name":544,"points":545,"category":546},"50238708","TitleArt",409,"creative",{"id":548,"name":549,"points":550,"category":551},"50195488","OnKey",237,"consumer_social",{"id":553,"name":554,"points":555,"category":20},"50260753","Marelleo",194,{"id":557,"name":558,"points":559,"category":560},"50232312","Big Whale Hunting workforce visualisation",178,"finance_crypto",{"id":562,"name":563,"points":564,"category":565},"50246238","Hob",177,"ai",false,"v2",{"id":569,"name":5,"line":6,"ai":566,"cat":20,"year":13,"points":14,"comments":15,"rec":26,"s":570,"top":18,"kw":571,"maker":11,"domain":10,"tier":19,"attempts":36,"strip":572,"url":9,"mix":573,"praise":97,"objection":120,"sub":21},50228115,0.07,[21,23,24,25],"3100123335353132535110335313333555510011",[29,30,31,32],1794036712795]