Personal Tutor - Magic Card Finder for Display and Drawing!
by oneillgq in Circuits > Gadgets
376 Views, 6 Favorites, 0 Comments
Personal Tutor - Magic Card Finder for Display and Drawing!
As a superfan (or arguably addict) of Magic: The Gathering, I thought there would be nothing cooler than a electronic device that can be any card you want at any time, and that you can draw on!
So with the power of CircuitPython, image processing, API calls, and my own self-made user interface, I brought this dream to reality!
If you want to do the same, follow my instructable below! Alternatively, if you want to make a similar looking gadget, consider using my 3D models or raiding my code for user interface elements!
Supplies
Electronics:
- FeatherS2 Board (headers come with packaging)
- FeatherWing V2
- Mini I2C Gamepad
- I2C Cable 50 mm
- LiPo Battery
- USB to USB-C Cable
Materials:
- M3 Screws 10mm (4x)
- M3 Thread 10mm (4x)
- M2 Screws 8mm (4x)
- M2 Nuts (4x)
Tools:
- 3D Printer (and filament!)
- Soldering Kit (and solder)
- Screwdriver
- Play-Doh (or something similar)
- Hot Glue Gun
- Double-Sided Tape
If you are unfamiliar with screws (like me), here is an amazon link and another that contain what you should be looking for.
Update Code + Settings
One of the really cool features of the FeatherS2 board is that it comes pre-installed with CircuitPython! So all you have to do is connect the board to your computer with the USB-C cable, and upload the code file provided below! Be sure to rename it as "code.py".
You will also need to change "settings.toml". Any text editor will do.
There are two lines in this file, "WIFI_SSID" and "WIFI_PASSWORD."
Change "WIFI_SSID" to the name of the WiFi network you are connecting to and "WIFI_PASSWORD" to its password. If your WiFi network has no password, leave it as an empty string "" like I have above.
Downloads
Solder Board + Attach to FeatherWing
Next, you will have to solder the headers to the board. I highly recommend following this Adafruit tutorial as well as watching this video they published.
After soldering, your board should look something like mine above. I did not do the best job 😅 but it ended up being serviceable, so you can do it!
Then attach the board to the FeatherWing, as shown in the photo above.
3D Print
Using the provided 3D models, print the front and back of the casing! Choose any color you want!
Huge shout out to this tutorial by John Park for providing 3D print files that were hugely helpful in gauging dimensions for my own model!
Screw-In Gamepad
Connect the I2C cable to the game pad.
Then, resting the game pad in the bottom slot of the case front, use the 4 M2 screws as well as its respective nuts to secure it. Thread the cable through the opening.
Notice that the square cut out leaves room for the pins at the bottom!
Screw in FeatherWing + Board
With the FeatherWing and the board attached, place them in the case front as shown in the pictures above. Then, push the M3 screws through the holes. If they are struggling to fit, you can use a screw driver to slowly screw them in.
Attach Threads on Display Screws
Screw the threads on to the back of the screws. Make sure that they are tight, and that they line up with the hexagon slots of the case bottom.
You can also now connect the I2C cable to the board, as shown in the picture.
Play-Doh Threads
Using Play-Doh or some similar material, cover the ends of the threads. We will be hot gluing these threads into the slots of the back, but we don't want to glue the screw in as well!
Hot Glue Threads to Case Back
Now that we have covered the thread ends, it's time to glue!
Dab a decent sized droplet of hot glue into each slot of the case back, then push the the front in.
Let the glue dry, then you should be able to unscrew the top, but with the threads secured into the case back.
NOTE: The first time I did this, I was too conservative with the amount of hot glue I used and the threads ended up too loose. So use a decent amount to fill the slot!
Attach LiPo Battery
Using double-sided tape, tape the battery to the lower-center of the back board.
If the wire is being difficult, bend and massage it until the battery sits comfortably.
Then, plug the LiPo battery into the power port, as shown in the photo above.
Finish!
Screw the top back on, and plug the USB-C in to charge. Yet another cool feature of this board is that it has LiPo battery management, and will divert the USB-C power to charge your LiPo!
To learn all the functionality of Personal Tutor, watch the video at the top for a quick walk-through!
Common Issues
I CAN'T SEE MY BOARD ON MY COMPUTER!
Two possibilities, either the USB-C cable you are using is only for power and does not support a data connection. You need one with a data connection.
Another possibility is that you skipped ahead and plugged in the board to the FeatherWing before changing the files. That's fine, but make sure the ENABLE is turned on, as that also influences the board!
MY BOARD IS ONLY SHOWING A BLACK SCREEN
It is most likely that the ENABLE switch (located on the FeatherWing) is turned OFF. If it is not, make sure the circuit board is lit up. If it is not, it is likely your USB-C cable isn't working correctly. Lastly, there is a chance you have a defective board, but I hope this is not the case!
MY BOARD IS ONLY SHOWING A WHITE SCREEN:
There are a couple reasons why this could be happening:
- Your I2C cable is not properly attached.
- Your WiFi settings are not properly setup.
- Your soldering is not sufficient.
I would check each of these in the order I have provided, and be sure to turn off and on the ENABLE after making the first two changes.
MY BOARD SAYS "FAILED TO CONNECTED TO WIFI":
Pretty simple, you have your WiFi network and/or password incorrectly set. Update them, then turn the ENABLE off and on again.
MY BOARD IS STUCK IN THE TERMINAL:
If you somehow got stuck in the terminal, just turn the ENABLE off then on again.
MY BOARD HAS STREAKS OF WEIRD COLORS:
Not to fret! This is most likely because your LiPo battery doesn't have enough energy yet. Just leave it charging for a while with the ENABLE turned off, then try again!
I really hope you enjoy this build as much as I did, and please, leave a comment if you have any tips/suggestions!