PSO Blaster Cosplay

by wanamaa in Workshop > 3D Printing

515 Views, 1 Favorites, 0 Comments

PSO Blaster Cosplay

PSO Handgun + Showcase-Cover.jpg
Screenshot 2026-10-04 152825.png
Screenshot 2026-10-04 154442.png

What is this?

This is a replica of the Handgun blaster from Phantasy Star Online (PSO). This is powered by an Adafruit RP2040 Prop Maker, controlling two separate Neopixel lines and momentary switches running off of a 3.7V 500mAh LiPo battery. The Adafruit Prop Maker has a LiPo battery recharging circuit, making this perfect to recharge your battery. Other features:

  1. Neopixel bar on top that cycles through the weapon rarity colors (green, blue, purple, red, yellow) + white and rainbow for fun (controlled by the Mode button on the side of the bottom shell).
  2. Trigger action to trigger a blast sound effect and flash the NeoPixel in the muzzle. Hold down the trigger to perform a "charged" blast with different sound effect
  3. Sound effects for powering up the blaster, changing the mode/"rarity" of the handgun, regular and charged blasts


Why did I make it?

I've always been a tinkerer at heart, and love electronics and video games. I sunk COUNTLESS hours into PSO on the Dreamcast as a teen, and thanks to the advance in 3D printers for rapid prototyping of models and the Arduino based systems of microcontrollers, I thought this would be a fun project to tackle.


Was AI used in developing this?

NO, it was not. I used references from the game to get the shape of the item, imported it into Fusion 360, and modeled this piece from scratch. The Arduino code was developed from my previous experience with C++ and looking at examples to help with the complex math of some functions, converting wave files to play on the Arduino, and creating my own PSOEffects and PSOAudio libraries for the NeoPixel patterns and the audio files.

Supplies

Software

  1. Arduino IDE
  2. Code files from Github (https://github.com/wanamaa/PSOHandgunPropMaker)

Equipment

  1. 3D Printer with print bed size of at least 256mm x 256mm (tested with Bambu P2S and X2D)
  2. Optional: Multi-material system (i.e. AMS)
  3. Material to use: PLA or PETG. Strongly recommend Support for PLA/PETG from Bambu, OR use alternating materials (i.e. model in PETG, print support material in PLA) to make support removal MUCH easier
  4. Heat Insert Press (Example: https://a.co/d/064QiTuU)
  5. If you don't have a press, a soldering iron will also work
  6. Soldering iron
  7. Solder
  8. Wires

Physical Parts

  1. 3D print files from Makerworld (https://makerworld.com/en/models/3421575-pso-handgun-prop)
  2. Adafruit RP2040 Prop Maker (https://www.adafruit.com/product/5724)
  3. Optional: 3x 1x2 Screw Terminal blocks, 2.54mm spacing (Example kit: https://a.co/d/0cCwolCu)
  4. Heat Inserts - recommend getting a mixed set (Example: https://a.co/d/07E8pNWT)
  5. 1x WS2812B (aka Neopixel) single LED, 5050 size (Example: https://a.co/d/0jkG5jPW)
  6. 1x WS2812B (aka Neopixel) 8 LED Bar, 5050 size (Example: https://a.co/d/04SgrdSK)
  7. 1x 2W, 8Ω Speaker, 28mm diameter (Example: https://a.co/d/0iNCj5wM)
  8. 1x SPST Power Switch, KCD1_101 (Example: https://a.co/d/0cySrm0A)
  9. 2x Momentary Switch, 6mm (Example: https://a.co/d/062DhDdx)
  10. Metric Socket Head Screws (recommend getting a mixed set, Example: https://a.co/d/0amZqOid)
  11. 4x M2x6mm
  12. 13x M3x12mm
  13. 1x M3x16mm
  14. Super glue for optional decorations
  15. Recommended: toothpicks to help keep the decorations in place while the glue cures
  16. 3.7V, 500mA LiPo battery (Example: https://a.co/d/0et34XWa)

Software Prep

Screenshot 2026-10-02 204720.png

Before beginning the 3D print and build, if not already installed, download and install the Arduino IDE. Go through the setup to get it ready. After that, you will need to install the following:

Libraries

  1. Install via Library Manager
  2. Adafruit_NeoPixel
  3. Adafruit_LIS3DH
  4. Adafruit_Sensor
  5. Install via Sketch --> Include Library --> Add .ZIP library
  6. PSOEffects (.zip file available at the Github link above)

Boards

  1. Install via Boards Manager
  2. Raspberry Pi Pico/RP2040/RP2350 by Earle F. Philhower


Once those libraries and boards are installed, open the propmaker_blaster_v1.ino sketch file. You will be prompted to make a project folder, click OK. Plug in your Adafruit RP2040 Prop-Maker, Arduino *SHOULD* detect it automatically. If not, select Adafruit Feather RP2040 Prop-Maker for the connected device. Hold down the boot button, press the reset button, then release the boot button - this should set your Prop Maker into bootloader mode, ready to accept code. Click upload to verify and push the code to the device. If there are errors, address those as needed.

Print the Files

Grab the files from the Makerworld link above. You will need a printer with a print-bed size of at least 256mm x 256mm. Adjust parameters as needed, but the settings included in the 3MF project file has been tested and known to work. You WILL need supports to print the shells.

Print the shell, trigger, chambers, and decorations in whatever color desired. Print the photon bar and muzzle diffuser in clear transparent filament so the light can show through.

Solder Components While Waiting for Prints

FRYNQBKMULLT9W2.jpg
F0214BEMULLT9WN.jpg
FQD3TMWMULLT9WF.jpg
adafruit_products_frontCroppped.jpg

While your printer is hard at work, solder the wires to the following components:

  1. WS2812B/NeoPixel bar
  2. WS2182B/NeoPixel single LED
  3. 2W 8Ω Speaker (the wires may be a bit short by default)
  4. Power Toggle switch (if yours doesn't have crimped wires to use)
  5. Momentary Switches

Solder wires or terminal blocks into the following spots on the Prop Maker:

  1. D9
  2. D10
  3. EN
  4. 3V3
  5. GND

Special notes

  1. For soldering the NeoPixels, make sure to solder onto the DIN pin in addition to VCC (power) and GND. Make a note of what colors you used for which pin. This will be very important when wiring everything up later
  2. Momentary switches and toggle switch do not have a polarity. The speaker doesn't seem to have a polarity in this application.

Heat Inserts and Photon Bar Neopixel

FWI93VMMULLT9XT.jpg
FFMPLDBMULLT9Y6.jpg
F0BI0ZJMULLT9W8.jpg

Prints are coming off of the printer! Woohoo! Now, we can begin some more assembly.

Grab 14x M3 inserts and 4x M2 inserts. Using your solder press or soldering iron, press those inserts into the bottom shell.

If your photon bar is done, insert the Neopixel bar into it until it hits the internal stop.

Install the Adafruit RP2040 Prop Maker

FRQD49QMULLT9YK.jpg

Using M2x6mm screws, secure the Prop Maker to the bottom shell.

Wire in Lights, Speaker and Switches

F1PB2OWMULLT9YZ.jpg
FX2VNWEMULLT9ZF.jpg
FV1UH1XMULLTA0E.jpg
FIOMFWLMULLTA2O.jpg
FH1TFJUMULLTA0X.jpg
F76LZJVMULLTA22.jpg

Begin placing parts into their locations.

Speaker: Fits into the speaker cavity, connect wires to the "+" and "-" terminals on the PropMaker

Photon Bar: Place into the open insert at the top of the shell. Wire as follows:

  1. DIN from bar to Neo on PropMaker
  2. VCC from bar to VCC on PropMaker
  3. GND from bar to GND on PropMaker

Power Switch: Place in the cavity near the top. Place one wire in the EN port on the PropMaker, and the other wire to GND.

Trigger Button: Place into the upright cavity near the opening for the trigger. Place one wire in the Btn port on the PropMaker, and the other wire to GND

Muzzle LED: Place into the open insert at the front of the shell. Wire as follows:

  1. DIN from bar to D10 on PropMaker
  2. VCC from bar to VCC on PropMaker
  3. GND from bar to GND on PropMaker

Glue the LED in place to prevent it popping out if you ever disassemble the prop.

Mode Button: Place into the square cavity near the speaker. Place one wire in the D9 port on the PropMaker, and the other wire to GND. It is recommended to glue the button into place so it doesn't pop out during use.

Plug in Battery

FKGNE17MULLTA65.jpg
FKPLEIQMULLTPJI.jpg

Place the battery in the model. Connect the battery to the battery port on the Prop Maker


!!! CRITICAL NOTE !!!: Make sure the battery polarity matches the inputs for the PropMaker. If they are installed backwards, you risk damaging the board. Red wire from the battery should go to the pin marked with a "+" (the right pin from the image) and the black wire should go to the pin marked with a '-' (the left pin in the image)


Clamp battery down with the printed battery clamp and 2x M3x12mm screws, or you can secure with another method like tape if it does not fit over your battery.

Install Trigger Mechanism

FFUK5QKMULLTA1H.jpg

Place the trigger in the opening and attach an M3x16mm screw temporarily (do not tighten down all the way, just enough to keep the trigger in place). Insert the pen spring into the cavity near the Trigger button and the hole in the trigger. Exercise the trigger to make sure it feels OK. We'll remove the screw later during final assembly.

Chamber Decorations

FDIY95MMULLTA3Z.jpg
FIQ6YS5MULLTA4O.jpg

It is easier to apply the decorations to the chamber pieces now before they are attached to the main shells. Place small drops of super glue into the recesses for the chambers, then place the decorations into them. Because of the curve, I recommend placing one edge of the decoration in place, then holding for a few minutes with your finger, toothpick, tiny screw driver, etc. Take your time.

Top Shell Decorations

F7AD546MULLTA5E.jpg
FBPKUB7MULLTA7Q.jpg
F4S2LEYMULLTAHC.jpg
FMIPSLRMULLTAF7.jpg
FKDH11YMULLTAIG.jpg

Follow similar steps as step 9, but since the shell sits flat, it is much easier to install the decorations. Small dabs of glue, place the parts in there, and let cure.

Take 4 of the small round inserts, add a dab of glue, and place in the shell. Place a dab of glue in the recesses on the opposite side of the chamber piece, then place on top of the round inserts. Let cure.

Combine the Shells

FFUK5QKMULLTA1H.jpg
FBPKUB7MULLTA7Q.jpg

Install 1x M3x16mm screw to secure the trigger, the remaining screws are M3x12mm.

Note: When installing the M3x16mm, test the trigger mechanism to make sure the screw doesn't bind it.

(Optional) Install Muzzle Diffuser

FRL4250MULLTA9F.jpg
F3PO248MULLTAAB.jpg
FBB5R3XMULLTAB8.jpg

If you printed the muzzle diffuser, install in-between the shells by lining up the square guides and pressing into place. You could glue this to one of the shells, but the tolerance should be tight enough that it is not necessary.