<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Alex Camilo</title><description>Electrical engineer, product developer, and prototyper. Schematic capture, PCB layout, and the messy middle of taking hardware from concept to retail.</description><link>https://acamilo.github.io/</link><language>en-us</language><item><title>A fly plays Pokémon, Part 1</title><link>https://acamilo.github.io/log/2026/09/a-fly-plays-pokemon/</link><guid isPermaLink="true">https://acamilo.github.io/log/2026/09/a-fly-plays-pokemon/</guid><description>Hooking a simulated fly brain up to Pokémon, with sugar rewards, checkpoints, and a Twitch stream.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;So, a fly neural map just dropped, and the internet has been getting up to some delightful, borderline horrifying shenanigans. A team led by &lt;a href=&quot;https://research.google/blog/a-connectomics-milestone-mapping-the-complete-male-fruit-fly-brain/&quot;&gt;HHMI Janelia, working with Google Research and collaborators&lt;/a&gt;, mapped a male fruit fly’s brain and nerve cord. Thin slices, electron microscope images, a whole lotta analysis, and the dataset is now on the internet.&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&quot;/media/log/a-fly-plays-pokemon/male-fly-connectome.webp&quot;&gt;
    &lt;img src=&quot;/media/log/a-fly-plays-pokemon/male-fly-connectome.webp&quot; width=&quot;1250&quot; height=&quot;797&quot; alt=&quot;Two views of reconstructed male fruit fly neurons, with dense brain lobes connected to a long ventral nerve cord. Individual cells are shown in different colors.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Some of the reconstructed cells in the male fly&apos;s brain and nerve cord, viewed from two angles. Image: &lt;a href=&quot;https://research.google/blog/a-connectomics-milestone-mapping-the-complete-male-fruit-fly-brain/&quot;&gt;Google Research&lt;/a&gt;, from the connectome work by HHMI Janelia, the Cambridge Connectomics Group, Google Research, and collaborators.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I was introduced to this madness with &lt;a href=&quot;https://infinitesugar.cnqso.com/&quot;&gt;Infinite Sugar&lt;/a&gt;, where &lt;a href=&quot;https://github.com/cnqso/infinite-sugar&quot;&gt;William Kelly (cnqso)&lt;/a&gt; uses the earlier &lt;a href=&quot;https://flywire.ai/&quot;&gt;FlyWire connectome&lt;/a&gt;, published in 2024, to simulate a fly’s brain. Some neural activity drives movement in a simulated body, and a button “feeds” the fly infinite sugar by triggering sweet-sensing neurons. Most motor output is disconnected, and the fly doesn’t get visual input from its terrarium.&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&quot;/media/log/a-fly-plays-pokemon/infinite-sugar.webp&quot;&gt;
    &lt;img src=&quot;/media/log/a-fly-plays-pokemon/infinite-sugar.webp&quot; width=&quot;1280&quot; height=&quot;889&quot; alt=&quot;Infinite Sugar shows a rendered fruit fly in a rocky terrarium, a colored neural-activity display, a feeding-signal counter, and a Sugar on button.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Infinite Sugar, with the sugar stimulus on and neural activity shown at lower left. Screenshot of &lt;a href=&quot;https://infinitesugar.cnqso.com/&quot;&gt;William Kelly&apos;s Infinite Sugar&lt;/a&gt;; the project uses FlyWire connectome data and the FlyBody model.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I was on the road when I read about this and began doom-coding (prompting an LLM on my phone instead of binging social media) a prototype. It started with questions about the dataset Infinite Sugar used, and the conversation meandered into project territory.&lt;/p&gt;
&lt;p&gt;I wanted to do something with this. People were already hooking these simulations up to games, including &lt;a href=&quot;https://github.com/nftechie/doomfly&quot;&gt;Alex Wormuth’s Doom project&lt;/a&gt;, which maps game frames to sensory input and neural activity to controls. There’s also a &lt;a href=&quot;https://github.com/blendi-remade/fly-brain-minecraft&quot;&gt;Minecraft fly mod&lt;/a&gt; that uses the newer MaleCNS connectome, with simplified integrate-and-fire neurons driving a fly mob.&lt;/p&gt;
&lt;p&gt;The first thing that came to mind was watching &lt;a href=&quot;https://www.youtube.com/watch?v=qv6UVOQ0F44&quot;&gt;SethBling’s MarI/O&lt;/a&gt;, which evolves neural networks to play Super Mario World. Then I remembered the various Twitch Plays Pokémon streams, specifically Fish Plays Pokémon.&lt;/p&gt;
&lt;p&gt;So, fly plays Pokémon. But how? What would this look like?&lt;/p&gt;
&lt;p&gt;A Twitch stream, obviously, an emulator, and mapping the fly to the game. Initially, the plan was to map motor neurons to buttons, the screen to visual neurons, and set up &lt;em&gt;some&lt;/em&gt; kind of reward-based feedback mechanism. Additionally, some tracking mechanism to prevent regressions and take periodic snapshots of the game.&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&quot;/media/log/a-fly-plays-pokemon/fly-pokemon-stream.webp&quot;&gt;
    &lt;img src=&quot;/media/log/a-fly-plays-pokemon/fly-pokemon-stream.webp&quot; width=&quot;1280&quot; height=&quot;516&quot; alt=&quot;The A Fly Plays Pokémon stream shows Pokémon Red on the left and a simulation dashboard on the right, including progress toward Pewter City, retinal input, and activity bars for drive, buttons, dopamine, and taste.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;My stream: Pokémon Red on the left, sensory input and neural activity on the right. The progress tracker is working on the route from Viridian Forest to Pewter City. Cropped still from &lt;a href=&quot;https://www.twitch.tv/aflyplayspokemon&quot;&gt;aflyplayspokemon&lt;/a&gt; by Alex Camilo. Pokémon game imagery: Nintendo / Creatures / GAME FREAK.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The tracking/checkpoint code analyzes the save file to determine how much progress was made and gives the fly sugar at milestones.&lt;/p&gt;
&lt;p&gt;Additionally, I set up a macro system to connect some neurons to pre-canned actions that are state-dependent, again by watching emulator memory. So, for example, in battle there are neurons hooked up to things like “use an item,” “make an attack,” or “throw a Poké Ball.” I know this is a little against the “fish plays” vibe I was going for, but I think it turns the whole thing into a low-key idle RPG by enabling more focused actions.&lt;/p&gt;
&lt;p&gt;I’m still working on it. In my haste, I built it around the wrong connectome: the 2024 female FlyWire brain used by Infinite Sugar, rather than the newer male brain and nerve cord map. I don’t expect swapping it to be too hard, but I haven’t done it yet.&lt;/p&gt;
&lt;p&gt;I’ll do a more detailed write-up and a project page at a later point, but if you want to check it out, &lt;a href=&quot;https://www.twitch.tv/aflyplayspokemon&quot;&gt;the stream can be found here&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Rebuilt the site</title><link>https://acamilo.github.io/log/2026/09/rebuilt-this-site/</link><guid isPermaLink="true">https://acamilo.github.io/log/2026/09/rebuilt-this-site/</guid><description>An Astro rebuild with KiCad-style drawing sheets, project photos, and a log for bench notes.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I rebuilt the site to give my projects a better home and add a log for whatever
I’m currently building, mostly hardware with some software in the mix.&lt;/p&gt;
&lt;p&gt;The design takes its cues from KiCad: drawing-sheet borders, title blocks,
figure numbers, and a project index. The text pages use a light paper background.
Project pages take their color from the board’s soldermask, with photos and
videos showing the hardware.&lt;/p&gt;
&lt;p&gt;It’s built with Astro and generates static HTML. A little JavaScript handles
the project previews, color transitions, and photo viewer. Posts and project
write-ups are still plain Markdown files with YAML front matter.&lt;/p&gt;
&lt;p&gt;Most of the code was written with AI coding assistants.&lt;/p&gt;
&lt;p&gt;The deployment workflow is set up for GitHub Actions to build the site and
publish it to GitHub Pages. Once connected, publishing a post will be a Markdown
file, a commit, and a push to main.&lt;/p&gt;
</content:encoded></item></channel></rss>