{"id":144,"date":"2026-10-27T08:02:48","date_gmt":"2026-10-27T08:02:48","guid":{"rendered":"https:\/\/bugzyard.com\/?page_id=144"},"modified":"2026-10-27T20:04:58","modified_gmt":"2026-10-27T20:04:58","slug":"knob-racer","status":"publish","type":"page","link":"https:\/\/bugzyard.com\/?page_id=144","title":{"rendered":"Knob Racer (rotary encoder)"},"content":{"rendered":"<div class=\"vb3-game\" style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;align-items:start;margin:10px 0 24px\"><div><p style=\"margin-top:0\">Knob Racer (rotary encoder) is a ready-made Basys 3 FPGA game written in Verilog. It uses KY-040 rotary encoder on Pmod JA, VGA, 7-segment, LEDs. Play it free right in your browser - nothing to install, no FPGA board needed.<\/p><p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:knob-racer\" style=\"display:inline-block;padding:10px 22px;border-radius:8px;background:#4fd1c5;color:#08201e;font-weight:700;text-decoration:none\">Play now &#9656;<\/a><\/p><p class=\"vb3-social\" style=\"display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:4px 0 0\"><button type=\"button\" class=\"vb3-like\" aria-pressed=\"false\" data-page=\"144\" data-url=\"https:\/\/bugzyard.com\/index.php?rest_route=\/vb3\/v1\/like\" style=\"cursor:pointer;padding:6px 14px;border-radius:20px;border:2px solid #e05a7a;background:#fff;color:#c2385a;font-weight:700\">&#9829; Like <span class=\"vb3-like-n\">0<\/span><\/button><a href=\"#comments\" style=\"font-weight:600\">&#128172; Comments (0)<\/a><\/p><script>(function(){function mark(b){b.setAttribute('aria-pressed','true');b.disabled=true;b.style.background='#e05a7a';b.style.color='#fff';b.style.cursor='default';}document.querySelectorAll('.vb3-like').forEach(function(b){try{if(localStorage.getItem('vb3-liked-'+b.dataset.page))mark(b);}catch(e){}});document.addEventListener('click',function(e){var b=e.target.closest&&e.target.closest('.vb3-like');if(!b||b.disabled)return;b.disabled=true;fetch(b.dataset.url,{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({page:+b.dataset.page})}).then(function(r){return r.json();}).then(function(j){if(j&&typeof j.likes==='number'){b.querySelector('.vb3-like-n').textContent=j.likes;mark(b);try{localStorage.setItem('vb3-liked-'+b.dataset.page,'1');}catch(e){}}else{b.disabled=false;}}).catch(function(){b.disabled=false;});});})();<\/script><h2 style=\"font-size:1.15em;margin:18px 0 6px\">How to play<\/h2><p>Turn the knob to steer around the falling blocks (or use the &lt; turn \/ turn &gt; buttons on the encoder card). Press the knob or btnC to start. 3 lives; it gets faster.<\/p><h2 style=\"font-size:1.15em;margin:18px 0 6px\">What it uses<\/h2><p>Verilog \u00b7 KY-040 rotary encoder on Pmod JA, VGA, 7-segment, LEDs<\/p><p style=\"opacity:.8\">The code: <a href=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/src\/knob-racer.zip\" download>download the Verilog project (.zip)<\/a> &mdash; read it, change it, and run your version with the free PC program.<\/p><\/div><\/div><h2 style=\"font-size:1.15em\">More games like this<\/h2><div style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px\"><a href=\"https:\/\/bugzyard.com\/?page_id=146\" style=\"text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-tilt-ball.png\" alt=\"\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;border-radius:8px;image-rendering:pixelated\"><span style=\"display:block;margin-top:4px;font-size:.9em\">Tilt Ball (MPU6050)<\/span><\/a><a href=\"https:\/\/bugzyard.com\/?page_id=148\" style=\"text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-remote-reflex.png\" alt=\"\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;border-radius:8px;image-rendering:pixelated\"><span style=\"display:block;margin-top:4px;font-size:.9em\">Remote Reflex (IR remote)<\/span><\/a><a href=\"https:\/\/bugzyard.com\/?page_id=150\" style=\"text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-card-match.png\" alt=\"\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;border-radius:8px;image-rendering:pixelated\"><span style=\"display:block;margin-top:4px;font-size:.9em\">Card Match (RFID)<\/span><\/a><a href=\"https:\/\/bugzyard.com\/?page_id=165\" style=\"text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-colour-hunt.png\" alt=\"\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;border-radius:8px;image-rendering:pixelated\"><span style=\"display:block;margin-top:4px;font-size:.9em\">Colour Hunt (colour sensor)<\/span><\/a><\/div><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"VideoGame\",\"name\":\"Knob Racer (rotary encoder)\",\"description\":\"Knob Racer (rotary encoder) is a ready-made Basys 3 FPGA game written in Verilog. It uses KY-040 rotary encoder on Pmod JA, VGA, 7-segment, LEDs. Play it free right in your browser - nothing to install, no FPGA board needed.\",\"image\":\"https:\\\/\\\/bugzyard.com\\\/wp-content\\\/plugins\\\/virtual-basys3\\\/app\\\/thumbs\\\/ex-knob-racer.png\",\"url\":\"https:\\\/\\\/bugzyard.com\\\/?page_id=144\",\"gamePlatform\":\"Basys 3 FPGA (simulated in Virtual Basys 3)\",\"applicationCategory\":\"Game\",\"isAccessibleForFree\":true}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Knob Racer (rotary encoder) is a ready-made Basys 3 FPGA game written in Verilog. It uses KY-040 rotary encoder on Pmod JA, VGA, 7-segment, LEDs. Play it free right in your browser &#8211; nothing to install, no FPGA board needed.<\/p>\n","protected":false},"author":1,"featured_media":145,"parent":9,"menu_order":1,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-144","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=144"}],"version-history":[{"count":1,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/144\/revisions"}],"predecessor-version":[{"id":231,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/144\/revisions\/231"}],"up":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/9"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/media\/145"}],"wp:attachment":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}