For 1000 subscribers I made this open source Arduino Play Button. Mine displays the name of my YouTube Channel and also gives a live feed of the sub count. You can make your own!
Step 1: Watch the Video!
Step 2: Gather the Parts/tools.
The board files are located here: https://github.com/IdleHandsProject/youtubeplaybut...
My boards came from PCBway.com, you can choose your favorite supplier. (Or you can win one from me! - See last step)
The BOM is also located in the GitHub as well.
Things not in BOM:
- ESP8266 - AliExpress
- Regular Temp Solder Paste
- Low Temp Solder Paste (Bismuth)
- Frame (if you want to frame it)
- Cheap Toaster Oven
- Soldering Iron
Step 3: Apply Solder Paste to "Back" and Add Components.
Apply the Regular temp solder paste to the side with the microcontroller and components. This is the side without the "Play" button.
Step 4: Reflow in Cheapest Toaster Oven Available.
You really don't need high quality tools to do this when its low or single quantity.
Step 5: Fix Any Bridges and Improperly Soldered Parts.
Unfortunately applying solder paste often leaves a lot of bridges on lead components. Easy to fix though.
Step 6: Program the Board.
This is an important step, and a good time to do it. You'll want to make sure all your connections are good, and that the board responds to the bootloader. Especially before you populate 144 LEDs on the front.
I use an Atmel ICE and Atmel Studio 7 to put the bootloader on. I use the Sparkfun SAMD21 Arduino Bootloader. You can get this file by installing the Sparkfun boards on your Arduino IDE. Check out sparkfuns instructions for that: https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide
Connect your Atmel ICE:
Open Atmel Studio
Go to Tools > Device Programming
Find the Sparkfun Bootloader file. Mine was located in AppData/Local/Arduino15/packages/Sparkfun/hardware/samd/1.2.0/bootloaders/zero :
Hopefully it works!
Step 7: Apply Low Temp Solder to "Front" Install Components.
This is where the Bismuth solder comes into play. Its great stuff and works really well.
Have fun and take your time with the LEDs, I ended up installing two the wrong way and it gave me a bit of confusion.
Step 8: ReFlow 2
The idea is that you want to be able to reflow the top without the bottom components coming off of the board. This time I set my reflow oven to around 170C(350F) and watched the board carefully.
Step 9: Admire Your Work.
You've come so far!
Step 10: Stick It in a Frame.
It wouldn't be complete without a frame. You should be able to figure this out on your own.
This is an Ikea frame. I don't remember the dimensions. Its actually held on with a pair of magnets just double sided taped onto the board and the frame. This allows me to remove it if I want to. I had a cut a hole in the frame to let the ESP8266 through. I will make a version that will allow the surface mount ESP8266 in the future. Someone is also welcome to fork the GitHub.
Step 11: Program It and Display.
I tend to just program things as quickly as possible until it works. That usually means I'm left with a pretty messy program. I have posted my program for you to look over, and it should help you get started. It uses the Adafruit lcd library and AT commands for the ESP8266.
The firmware is also located in the GitHub page.
This is how it works:
The Arduino will tell the ESP8266 to become a Server but you can also connect to your home network by entering those details in the program.
Once its connected to your home network, find the IP address of the ESP. The way you can display things is by going into a browser and navigating to http://ESP_IP_Address/DisplayToScreen. Replace ESP_IP_Address with the local address of the ESP, ex. 192.168.1.100. and replace DisplayToScreen, with whatever you want to write on the LED Matrix.
For this example I would have gone to my browser on my computer or phone and typed in http://192.168.1.100/HaD
Step 12: Hang It on a Wall or Put It on a Shelf.
Admire your new Wifi connected Arduino Play Button!
Step 13: Want to Win One?
I have an excess of circuit boards and will be giving away a completed version as well as some bare boards. Keep an eye out for on my Twitter. Patreon people will have more access to my leftover boards and things from projects. If you want to help me out with me next project consider becoming a Patron!