[{"data":1,"prerenderedAt":162},["ShallowReactive",2],{"project-10702901":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":28,"sentiment":29,"stance_mix":30,"scored_comments":32,"aspects":33,"strip":36,"post_text":29,"what":37,"said":66,"maker_in_thread":97,"shape":106,"grid":109,"attempts":121,"same_week":126,"maker_shows":15,"maker_hidden":155,"reader_version":156,"card":157},"10702901","Canny the Robot","Programming a device with headphones","title","Show HN: Canny the Robot – Programming a device with headphones","http:\u002F\u002Fresearch.kumpf.cc\u002F2015-ProgrammingWithHeadphones\u002F?canny","research.kumpf.cc","akumpf",1449656998,2015,16,7,1455,2565,57,"shown","hardware","robotics",[23,24,25,26,27],"audio programming","robot","afsk","uart","tone decoder","quiet",null,{"positive":31,"neutral":32,"mixed":31,"critical":31},0,3,{"idea":34,"execution":35},{"positive":31,"critical":31},{"positive":31,"critical":31},[31,32,31,31,32,31,32],{"problem":38,"audience":29,"pricing":29,"motivation":29,"time_to_build":29,"stack":47,"openness":65,"stage":65,"team_size":65},{"value":39,"source":40,"evidence":41},"Programming a device by playing audio from headphones instead of a cable.","inferred",[42,44],{"id":43},"post",{"id":45,"by":11,"text":46},"10702924","Direct link to video here: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=780A0cv1qgA Any comments or questions about how the robot\u002Faudio programming works are more than welcome :)",[48,55,61],{"value":49,"source":50,"evidence":51},"LM567 tone decoder chip","maker",[52],{"id":53,"by":11,"text":54},"10709495","Serial\u002FUART is just a simple way of organizing how 1s and 0s are sent (start bit, data bits, optional parity, and stop bit, all at an agreed upon baud rate). To send data to the…",{"value":56,"source":50,"evidence":57},"AFSK encoding",[58],{"id":59,"by":11,"text":60},"10702961","The audio used to program the robot is analog (tones in the form of sine waves), but the data itself modulating the tone is binary. More specifically, it's AFSK. See the…",{"value":62,"source":50,"evidence":63},"UART serial data format",[64],{"id":53,"by":11,"text":54},"unknown",{"praise":67,"objections":76,"requests":77,"questions":84,"alternatives":96},[68],{"value":69,"source":70,"evidence":71},"Explanation of the decoding circuit was clear","commenter",[72],{"id":73,"by":74,"text":75},"10709924","sprobertson","Ah that does make sense! On first read I thought there was some other level of processing, like converting specific tones into bytes (9520Hz -> 0x42). You're translating the…",[],[78],{"value":79,"source":70,"evidence":80},"More detail on how the decoding circuit works",[81],{"id":82,"by":74,"text":83},"10709482","Could you go into more detail about how the main decoding circuit works? How does it turn an audio signal into UART?",[85,92],{"value":86,"source":70,"evidence":87},"Is the signal binary?",[88],{"id":89,"by":90,"text":91},"10702943","hellbanner","Yes, is it binary.. ?",{"value":93,"source":70,"evidence":94},"How does the decoder turn audio into UART?",[95],{"id":82,"by":74,"text":83},[],{"comments":98,"answered":99,"key":100},4,2,[101,102,103],{"id":45,"text":46},{"id":59,"text":60},{"id":104,"text":105},"10709483","Another interesting write-up about Canny on IEEE Spectrum: http:\u002F\u002Fspectrum.ieee.org\u002Fautomaton\u002Frobotics\u002Fdiy\u002Fcanny-robot-rocks-out-to-audio-programming Would love to hear thoughts…",{"commenters":32,"max_depth":32,"maker_replies":98,"first_comment_mins":107,"lifespan_hours":108},9,24,[110,113,115,116,117,118,120],[45,31,31,111,11,112],"project\u002Fneutral\u002Fnone",1,[89,31,32,114,90,31],"project\u002Fneutral\u002Fidea",[59,31,31,114,11,112],[104,112,31,114,11,112],[82,99,32,114,74,31],[53,99,31,119,11,112],"project\u002Fneutral\u002Fexecution",[73,99,32,119,74,31],[122,125],{"id":123,"t":124,"points":32,"comments":31},"10682939",1449343281,{"id":4,"t":12,"points":14,"comments":15},[127,132,137,142,146,151],{"id":128,"name":129,"points":130,"category":131},"10706203","Jukedeck",410,"creative",{"id":133,"name":134,"points":135,"category":136},"10676685","Acme-tiny",280,"infrastructure",{"id":138,"name":139,"points":140,"category":141},"10690834","Lasergist.com",211,"web_saas",{"id":143,"name":144,"points":145,"category":136},"10685946","Nchan",149,{"id":147,"name":148,"points":149,"category":150},"10703851","Adblock to Bitcoin",128,"security_privacy",{"id":152,"name":153,"points":154,"category":150},"10682971","Lego",93,false,"v2",{"id":158,"name":5,"line":6,"ai":155,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":159,"maker":11,"domain":10,"tier":19,"attempts":99,"strip":160,"url":9,"mix":161,"praise":69,"objection":-1,"sub":21},10702901,[23,24,25,26,27],"0300303",[31,32,31,31],1793990934540]