Pico Chess Card banner

Pico Chess Card

18 devlogs
31h 18m 12s

After building my Tic-Tac-Toe business card, I decided to build a more advanced version that allows users to play chess!

Goals

  • Pass-and-play mode (like one device but two people take turn
  • Online 1v1 through nrf24l01
  • NFC tap to either…

After building my Tic-Tac-Toe business card, I decided to build a more advanced version that allows users to play chess!

Goals

  • Pass-and-play mode (like one device but two people take turn
  • Online 1v1 through nrf24l01
  • NFC tap to either go to websites or pairing mode (I’ll leave this to later)

Components

  • RP2040 + Crystal + Flash Storage
  • USB-C
  • Waveshare E-paper 2.7 inch
Demo Repository

Loading README...

Hung-Chi Wang

Shipped this project!

Hours: 31.3
Cookies: 🍪 748
Multiplier: 23.9 cookies/hr

I built a completely custom Pico Chess Card using an RP2040 and an e-ink display!!!
The hardest part was definitely the power supply chain and the SMD reflowing (I literally burnt multiple regulators, shorted 5V to GND, and even peeled off a solder pad at 2AM bruh), but I figured it out by ditching the RT6154A for the RT6150B, diagnosing the shorts with my multimeter, and learning to properly use my hot air gun instead of frying things with my iron lol. Really happy with how it turned out :)
The moment I finally got BOOTSEL to work and watched that e-ink screen actually refresh gave me an ungodly amount of serotonin lol.
LETS GOOOOO! Hope you all enjoy it :)

Hung-Chi Wang

Reflow Attempt 3

LETS GOOOOOOOOO it finally works bruh I could actually cry right now…….

  • So after I went to bed at 2AM feeling absolutely defeated, I woke up today and just stared at the dead board for like 20 mins. I realized when I swapped the RP2040 last night in my sleep-deprived state, I probably completely messed up the QFN ground pad under the chip cuz I was so tired and rushed it, which is why the whole thing just gave up on life and killed the 3V3
  • Wipped out the flux and my hot air gun, and gave the MCU one last reflow. Was extremely careful this time and didn’t even touch my soldering iron cuz I learned my lesson from frying the USB-C port lol
  • Plugged it in, and BOOM both the 5V and 3V3 indicator lights lit up immediately!!! The relief I felt seeing that 3V3 light come back from the dead was insane. BUT I was still holding my breath bc of the flash issue from yesterday. I held down the BOOTSEL button, plugged the USB into my laptop, and just prayed to the hardware gods……
  • AND IT POPPED UP ON MY COMPUTER!!! LIKE FINALLY. The BOOTSEL acc works and it communicates with the flash perfectly now. I immediately dragged the micropython uf2 file in and it loaded flawlessly without any sketchy disconnects. But the absolute best part is I finally got to test the e-ink screen. Hooked it up, wrote a quick test script in micropython, and watching that e-ink display actually refresh and show my stuff gave me an ungodly amount of serotonin. The chess card is finally alive!!!
    Moral of the story :) never solder tiny chips at 2AM when ur brain is fried. I’m so happy rn lol like WTH
Attachment
0
Hung-Chi Wang

Reflow Attempt 2

AHHHHH this is genuinely killing me…….it took me almost 4 hours to reflow the board + debugging

  • Reflowed the entire chess card, and somehow the both the 5V and 3V3 indicator lights didn’t light up, which was extremely frustrating……
  • Initially, I thought it was bc of the USB-C port cuz I kept wiping it with my 300 degree celcius soldering iron to fix the bridges (we dont talk abt that lol). So then I decided to swap out the port, which then I realized how it still didnt fix the issue
  • Well i then measured the resistance between the 5V and GND, which then i noticed how the value was suspiciously low, like nearly 0 ohm (obviously it’s short circuited!!!!
  • I immediately doubt if it was bc of the RT6150 cuz it’s the only IC that bridges 5V and GND other than the USB-C. I reflowed the RT6150 chip again, and BINGO the 5V indicator light turned on!
  • BUT here’s another issue……..why in the world is 3V3 not lighting up??? LIKE WHYYY I literally reflowed the buck regulator again. This issue took me over an hour to deal with cuz I immediately tested the resistance between 3V3 and GND, but nope the resistance was very normal like very high…….so then I went back and stared at my board again and started to think it might bc i accidentally burnt the RT6150 when i shortcircuited the 5V
  • I swapped out the RT6150 with a new one (NOOOOOO only 4 left, very low in inventory), and guess what it finally started to kinda work, like the 3V3 light turned on. BUT BUT BUT the BOOTSEL IS DEAD like it doesnt communicate with my flash
  • Usually if the 3V3 didnt even turn on means the shortcircuit didnt even acc get out of the regulator, so the flash shouldnt be an issue……..now i turned to my RP2040 and thought it might be bc of the MCU…….I reflowed the chip again but bruh same shit happened
  • I then swapped out the RP2040 with a new one (I mean I still have quite a bit inventory so why not lol). BUT the board became fudging dead, like acc DEAD…….the 3V3 indicator light no longer turned on
    It’s already 2AM and I’m devastated………lemme probly take some rest before giving it another shot
Attachment
0
Hung-Chi Wang

Fixed the schematic and footprint!!
This time im finally using RT6150B and not smth else lol

  • Imported symbol and footprint
  • Rerouted power supply chain (easier than I thought)
  • Ran DRC
Attachment
0
Hung-Chi Wang

FUDGE I TRIED FOUR TIMES!!! AND BURNT ALL MY RT6154A and 47uF caps
Heres the results for each attempt
1st –> the regulator smoked but suddenly the 3.3V LED blinked!!! I really thought it started working bruh………but then my computer just couldnt access any files
2nd –> I moved most of the parts from the 1st one to this, and somehow 5V were not even responding??
3rd –> this time i focused on the power block only and it correctly produced 3.3V which made me think the power block isnt the issue
4th –> reflowed the entire thing again and 3.3V and GND are shorted till i removed the RP2040
And guess wat i realized my mistakes……rpi pico was using RT6150 not the overkilled RT6154 (DUDE WAT
Alr imma redesign the power again even tho I still plan to use it for my devboard lol but for this case imma use RT6150B instead

Attachment
0
Hung-Chi Wang

SIX HOURS DUDE. Literally six hours of my life just gone and my eyes are actually bleeding from staring at my microscope……

Well I reflowed my first board today, and I thought everything went pretty well until I plugged the USB-C in and saw actual magic smoke. The RT6154A literally burnt?? Like legit puffed smoke, got insanely hot, and just died right in front of me

OMG dude im wondering what i did wrong bruh……. I was so scared I somehow sent 5V straight into the RP2040 and fried my whole MCU cluster

For like two hours I just sat there staring at my schematic in KiCad trying to find a fatal design flaw. I even started panicking and overthinking the power circuit, thinking I messed up by not adding an external trace between the VINA and VIN pins on the regulator. I was literally about to rip up the whole layout again until my brain finally started working and I remembered wait NO they are already internally connected on the 6154 so that definitely wasn’t the reason it exploded……

So then I grabbed my multimeter and started checking the resistance everywhere. Obviously the burnt regulator was completely shorted between VOUT and GND, but when I took it off I also found some super sketchy solder balls hiding under the tiny decoupling caps next to it.

It took me another two hours just to desolder the dead RT6154A with my hot air gun and clean up the pads with solder wick. I swear I kept wiping the pads with my iron and almost ripped a pad off cuz my hands were shaking so bad from the stress lol (we definitely don’t talk about how messy the board looks right now)

Honestly at this point I’m just convincing myself it was a massive short circuit under the IC from my choppy solder pasting technique. Like I probably just put way too much paste on the center ground pad and it squeezed out and bridged everything. Let’s hope it’s just simply my reflowing error and nothign more complicated than that……like if it’s a fundamental routing issue I am actually gonna cry

It’s way too late rn and my brain is completely fried from inhaling flux fumes. Imma just scrap this messy board, take some rest, and reflow another board tomorrow with brand new parts and we’ll see how it goes. Literally praying to the hardware gods that it doesn’t end in actual fire this time lol

Attachment
0
Hung-Chi Wang

Another huge progress! I reflowed another screen module and it just worked lol
Btw I also quickly prototyped the chess board and here’s how it looks!!
** I really thought my breakout module wouldnt work cuz this is my first time doing it, probly I just got lucky lol

0
Hung-Chi Wang

Nooooo I accidentally pealed off the solder pad when I almost finished soldering everything…….
Imagine spending all this time getting nothing…….? AHHHH
Nvm imma solder another one tmr (look at how the little diode is flying everywhere bruh

Attachment
0
Hung-Chi Wang

Spent some time doing the following:

  • Added a pull-up resistor for PSYNC
  • Added TP pad for PGOOD
  • Ran DRC, fixed the pinheader connector
  • Ordered the board
    *** btw I gained this time yesterday but I was just too busy to devlog
Attachment
0
Hung-Chi Wang

FINALLY FINISHED ROUTING + DRC CHECK!!
I also rendered this to showcase lol
Routing this time was kinda easy and I really love how straightforward the hardware is, but I think the challenge might be mainly the software side DAMN

Attachment
0
Hung-Chi Wang

YOOO making some quick progress today, literally just sat down for 2 hours and knocked out almost the entire routing bruh!!!

Routing the board: Honestly this was actually much easier than I thought it was gonna be…….. probly cuz there are barely any crazy peripherals to worry about on this board except for the SPI lines. Way less of a headache compared to routing all those shorted power islands from last time lol

Button swap: I also completely ripped out the old buttons and replaced them with the exact same ones I used for my interactive tic-tac-toe business card! Those had a pretty solid tactile feel, so I’m really hoping they work much better for an actual handheld game console layout lol

Just a quick 2 hour grind but we are getting insanely close to finishing this board bruh

Attachment
0
Hung-Chi Wang

YOOO spent almost an hour and a half just straight up routing the RP2040 cluster today and my eyes are only slightly bleeding this time lol

Honestly this session was actually pretty easy cuz there’s barely any crazy peripherals to route on this part of the board. Like way less of a headache compared to ripping up those stupid power islands and shorting out regulators like I usually do bruh

The main focus was definitely just getting the screen connector perfectly wired up rather than anything else. Basically just locked in on making sure all the lines for the display are routed super clean so it actually communicates with the MCU and doesn’t just give me a blank white screen of death when I plug it in

Attachment
0
Hung-Chi Wang

Just a couple things I did
Finalized the schematic: literally finally locked in the entire schematic…. double and triple checked all the pins, the SPI lines, and the power delivery so hopefully I dont end up shorting out another regulator or blowing up my USB port again lol

Designed the card size: decided to actually lock in the physical dimensions of the board today. Went with a super sleek card size so it actually feels like a legit, highly portable device instead of just being some giant clunky dev board. It’s gonna look so clean.

Positioned the PCB components: started dragging all the footprints onto the board and positioning them… trying to squeeze the RP2040, the flash chip, the screen connector, and all those tiny annoying capacitors into this tiny card size area is literally a giant puzzle bruh. But I finally got the main clusters placed perfectly!

Actually feeling pretty good about the layout so far. Routing all these traces next is probably gonna be a literal nightmare in KiCad but we are getting there!

Attachment
0
Hung-Chi Wang

Added NFC feature and imported the footprints!!!

Attachment
0
Hung-Chi Wang

Roughly finished the schematic!!!

  • RP2040 cluster
  • NFC
  • E-paper Screen
  • nrf24l01 (not added yet
Attachment
0
Hung-Chi Wang

DAMNNNNNNNN I MESSED UP THE SCHEMATIC!!!! SO I gotta spend the past hour rerouting everything especially for some reason my schematic and PCB layout disconnected :(
Anyway here’s the final result!!!

Attachment
Attachment
0
Hung-Chi Wang

Finally completed the routing for the entire screen module!!! getting all those display traces to line up perfectly without messing up the rest of the board was honestly kinda annoying but we got it done lol

btw I also rendered this beauty in KiCad so you guys can acc see what the final board is supposed to look like!! literally so hyped for this to be real

Attachment
Attachment
0
Hung-Chi Wang

For the past hour I was assigning footprints for all the parts, it took me a while because they also needed to be found in LCSC. I was dealing with some issues as I kept changing the size of the inductor, i went from 0402 to 0603 to 0805 (which i believe was enough)
I also encountered some capacitor issues, like i accidentally connected Pin 1 to Pin 3 which i have no idea how i did that lol
Anyway let’s get start routing our first screen module!!!

Attachment
0
Hung-Chi Wang

Let’s begin our journey towards the chess card!! Well first of all the most important thing here is the screen

  • Drew the schematic for the screen module
  • Imported symbols from EasyEDA
  • Picked FPC-05FB-24PH20
Attachment
0