{"id":1487,"date":"2026-07-11T13:28:27","date_gmt":"2026-07-11T13:28:27","guid":{"rendered":"https:\/\/justanotherelectronicsblog.com\/?p=1487"},"modified":"2026-07-11T13:28:29","modified_gmt":"2026-07-11T13:28:29","slug":"running-varvara-on-a-pi-pico-2","status":"publish","type":"post","link":"https:\/\/justanotherelectronicsblog.com\/?p=1487","title":{"rendered":"Running Varvara on a Pi Pico 2"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27-768x1024.jpg\" alt=\"\" class=\"wp-image-1505\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27-768x1024.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27-225x300.jpg 225w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27-1152x1536.jpg 1152w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27-1536x2048.jpg 1536w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">What&#8217;s a &#8220;Varvara&#8221; and why does that pi pico 2 look a little different? Let&#8217;s dive into that!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/wiki.xxiivv.com\/site\/varvara.html\">Varvara<\/a> is a specification for a computer system, which uses the <a href=\"https:\/\/wiki.xxiivv.com\/site\/uxn.html\">Uxn<\/a> virtual machine and describes how things like a display, mouse, keyboard and such should react. Uxn, in term, is a spec for a virtual machine or virtual CPU. It&#8217;s a stack based 8 bit CPU that is meant to be easy to learn and emulate. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s essentially a graphical computer specification! The goal is to have an easy to implement and emulate computer with it&#8217;s own programming language, so programs can be written once and run on everything. And the computer is made to be easy to program for, as all the devices like files, screen and such are very abstract.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, there is no notion of a file system. There are just commands to read, write and delete files. The emulator handles the rest. For the display, to draw a sprite, the address of the sprite is placed in the right location and then a command is issued to draw it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This feels very much like an 8 bit home computer done right, not having to care too much about hardware limitations of that era. There is also a <a href=\"https:\/\/github.com\/hundredrabbits\/awesome-uxn\">ton<\/a> of programs and guides for it, from small tools like a calendar and notepad to quite some games. There is also a great tutorial on programming for the Varvara computer <a href=\"https:\/\/compudanzas.net\/uxn_tutorial.html\">here<\/a> which I highly recommend to check out!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, my brain went: Huh. can I run this on a micro-controller?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So I tried in the past using a Pi Pico, but it just wasn&#8217;t meant to be. The Pi Pico 1 felt just a bit too small and limited. But then the Pi Pico 2 launched, with twice the RAM. So let&#8217;s try again :)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OK and make a custom RP2350 board because I got annoyed at the Pi Pico 2, can&#8217;t have a project without a little <a href=\"https:\/\/en.wiktionary.org\/wiki\/yak_shaving\">yak shaving<\/a>!<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Uxn\/Varvara nitty gritty<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First of all, let&#8217;s look at Uxn! There is a <a href=\"https:\/\/wiki.xxiivv.com\/site\/uxn.html\">spec<\/a> on what this all contains. Essentially, we need to emulate an 8 bit stack CPU. This means there are no registers, instead there is a working stack and a return stack, each is 256 bytes big. By default, there is 64KB of memory. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uxn has 32 instructions, and as this is a stack based computer, they all operate on the stack. For example, the ADD instruction adds the top two values of the stack and pushes the result to the stack. <br>Each instruction can have a flag to operate in short mode to operate on 16 bit numbers, a flag to use the return stack instead of the working stack, and a flag to not remove the values read from stack. <br>This means every instruction is just a single byte big! 5 bit for the operand and 3 bits for the flags.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Luckily, there are a ton of great, tried and tested, <a href=\"https:\/\/git.sr.ht\/~rabbits\/uxn2\">implementations<\/a> for Uxn in C, which should just run on any machine with a C compiler and enough RAM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Varvara is a tad more involved though!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Turn the CPU into a computer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/wiki.xxiivv.com\/site\/varvara.html\">Varvara<\/a> is the spec for the computer system so to say, think mouse, keyboard, display, sound and more. It&#8217;s divided into 16 possible devices, each having 16 bytes of addressable memory called ports. From a programmers point of view, it&#8217;s very similar to memory mapped peripherals that many micro-controllers have.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Currently, there are 8 devices in Varvara:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>System<\/li>\n\n\n\n<li>Console<\/li>\n\n\n\n<li>Screen<\/li>\n\n\n\n<li>Audio<\/li>\n\n\n\n<li>Controller<\/li>\n\n\n\n<li>Mouse<\/li>\n\n\n\n<li>File<\/li>\n\n\n\n<li>Datetime<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Each device can have a vector, essentially an interrupt. When a certain condition is met, Uxn will jump to the address stored in the vector. For example, for the Mouse, every time movement or a button press is detected, the system should jump to the address stored in the Mouse vector.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"516\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-1.png\" alt=\"\" class=\"wp-image-1490\" style=\"width:257px;height:auto\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-1.png 594w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-1-300x261.png 300w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is the mouse device. To read the position of the mouse, you would just read address 0x92 and 0x94! The pressed buttons can be read from the &#8220;state&#8221; port.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Most devices are fairly straightforward. The Controller handles a controller or keyboard. Mouse handles a mouse and so on. A few more annoying ones are the System, Screen, Audio and File.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">System<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"504\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-2.png\" alt=\"\" class=\"wp-image-1495\" style=\"width:228px;height:auto\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-2.png 606w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-2-300x250.png 300w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The system device handles a few system things. It contains direct access to the stacks, contains the colour information for the Screen and it has the option to address more memory!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, this 8 bit machine can have more then 64KB of memory. Via the expansion port in the system device, memory can be copied to\/from other banks to the memory of the machine.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">File<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"504\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-3.png\" alt=\"\" class=\"wp-image-1496\" style=\"width:253px;height:auto\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-3.png 580w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-3-300x261.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The file device can read, write and append to files, and also delete files. Varvara does not specify any file system or storage format. That&#8217;s all up to the machine emulating this. A Pi Pico has quite a bit of on board storage, but for easy of file transfer I decided that a microSD card is much much easier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Varvara has two file devices, so in theory two storage options can be added. For one one microSD card is fine, but having one for programs and one for files sounds nice. Or use the internal storage for programs, and the external for files\/documents. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Screen<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"516\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image.png\" alt=\"\" class=\"wp-image-1489\" style=\"width:229px;height:auto\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image.png 594w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/image-300x261.png 300w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now the screen is, in my opinion, the most interesting part of Varvara. Varvara has a default resolution of 512&#215;320, and has 4 colors per pixel. There is a background and foreground layer. The foreground layer treats one color as transparent. This is very useful for drawing sprites on top of a background for example.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The 4 colors are set via the system device, using the r, g and b ports. This means there is some lookup required when drawing a frame, to map colors from the layers to the actual set color. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">512 by 320 pixels would mean a 512*320 = 160KB framebuffer. A single pixel does not need a whole byte however, as there is just 4 colors (2 bit) and 2 layers. This means that in theory it&#8217;s possible to have a 80KB framebuffer, though 160KB would make life a lot easier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Looking at the device, a few things are straightforward, width and height contain the width and height. But, write new values to this and the resolution should change to this! Of course, you cannot make a display larger then it is, so reading these values back should always give the accurate resolution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pixels and sprites can be drawn, a sprite is always 8&#215;8 pixels. To draw a sprite, the address of the sprite should be set to the addr port, coordinates on where to draw it to the x and y port, and some information on how to draw should be set to the sprite port.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Varvara can also auto increment the x and y port to make drawing sprites easier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All in all, this really feels well thought out and quite fun to code small projects for. Implementing this all in a micro-controller however might be a bit challenging.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Audio<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">What computer doesn&#8217;t have audio? Well, mine for now as I did not implement this yet :)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But there are 4 audio devices, essentially a note is written to the note port, an audio sample stored in RAM is played with that pitch. An <a href=\"https:\/\/psychosynth.com\/sound-design\/envelopes\/adsr\/\">ADSR<\/a> envelope is then applied on this. This looks really fun to play around with for sure!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Is the RP2350 made for this?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It kind of feels like it. So first of all, the RP2350 is fast enough to output to HDMI, perfect! Second of all, it contains enough RAM for the 64KB memory, 160KB for a framebuffer and have some to spare. The RP2040 would be possible too, but perhaps be a bit tight. I would also like to have a 640*480 resolution if doing HDMI, so a bit more RAM doesn&#8217;t hurt!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Performance wise, the RP2350 also has more PIO&#8217;s to support peripherals and faster cores. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There is not enough RAM for a lot of banks of memory. The recommended 10 banks of 64KB would not be easily possible. But unlike the RP2040, the RP2350 does support external PSRAM. While slower, this could perhaps work in a pinch!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So my idea is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HDMI for display<\/li>\n\n\n\n<li>MicroSD for storage<\/li>\n\n\n\n<li>PS\/2 keyboard<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Easy peasy right!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Implementing this all<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I started with the very basics, a console device to do a command line interface and the Uxn emulator. Based on the <a href=\"https:\/\/git.sr.ht\/~rabbits\/uxn11\">uxn11<\/a> this was up and running in a few hours. For now, I used a hardcoded Uxn ROM, so next on the list was basic file support. I used the well known FatFs library to read and write to a microSD card, <a href=\"https:\/\/github.com\/carlk3\/no-OS-FatFS-SD-SDIO-SPI-RPi-Pico\">this<\/a> implementation to be exact. This worked quite well, though Varvara has a few little quirks<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When reading a directory, you would set the directory name in the &#8220;File\/name&#8221; port and then read by putting an address where you want the read data in the &#8220;File\/read&#8221; port. Then the directory content is read in the following format: Each file or directory is on its own line, prefixed with four characters for the <em>file details<\/em>, followed by a tab, the file&#8217;s name and a linebreak.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">001a\tfile.txt<br>????\tlarge file.mp4<br>----\tdirectory\/<br><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This makes the emulator side a little more involved, but considering the machine we are emulating, it makes sense.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now up to the most complex and most fun one, the screen!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The screen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There is a nice example on how to output DVI in the pi pico sdk <a href=\"https:\/\/github.com\/raspberrypi\/pico-examples\/tree\/master\/hstx\/dvi_out_hstx_encoder\">examples<\/a>. And HDMI is just spicy DVI! I started with this example, but after some attempts ran into issues with 2 cores accessing 1 RAM buffer. core0 is running the UXN emulator and most of the code, and I used core1 for all things display. But multiple cores poking 1 framebuffer is of course not great.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Luckily, someone made a really great library for this, <a href=\"https:\/\/github.com\/fliperama86\/pico_hdmi\">pico_hdmi<\/a>! It handles outputting to HDMI and even supports proper HDMI, think things like sound. As I am using an ancient 17&#8243; monitor with DVI, at first I had no image. Turns out I had to set the library to dvi mode!<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>video_output_set_dvi_mode(true);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The real cool trick is that this library calls a callback every time a single line is finished drawing. The idea is that you can, on the fly, fill a buffer for the next line. This means I can have a framebuffer that just contains the color lookup values, not the actual color, meaning 4 bit per pixel instead of 8 or 16! The cpu should be fast enough to convert this to actual color data on the fly.<br>And this also means all the multicore issues are dealt with!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the end, core1 handles drawing pixels and converting this to a line to draw. To keep everything fast enough, some functions had to be moved to RAM. But in the end, this works great, even a 640&#215;480 pixel framebuffer fits easily! <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Various device shenanigans<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, a screen and a filesystem is fun, but some input is also handy. Varvara supports a mouse and keyboard so let&#8217;s add that too. USB would be cool, but does come with some overhead. For now, I settled on an old school PS\/2 keyboard and mouse. And the RP2350 is blessed with a load of PIO peripherals, so let&#8217;s just abuse those. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A keyboard just works when powered and will send data on any key press or release. Mice are a tad more annoying and need to be initiated before they output data. Of course, not everyone has old peripherals laying around, but there are converters to turn a USB keyboard or mouse into a PS\/2 one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Varvara also supports a datetime device for timekeeping. For now, this starts at 0 and counts. In the future a proper RTC with battery would cool to add.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">About that pi pico board<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I quickly got a little fed up with the standard pi pico 2. Hooking up HDMI, a MicroSD slot and a debugger turns into a fragile mess of wires quickly. So I decided to just make my own board, with black jack, and on board debugger.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/IMG_2638.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"836\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/IMG_2638-1024x836.jpg\" alt=\"\" class=\"wp-image-1506\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/IMG_2638-1024x836.jpg 1024w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/IMG_2638-300x245.jpg 300w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/IMG_2638-768x627.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/IMG_2638-1536x1254.jpg 1536w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/IMG_2638-2048x1672.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Compared to the normal Pi Pico 2, it has the RP2350B with more pins, HDMI, MicroSD slot, an on board debugger, and USB C! This made it much nicer to develop with, I just hooked up 2 PS\/2 connectors and that&#8217;s it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All files can be found on <a href=\"https:\/\/github.com\/riktw\/RP2350B_BellsNWhistles\">github<\/a>, and if curious, a few are listed on <a href=\"https:\/\/www.tindie.com\/products\/riktwi\/rp2350b-bellswhistles-board\/\">Tindie<\/a>!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">So, what does it all run?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Currently, everything on Varvara is supported except Audio and the extended RAM. This means most programs made for Varvara run quite well! All utilities like the notepad, calender, cccc calculator, bunnymark and more just work. <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_5_2026-06-26_18-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"1024\" data-id=\"1510\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_5_2026-06-26_18-49-27-839x1024.jpg\" alt=\"\" class=\"wp-image-1510\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_5_2026-06-26_18-49-27-839x1024.jpg 839w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_5_2026-06-26_18-49-27-246x300.jpg 246w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_5_2026-06-26_18-49-27-768x937.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_5_2026-06-26_18-49-27-1258x1536.jpg 1258w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_5_2026-06-26_18-49-27-1678x2048.jpg 1678w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_5_2026-06-26_18-49-27.jpg 2008w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_8_2026-06-26_18-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"984\" data-id=\"1513\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_8_2026-06-26_18-49-27-1024x984.jpg\" alt=\"\" class=\"wp-image-1513\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_8_2026-06-26_18-49-27-1024x984.jpg 1024w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_8_2026-06-26_18-49-27-300x288.jpg 300w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_8_2026-06-26_18-49-27-768x738.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_8_2026-06-26_18-49-27-1536x1475.jpg 1536w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_8_2026-06-26_18-49-27-2048x1967.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_7_2026-06-26_18-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"780\" data-id=\"1512\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_7_2026-06-26_18-49-27-1024x780.jpg\" alt=\"\" class=\"wp-image-1512\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_7_2026-06-26_18-49-27-1024x780.jpg 1024w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_7_2026-06-26_18-49-27-300x229.jpg 300w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_7_2026-06-26_18-49-27-768x585.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_7_2026-06-26_18-49-27-1536x1170.jpg 1536w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_7_2026-06-26_18-49-27-2048x1560.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_6_2026-06-26_18-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"825\" data-id=\"1511\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_6_2026-06-26_18-49-27-1024x825.jpg\" alt=\"\" class=\"wp-image-1511\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_6_2026-06-26_18-49-27-1024x825.jpg 1024w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_6_2026-06-26_18-49-27-300x242.jpg 300w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_6_2026-06-26_18-49-27-768x619.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_6_2026-06-26_18-49-27-1536x1238.jpg 1536w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_6_2026-06-26_18-49-27-2048x1650.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Some games also work as expected, though some use the extended RAM and do not run. <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_3_2026-06-26_18-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1002\" height=\"1024\" data-id=\"1508\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_3_2026-06-26_18-49-27-1002x1024.jpg\" alt=\"\" class=\"wp-image-1508\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_3_2026-06-26_18-49-27-1002x1024.jpg 1002w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_3_2026-06-26_18-49-27-293x300.jpg 293w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_3_2026-06-26_18-49-27-768x785.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_3_2026-06-26_18-49-27-1502x1536.jpg 1502w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_3_2026-06-26_18-49-27-2003x2048.jpg 2003w\" sizes=\"auto, (max-width: 1002px) 100vw, 1002px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_4_2026-06-26_18-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"759\" data-id=\"1509\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_4_2026-06-26_18-49-27-1024x759.jpg\" alt=\"\" class=\"wp-image-1509\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_4_2026-06-26_18-49-27-1024x759.jpg 1024w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_4_2026-06-26_18-49-27-300x222.jpg 300w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_4_2026-06-26_18-49-27-768x569.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_4_2026-06-26_18-49-27-1536x1138.jpg 1536w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_4_2026-06-26_18-49-27-2048x1518.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2_2026-06-26_18-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"820\" data-id=\"1507\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2_2026-06-26_18-49-27-1024x820.jpg\" alt=\"\" class=\"wp-image-1507\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2_2026-06-26_18-49-27-1024x820.jpg 1024w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2_2026-06-26_18-49-27-300x240.jpg 300w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2_2026-06-26_18-49-27-768x615.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2_2026-06-26_18-49-27-1536x1231.jpg 1536w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2_2026-06-26_18-49-27-2048x1641.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The games shown here are: <a href=\"https:\/\/github.com\/origedit\/lights-out\">Lights out<\/a>, <a href=\"https:\/\/hundredrabbits.itch.io\/polycat\">Polycat<\/a> and <a href=\"https:\/\/git.phial.org\/d6\/kodiak\">Kodiak<\/a>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">I want one!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Luckily, it&#8217;s somewhat easy to build one. The following should be hooked up to a Pi Pico 2:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <a href=\"https:\/\/www.adafruit.com\/product\/5957\">DVI Sock<\/a><\/li>\n\n\n\n<li>A (micro)SD card: https:\/\/www.adafruit.com\/product\/4682<\/li>\n\n\n\n<li>Two PS\/2 connectors, for example via <a href=\"https:\/\/www.amazon.com\/DRAGONRUN-Socket-Connectors-Female-Connector\/dp\/B0DPX527P9\">Amazon<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The DVI Sock can be soldered directly to a pi pico 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The SD Card connection is as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GPIO20 &lt;-&gt; DATA0<\/li>\n\n\n\n<li>GPIO21 &lt;-&gt; DATA3\/CD<\/li>\n\n\n\n<li>GPIO22 &lt;-&gt; CLK<\/li>\n\n\n\n<li>GPIO23 &lt;-&gt; CMD <br><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The pinout is defined in hw_config.c in case a different pinout is handier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the keyboard and mouse:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PS\/2 mouse data &lt;-&gt; GPIO6<\/li>\n\n\n\n<li>PS\/2 mouse clk &lt;-&gt; GPIO7<\/li>\n\n\n\n<li>PS\/2 keyboard data &lt;-&gt; GPIO8<\/li>\n\n\n\n<li>PS\/2 keyboard clk &lt;-&gt; GPIO9<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, buying on of the boards I made via <a href=\"https:\/\/www.tindie.com\/products\/riktwi\/rp2350b-bellswhistles-board\/\">Tindie<\/a> works too, though the PS\/2 connectors still do need to be hooked up!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s next<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most of Varvara works, but not having an RTC is a little bit of a bummer. So sneak preview, but I made a little board with an RTC and a few more things:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2026-06-26_19-55-29.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2026-06-26_19-55-29-1024x536.jpg\" alt=\"\" class=\"wp-image-1515\" srcset=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2026-06-26_19-55-29-1024x536.jpg 1024w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2026-06-26_19-55-29-300x157.jpg 300w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2026-06-26_19-55-29-768x402.jpg 768w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2026-06-26_19-55-29-1536x804.jpg 1536w, https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_2026-06-26_19-55-29-2048x1072.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">RTC, I2S DAC and more! So hopefully this board works in one go and I can turn this into a full Varvara machine! For now, this blog is already long enough I&#8217;d say. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All <a href=\"https:\/\/github.com\/riktw\/uxnpico2\">code<\/a> can be found on my github, and the <a href=\"https:\/\/github.com\/riktw\/RP2350B_BellsNWhistles\">pcb designs<\/a> for the pi pico board as well!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As always, if you enjoyed this blog post, you can buy me a <a href=\"https:\/\/ko-fi.com\/riktw\">coffee<\/a>!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What&#8217;s a &#8220;Varvara&#8221; and why does that pi pico 2 look a little different? Let&#8217;s dive into that! Varvara is a specification for a computer system, which uses the Uxn virtual machine and describes how things like a display, mouse, keyboard and such should react. Uxn, in term, is a spec for a virtual machine [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-1487","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Running Varvara on a Pi Pico 2 - jaeblog<\/title>\n<meta name=\"description\" content=\"A blog on running the Varvara\/UXN virtual machine on a raspberrry pico 2 and a look at what Varvara and UXN even are!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/justanotherelectronicsblog.com\/?p=1487\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Running Varvara on a Pi Pico 2 - jaeblog\" \/>\n<meta property=\"og:description\" content=\"A blog on running the Varvara\/UXN virtual machine on a raspberrry pico 2 and a look at what Varvara and UXN even are!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/justanotherelectronicsblog.com\/?p=1487\" \/>\n<meta property=\"og:site_name\" content=\"jaeblog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-11T13:28:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-11T13:28:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"2560\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"riktw\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"riktw\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487\"},\"author\":{\"name\":\"riktw\",\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/#\\\/schema\\\/person\\\/d77e39721321c4a472b49909a8f1982b\"},\"headline\":\"Running Varvara on a Pi Pico 2\",\"datePublished\":\"2026-07-11T13:28:27+00:00\",\"dateModified\":\"2026-07-11T13:28:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487\"},\"wordCount\":2394,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/photo_1_2026-06-26_18-49-27-768x1024.jpg\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487\",\"url\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487\",\"name\":\"Running Varvara on a Pi Pico 2 - jaeblog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/photo_1_2026-06-26_18-49-27-768x1024.jpg\",\"datePublished\":\"2026-07-11T13:28:27+00:00\",\"dateModified\":\"2026-07-11T13:28:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/#\\\/schema\\\/person\\\/d77e39721321c4a472b49909a8f1982b\"},\"description\":\"A blog on running the Varvara\\\/UXN virtual machine on a raspberrry pico 2 and a look at what Varvara and UXN even are!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487#primaryimage\",\"url\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/photo_1_2026-06-26_18-49-27.jpg\",\"contentUrl\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/photo_1_2026-06-26_18-49-27.jpg\",\"width\":1920,\"height\":2560},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?p=1487#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Running Varvara on a Pi Pico 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/#website\",\"url\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/\",\"name\":\"jaeblog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/#\\\/schema\\\/person\\\/d77e39721321c4a472b49909a8f1982b\",\"name\":\"riktw\",\"url\":\"https:\\\/\\\/justanotherelectronicsblog.com\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Running Varvara on a Pi Pico 2 - jaeblog","description":"A blog on running the Varvara\/UXN virtual machine on a raspberrry pico 2 and a look at what Varvara and UXN even are!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/justanotherelectronicsblog.com\/?p=1487","og_locale":"en_US","og_type":"article","og_title":"Running Varvara on a Pi Pico 2 - jaeblog","og_description":"A blog on running the Varvara\/UXN virtual machine on a raspberrry pico 2 and a look at what Varvara and UXN even are!","og_url":"https:\/\/justanotherelectronicsblog.com\/?p=1487","og_site_name":"jaeblog","article_published_time":"2026-07-11T13:28:27+00:00","article_modified_time":"2026-07-11T13:28:29+00:00","og_image":[{"width":1920,"height":2560,"url":"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27.jpg","type":"image\/jpeg"}],"author":"riktw","twitter_card":"summary_large_image","twitter_misc":{"Written by":"riktw","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487#article","isPartOf":{"@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487"},"author":{"name":"riktw","@id":"https:\/\/justanotherelectronicsblog.com\/#\/schema\/person\/d77e39721321c4a472b49909a8f1982b"},"headline":"Running Varvara on a Pi Pico 2","datePublished":"2026-07-11T13:28:27+00:00","dateModified":"2026-07-11T13:28:29+00:00","mainEntityOfPage":{"@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487"},"wordCount":2394,"commentCount":0,"image":{"@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487#primaryimage"},"thumbnailUrl":"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27-768x1024.jpg","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/justanotherelectronicsblog.com\/?p=1487#respond"]}]},{"@type":"WebPage","@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487","url":"https:\/\/justanotherelectronicsblog.com\/?p=1487","name":"Running Varvara on a Pi Pico 2 - jaeblog","isPartOf":{"@id":"https:\/\/justanotherelectronicsblog.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487#primaryimage"},"image":{"@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487#primaryimage"},"thumbnailUrl":"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27-768x1024.jpg","datePublished":"2026-07-11T13:28:27+00:00","dateModified":"2026-07-11T13:28:29+00:00","author":{"@id":"https:\/\/justanotherelectronicsblog.com\/#\/schema\/person\/d77e39721321c4a472b49909a8f1982b"},"description":"A blog on running the Varvara\/UXN virtual machine on a raspberrry pico 2 and a look at what Varvara and UXN even are!","breadcrumb":{"@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/justanotherelectronicsblog.com\/?p=1487"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487#primaryimage","url":"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27.jpg","contentUrl":"https:\/\/justanotherelectronicsblog.com\/wp-content\/uploads\/2026\/06\/photo_1_2026-06-26_18-49-27.jpg","width":1920,"height":2560},{"@type":"BreadcrumbList","@id":"https:\/\/justanotherelectronicsblog.com\/?p=1487#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/justanotherelectronicsblog.com\/"},{"@type":"ListItem","position":2,"name":"Running Varvara on a Pi Pico 2"}]},{"@type":"WebSite","@id":"https:\/\/justanotherelectronicsblog.com\/#website","url":"https:\/\/justanotherelectronicsblog.com\/","name":"jaeblog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/justanotherelectronicsblog.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/justanotherelectronicsblog.com\/#\/schema\/person\/d77e39721321c4a472b49909a8f1982b","name":"riktw","url":"https:\/\/justanotherelectronicsblog.com\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=\/wp\/v2\/posts\/1487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1487"}],"version-history":[{"count":16,"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=\/wp\/v2\/posts\/1487\/revisions"}],"predecessor-version":[{"id":1521,"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=\/wp\/v2\/posts\/1487\/revisions\/1521"}],"wp:attachment":[{"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/justanotherelectronicsblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}