Skip to the content
2 layers92 × 59 mmWalkman in-2026, the printed circuit board in 3D

As a part of Hack Club's "Fallout" challenge, I attempt to build a replica of Makoto's walkman (from Persona 3) using KiCad, Onshape, and hopes and dreams.

Size
92 × 59 mm
Copper layers
2
Thickness
1.6 mm
Parts
22
Nets
34
Pads
126
Tracks, vias
373, 9
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Apr 2026
Updated
23 Aug 2026

Overview

Walkman in-2026 is an open-source printed circuit board by AnomaliScript, from the AnomaliScript/Walkman-in-2026 repository on GitHub, published under the MIT licence. It is a 2-layer board of 92 × 59 mm with 22 parts on 34 nets, routed with 373 tracks and 9 vias.

It is built around the BSS138. Its parts include 9 resistors, 6 switches, 3 ICs, 2 transistors and 1 connector. It belongs with the ESP32 boards of this library.

Main components

1

README

README.md

Walkman-in-2026

As a part of Hack Club's "Fallout" challenge, I attempt to build a replica of Makoto's walkman (from Persona 3) using KiCad, Onshape, and hopes and dreams.

This Walkman composes of many capacitors, resistors, an Audio Jack, a microSD card socket, LCD display, four buttons, an on/off switch, and most importantly, a XIAO-ESP3-S3 to make it all work! Most, if not all of these components are THT, or "through-hole technology", meaning that the components have pins that go through holes in the PCB, making them easier to soldier, and that's why I chose THT components (with the exceptino of the microSD card reader), because I'm not a soldering expert (yet).

V0.1

I made my own custom "standoffs" which are supports that support the LCD display, because it needs extra vertical room in order for its pins to be connected to the PCB. I 3D printed both a "screw" and a "non-screw" version of the standoffs, to test which one would work best (standoffs are small, and the smaller a print is, the worse small details, like screw patterns, will be).

image

The screw standoff's didn't work, becasue my 3D printer can't print with that amount of sub-millimeter precision, so I'll just have to use the "non-screw" version of the standoffs.

V0.2

The biggest change from V0.1 was the addition of an Amazon-purchased breakout board that covered both the AudioJack (3.5mm diameter) and PCM5102A stereo. After all, the PCM5102A is indeed a really tiny chip, and with the soldering iron that I was getting, it wasn't likely that I could've soldered the chip using SMD (surface mount) on my own. Consequently, I had to rewire the whole PCB (this will happen many times...) to compensate for this change. What I specifically did was delete the AudioJack and PCM components from the PCB, and put a 16-pin connetor row in its place to set it up for wires to connect to the breakout module (a decision I would later go back on). I also cleaned up the BOM a little bit, but it still was missing a lot of components compared to the final one (which I will link in the bottom of this README).

image

I was planning to get many of my components from my school's makerspace, however since Georgia school years end in mid-May, I lost access to those spaces, and therefore couldn't access those resources: this meant that I had to go shop online (i.e. Amazon and Digikey). V0.2 was also when I finally started to consider how to power this whole contraption, and the conclusion I came up with was simply to add some punches holes (called "Jumper" in the KiCad schematic) to have the battery wires solder through.

image image

V0.3

The buttons on the Walkman PCB looks a bit off; maybe it's because they're not tilted 90 degrees! While implementing right-angle switches, I learned about the different types of drill holes that KiCad offers (I had the wrong type of hole for the switches' footprints which was giving me DRC errors).

image

This was also when I became very insecure about my power management system, so this was when I learned that the XIAO-ESP3-S3 in fact has a built-in nattery management system that rules out the need for Buck converters and other auxillary power managemtn components, which was a huge relief after having done power research for a couple of days straight. The only problem was how to get the power tracks/wires to connect to the bottom of the XIAO, becasue that's where the XIAO's battery pads (BATT) are. Seeing as to how laying the XIAO against teh PCB would make it impossible for a wire to reach under the XIAO, I decided to elevate it using connectors (not shown in the KiCad 3D Viewer below).

image

V0.4

I went back on my decision to physically elevate my XIAO from the PCB. After a family vacation, my refreshed mind preferred to create pads on the XIAO footprint itself. By adding the BATT pads onto the footprint itself, the XIAO, when it comes in contact with the PCB direcly, would have its BATT pads touch the PCB's corresponding pads, requiring no extraneous equiment to connect the two. This customization of the orignal XIAO-ESP32-S3 footprint required me to refer to Seeed Studio's offical KiCad files in order to determine the dimensions and position of the BATT pads, becasue the XIAOs that I ordered were still in transit at the time, so I had no other reference.

image

The XIAO BATT pads and its PCB footprint counterpart, in theory, seemed to perfectly align with each other.

image

I also learned that I had ordered the wrong type of switch for the power, as I ordered a SW_SPST (a button) instead of a SW_DPST (an actual power switch that toggles), so I had to order SW_DPST switches. The LCD that I got was also an unexpected (but plesant) surprise: it came with the PCF8574 component (a component that allows for more GPIO pins) already soldered onto the LCD1602. After realizing that this aligned with my PCB schematic, I gladly deleted the PCF8574 from my schematic and PCB Editor, and more configuration was done.

image

Due to the unique pin that the LCD came with, however, I had to redo the footprint for the LCD as well.

image image

V0.5

Reviewing my the PCB, I realized that the 5V pin on the LCD wasn't connected to anything, and thus began the third reexamination of my PCB's power management. After scrutiny, I fixed the 5V pin on the LCD fairly quickly (connect the 5V on the LCD to the VBUS pin on the XIAO), but there was another issue that I found, and it had to do with the BSS138 components. BSS138s are what are called "bidirectional I2C level shifters", which means they mediate the translation between a higher voltage (e.g. 5V) and a lower voltage (3V). Cleaning up my schematic to mitigate risks of making errors due to confusion, I then revised the BSS connections.

image

Once again, I had to rewire everything (BSS138 is a surface-mount/SMD component, which made rerouting a little harder).

image

I also noticed that I really needed a 3D model for the LCD component, becasue that was not only the biggest part, but it's also one of the most important parts when it came to me designing a housing/case for my PCB. Surfing through the internet, I landed upon a sketchy-looking 3D model of the exact same component (I copied and pasted the Amazon name of the component into Google), and it was in some Autodesk-specific file format. After registering for a free trial for Autodesk products (specifically Fusion 360), I converted into an .stl file and imported into OnShape to look at it further. The model wasn't that bad, and when I linked the 3D model to my LCD footprint on the PCB in KiCad, it fit right in! One tiny change had to be made, and it was the deletion of the right-angle pins (I bent the pins on my LCD to make it straight to make it parallel to the PCB surface...I hope that doesn't mess up dimensioning...)

V1.0

Remember the 16-pin connector that I mentioned? Their job was to act as pins that wires from the AudioJack breakout module could connect to, but seeing as to how it adds unnecessary space to the Walkman, I designed the AudioJack component as a footprint in the PCB Editor to get rid of the 16-pin connector (this did in fact save a lot of space). This required some dimensioning, which I did, and I made a rough OnShape model of it. Exporting it onto the 3D Viewer in my PCB Editor on KiCad, I moved it up a bit (which will represent me using pinn connectors to elevate it) in order to give it some room so it doesn't collide with the right-angle switches.

image image

I utilized my 3D printer to print simplified versions of my PCB to check the footprints and pin dimensions for the XIAO, LCD component, and AudioJack component (not pictured), but after verification I ordered the PCB from JLCPCB, and now I wait for it to come (as well as some other LCSC components).

image image

BOM (not including delivery fees + tariffs)

Additional supplies

I started to get soldering supplies by asking my friend's dad for some, to which he responded with a simple roll of solder and an okay soldering iron. This worked out fine for the simpler components, but when it came to more complex soldering assemblies such as SMD components, I needed help. After some discussion with by more-experienced friend, he told me that I needed a pack of liquid/solid flux (just in case if the rosin-core solder didn't have enough), a heatbed for the SMD components, and some solder paste to complement the heatbed for easier soldering for SMD components.

IdNameVendorQtyCost
1HeatbedAmazon1$27
2FluxAmazon1$9
3Solder PasteAmazon1$22

After getting these components, I set up shop in my garage, and I opened the garage door so that the yummy lead fumes could escape. However, I got moved to my back patio after my dad complained after a bunch of bugs came it in from the open garage door.

Finally, after having done most of the soldering to enable theoretical functionality for my Walkman, I tried hooking it up to my computer using a Logi USB-C cable, and after some vibecoding with Claude Opus, I got the Walkman to work...partially. The display was a little off, and no matter how many times I unplugged and replugged my earbuds, I still couldn't hear anything from the Walkman. Thankfully, the microSD card reader was working, as well as the LCD after some adjustment, because I saw it displaying the text of the songs that I had loaded onto the microSD card.

Switching out my earbuds for headphones that I usually use, I was finally able to hear the music that was playing! image_2 image

However, the battery still needed to be implemented into the Walkman PCB, and I soon realized that the V1.0 Walkman PCB wouldn't be able to distribute the LiPo battery's power to all the peripherals on the PCB. This was because I wired the AudioJack, LCD display, and all the other peripherals other than the microSD card to all use VBUS (5V) power instead of 3.3V power. The problem lied in how the 3.3V pin, not the VBUS pin, was the only power distributor when the Walkman is disconnected from the XIAO's USB-C's power source.

V2.0

With the LiPo power distribution not working and the LCD screen not being entirely accurate to Makoto's Walkman in Persona 3, I returned to the drawing board that is KiCad. By working with Claude, I found another LCD screen online that looked more similar to Makoto's Walkman screen. Looking at its datasheet, I tried adding it into my Walkman PCB schematic.

Parts

22
QtyValueFootprintReferences
510kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2, R7, R8, R9, R10
5SW_Pusheasyeda2kicad:SW-SMD_TC-S3601-3.5-260G-F0.6SW1, SW2, SW3, SW5, SW6
2BSS138Package_TO_SOT_SMD:SOT-23Q1, Q2
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3
122kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR5
14.7kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4
147kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR6
1Jumper_2_OpenTestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mmJP1
1Micro_SD_CardConnector_Card:microSD_HC_Molex_47219-2001J2
1SW_SPDTButton_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1QSW4
1XIAO-ESP32-S3-DIPMore_XIAO_Series_Footprints:XIAO-ESP32-S3-DIPU1
1~Amazon_PCM:PCM x AudioJack ComboU5
1~PCF x LCD combo:PCF8574 x LCD1602 comboU2

Similar boards

  • 4 layers36 × 50.2 mmRacer, the printed circuit board in 3D

    Racer

    StuckAtPrototype/Racer

    These are structured into their own files. I could have used submodules, but decided against it.

    83 parts3.8kApache-2.0
  • 4 layers95 × 95 mmCube motherboard, the printed circuit board in 3D

    Cube motherboard

    willem-pennings/balancing-cube

    A cube that balances itself in a corner or edge using reaction wheels

    52 parts1.1kGPL-3.0
  • 2 layers54.6 × 70.9 mmBeagleLogic Cape, the printed circuit board in 3D

    BeagleLogic Cape

    abhishek-kakkar/BeagleLogic

    A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.

    22 parts479GPL-3.0
  • 2 layers44.2 × 29.3 mmI2c tiny usb, the printed circuit board in 3D

    I2c tiny usb

    harbaum/I2C-Tiny-USB

    Cheap and simple I²C to USB interface

    27 parts454
  • 2 layers21.6 × 52.3 mmPs2 pico hat, the printed circuit board in 3D

    Ps2 pico hat

    No0ne/ps2x2pico

    USB keyboard/mouse to PS/2 interface converter using a Raspberry Pi Pico

    17 parts399MIT
  • 2 layers45 × 45 mmAirCube, the printed circuit board in 3D

    AirCube

    StuckAtPrototype/AirCube

    Works standalone out of the box. Pairs with Home Assistant in minutes. Other platforms are supported through community-contributed extensions.

    61 parts379Apache-2.0
  • 4 layers74 × 104 mmBeepy, the printed circuit board in 3D

    Beepy

    sqfmi/beepy-hardware

    Beepy Hardware

    160 parts348MIT

Questions

How big is the Walkman in-2026 PCB?

It measures 92 × 59 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Walkman in-2026 use?

22 parts, built around the BSS138. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Walkman in-2026 KiCad files?

From the AnomaliScript/Walkman-in-2026 repository on GitHub, at the commit this page was made from: the board is Walkman-in-2026/Walkman-in-2026.kicad_pcb and its schematic Walkman-in-2026/Walkman-in-2026.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Walkman in-2026 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).