1
0
mirror of https://github.com/whowechina/aic_pico.git synced 2025-02-17 19:09:24 +01:00
aic_pico/README.md

178 lines
8.1 KiB
Markdown
Raw Normal View History

2023-11-18 13:34:15 +08:00
# AIC Pico and AIC Key
**Amusement IC Card Reader, AIME & Cardio Emulator**
2023-11-11 20:37:08 +08:00
<img src="doc/main.jpg" width="80%">
Features:
* It's small, smallest as far as I know.
2023-11-18 21:36:36 +08:00
* Many variants
* AIC Pico
* AIC Key PN532
* AIC Key PN5180 (see notes 1 below)
* AIC Pico Lib (see notes 2 below)
2023-11-11 20:37:08 +08:00
* Easy to make.
* Sega AIME I/O and Spicetools CardIO emulation.
2023-11-18 13:34:15 +08:00
* Command line for configurations.
2023-11-11 20:37:08 +08:00
* Supported card:
2023-11-11 22:18:56 +08:00
* Felica (Amusement IC)
* ISO/IEC 14443 Type A (BanaPassport, Mifare, Amiibo, some IC tags, some ID tags, etc.)
2023-11-11 20:37:08 +08:00
* To be updated.
* Emulates virtual AIC from any Mifare cards.
* All source files open.
2023-11-12 11:17:54 +08:00
Notes:
2023-11-18 13:34:15 +08:00
1. Be patient, I'm working on PN5180 firmware. It may take quite a while.
2023-11-18 21:36:36 +08:00
2. So one can integrate "AIC Pico" into a Raspberry Pi Pico based controller. Will be ready when I finish AIC Key. Example here:
<img src="doc/aic_pico_lib.jpg" width="25%">
2023-11-11 20:37:08 +08:00
2023-11-11 20:42:41 +08:00
Thanks to many respectful guys/companies who made their tools or materials free or open source (KiCad, OnShape, InkScape, Fritzing, Raspberry things), ChatGPT and GitHub Copilot helped a lot as well.
2023-11-11 20:37:08 +08:00
And thanks to community developers that inspired me and helped me: CrazyRedMachine (https://github.com/CrazyRedMachine) for the Spicetools Card IO part, Sucareto's AIME Reader (https://github.com/Sucareto/Arduino-Aime-Reader) for the AIME protocol part.
## Notes
Check out my other cool projects, they're all great, I promise.
https://github.com/whowechina/
This project:
* Heavily depends on 3D printing, a Bambu AMS system helps a lot.
* Requires skills to solder tiny components and wires.
## **Disclaimer** ##
I made this project in my personal time with no financial benefit or sponsorship. I will continue to improve the project. I have done my best to ensure that everything is accurate and functional, there's always a chance that mistakes may occur. I cannot be held responsible for any loss of your time or money that may result from using this open source project. Thank you for your understanding.
## About the License
It's CC-NC. So DIY for yourself and for your friend, don't make money from it.
2023-11-18 13:34:15 +08:00
## BUILDING "AIC Pico"
2023-11-11 20:37:08 +08:00
Seriously, this is the easiest one among all my Pico series projects.
### Components
2023-11-11 20:42:41 +08:00
* 1x Rasberry Pi Pico or Pico W (clones work too).
2023-11-11 20:37:08 +08:00
https://www.raspberrypi.com/products/raspberry-pi-pico
* 1x PN532 Module (the Red Square board version, cheap clones work too).
https://www.elechouse.com/product/pn532-nfc-rfid-module-v4/
* Some thin wires.
* Thin WS2812B LED strip.
* 4x M2*8mm screws.
### 3D Prints
* **aic_pico_bottom.stl**
The bottom part.
For the top part, choose one that fits your need.
* **aic_pico_top.stl**
Regular top part.
* **aic_pico_top_ams.3mf**
Regular top part, for multi-color printing.
* **aic_pico_top_tall.stl**
Taller top part, so a thicker LED strip can fit.
* **aic_pico_top_tall_ams.3mf**
Taller top part, for multi-color printing.
2023-11-11 20:42:41 +08:00
### Assembly
2023-11-11 20:37:08 +08:00
I'll let these images do the talk.
2023-11-18 13:39:29 +08:00
<img src="doc/pico_wiring.png" width="80%">
2023-11-18 13:40:31 +08:00
<img src="doc/pico_assemble_1.jpg" width="40%">
<img src="doc/pico_assemble_2.jpg" width="40%">
<img src="doc/pico_assemble_3.jpg" width="40%">
<img src="doc/pico_assemble_4.jpg" width="40%">
2023-11-11 20:37:08 +08:00
#### Notes
* The firmware supports up to 16 LEDs on the WS2812B LED strip. I personally used 3 as shown in main title image. But you can experiment with different LED numbers, as long as they fit within the housing.
2023-11-12 19:03:33 +08:00
* LED might be excessively bright even at low settings, consider covering it with some filter tape.
* The mode switch on PN532 must be in "I2C" mode, picture below shows the correct settings.
<img src="doc/pn532_i2c.jpg" width="40%">
2023-11-12 11:17:54 +08:00
2023-11-18 13:34:15 +08:00
## BUILDING "AIC Key"
AIC Key is a variation of the AIC Pico - a keypad is integrated. Much more difficult to build than the "AIC Pico" as it has many tiny components to solder.
### Components
* 1x Rasberry Pi Pico or Pico W (clones work too).
https://www.raspberrypi.com/products/raspberry-pi-pico
* For NFC modules, you have 2 options:
* 1x PN532 Module (the red square board version, cheap clones work too).
https://www.elechouse.com/product/pn532-nfc-rfid-module-v4/
* 1x PN5180 Module (the blue rectangle version, cheap clones work too). PN5180 supports ISO/IEC 15693 (old e-amusement cards).
<img src="doc/pn5180.jpg" width="50%">
* For LEDs, you also have 2 options:
2023-11-18 13:49:12 +08:00
* Option 1: 6x side-light WS2812B 1204 LEDs (D1 to D6) and a 10ohm 0603 resistor (R1), GREEN mark in the assemble image.
* Option 2: 6x regular single-color 0603 LEDs (D7 to D12) and 6x 100ohm 0603 resistors (R2 to R7), PURPLE mark in the assemble image.
2023-11-18 13:34:15 +08:00
2023-11-18 21:36:36 +08:00
* For switches, you still have 2 option:
* Option 1: 12x ALPS SKRRAAE010 low-profile TACT switch.
https://www.mouser.com/ProductDetail/Alps-Alpine/SKRRAAE010?qs=m0BA540hBPeKhAe3239t1w%3D%3D
* Option 2: 12x Panasonic EVQP1K05M 6mm square tactile switch.
https://www3.panasonic.biz/ac/e/dl/catalog/index.jsp?series_cd=3473&part_no=EVQP1K05M
2023-11-18 13:34:15 +08:00
* 1x Right angle 2.54mm pitch header, 4P for PN532, 13P for PN5180.
<img src="doc/right_angle_header.jpg" width="20%">
* 1x Stickers of numbers. You can find some customize sticker service, or you can find some existing stickers. I found this Bonito crystal 3D stickers super helpful for this project.
<img src="doc/bonito_stickers.png" width="50%">
<img src="doc/bonito_action.jpg" width="50%">
2023-11-18 13:49:12 +08:00
* PCB, just visit JLCPCB (https://jlcpcb.com/) and place an order there. Leave everything default, 1.6mm thickness, whatever color you like. PCB gerber files are in "Production/PCB" folder. For PN532 version, use "aic_key_pn532_v*.zip", for PN5180 version, use "aic_key_pn5180_v*.zip".
<img src="doc/pcbs.jpg" width="60%">
2023-11-18 13:34:15 +08:00
### 3D Prints
* **aic_key_bottom.stl**
The bottom part.
* **aic_key_top.stl**
Top part.
* **aic_key_top_ams.3mf**
Same top part, but for multi-color printing.
2023-11-18 21:36:36 +08:00
* **aic_key_top_tall.stl**
Top part for panasonic switches.
* **aic_key_top_tall_ams.3mf**
Top part for panasonic switches, for multi-color printing.
2023-11-18 13:34:15 +08:00
### Assembly
Again I'll let these images do the talk. Remember to upload the firmware onto Raspberry Pi Pico before assemble.
#### General Part
2023-11-18 21:36:36 +08:00
<img src="doc/key_assemble_1a.jpg" width="30%">
<img src="doc/key_assemble_1b.jpg" width="30%">
<img src="doc/key_assemble_2.jpg" width="30%">
2023-11-18 13:34:15 +08:00
#### PN532 Version
Remember set to I2C mode first.
<img src="doc/pn532_i2c.jpg" width="40%">
<img src="doc/key_assemble_3.jpg" width="80%">
<img src="doc/key_assemble_4.jpg" width="40%">
<img src="doc/key_assemble_5.jpg" width="40%">
#### PN5180 Version
You need to cut off the original antenna and use the one in our PCB.
<img src="doc/key_assemble_6.jpg" width="40%">
<img src="doc/key_assemble_7.jpg" width="40%">
<img src="doc/key_assemble_8.jpg" width="40%">
<img src="doc/key_assemble_9.jpg" width="40%">
#### Final Assembly
You may use some instant adhesive to fix stickers.
<img src="doc/key_assemble_10.jpg" width="46%">
<img src="doc/pico_assemble_4.jpg" width="40%">
## Firmware
2023-11-11 20:37:08 +08:00
* UF2 file is in `Production\Firmware` folder.
2023-11-11 20:46:26 +08:00
* For the new build, hold the BOOTSEL button while connect the USB to a PC, there will be a disk named "RPI-RP2" showed up. Drag the UF2 firmware binary file into it. That's it.
2023-11-11 22:23:49 +08:00
* It has a command line to do configuration. You can use this Web Serial Terminal to connect to the main USB serial port of the board. (Note: "?" is for help)
2023-11-11 20:46:26 +08:00
https://googlechromelabs.github.io/serial-terminal/
2023-11-11 22:23:49 +08:00
* You can use "update" command in command line to update the firmware in the future, so you don't need to open the housing.
2023-11-11 20:37:08 +08:00
* Spicetools cardio (Card I/O) HID is supported;
* SEGA AIME protocol is supported on a second serial port.
2023-11-12 11:17:54 +08:00
* Some command line commands:
2023-11-18 13:34:15 +08:00
* "light \<rgb|led|both|off\>" to turn on or off the LEDs.
* "level <0..255> <0..255>" to adjust the brightness.
2023-11-12 11:17:54 +08:00
* "nfc" manually to detect cards.
* "update" reboot into firmware update mode.
* Given my limited hobby time, the firmware may not be fully tested. Please report any anomalies.
2023-11-11 20:37:08 +08:00
2023-11-18 22:32:47 +08:00
## 3D Model Source File (Onshape)
https://cad.onshape.com/documents/ca5497f91b2962105335e822/w/7b88022e98c02c60ad0c44a7/e/c3476efd13c08f807f3773fe?configuration=List_6ARRO0azcgmmHg%3D__&renderMode=1&rightPanel=configPanel&uiState=6558cabf9b380560ca5b554e