Connected Cloud Challenge - IoT Gaming Table - Summary
By Brian Childers - April 2020
1. Summary Brief / Intended Audience
The Design Challenges within the element14 community are competitions where engineers from around the globe design prototypes to solve a problem for tomorrow's world. They give you a kit, you build your project and document it for the community. This design challenge submission is intended to reach the entire element14 community at large, from someone new at this site and just getting started, all the way to a seasoned veteran engineer who knows everything there is to know. If you find this Cloud Challenge Submission helpful, please Share, Bookmark, Like, or Comment on the blog posts. Thank you! If you need any clarifications, please comment and I'll be glad to expand / go into detail any questions you may have.
2. About Me / Connected Cloud Challenge Interest
Computers, technology and electronics have always piqued my curiosity, so it should come as no surprise then, that I work in Information Technology for my profession in the med-tech / healthcare sector. I have worked with AWS for the past four years and am Associate-level certified as a Developer, Solutions Architect and Sysops Administrator. Recently I have been exploring Machine Learning / AI / Big Data and IoT with AWS services and submitted an application for this Cloud Connected Challenge with the hope that this would be a good way to stay current and continue expanding my with AWS IoT Core.
3. Connected Cloud Challenge - IoT Gaming Table
The goal of the gaming table is to know where your representation in the game is at all times. This project aims to not only provide a user friendly interface, but enable gamers to know where and what their character is doing in the world that the character is in. Using Dungeons and Dragons as an example, most Dungeon Masters struggle to keep a log of what actually happened during a gaming session. The gaming console / table would enable individuals (DMs) to have a log of the gaming session published to each of the players. As a player in the Dungeons and Dragons world, I struggle often to keep a log of what happened during the game and I often ask my DM questions about the area and information about the story and specific elements of the game. By creating an IoT gaming table, I would not only be able to know what happened during the gaming session, but it would enable for "off-line" gaming sessions (e.g. keep the gaming moving in between the gaming sessions) since the DM and the characters would be able to interact virtually as well as in-person.
High Level Project Plan
- Ways to address being able to game offline will be researched.
- Ways to game interactively using a touch sensitive gaming table will be researched and selected
- The challenge will be to research the parts needed in the project along with sourcing of the parts (e.g. what impact does the corona virus have on procuring electronics).
System Design
- Block Diagram
- PCB Design
- Software Design
- Gaming Table Design
- Power Supply Design
- Mobile App Design
System Concept - The main idea is to have one main display that is touch sensitive and communicate via Bluetooth to supported applications.
This project is a fairly challenging project, but I find the subject matter interesting and look at this to grow my skill set and become more comfortable with IoT development and integration with AWS IoT services. Although the work with getting the electronic components and learning how the hardware may end up working together will be challenging, I am comfortable enough with C++ and device prototyping to ensure the success of the project. The main risks in my eyes is procuring needed electronics and then ensuring that I can solder the pieces correctly together. I am already comfortable with software / application programming, it is the hardware that may be the hardest part of the project.
I expect that either kit would serve my needs for this project, however I would lean toward the CY8CKIT-062-WIFI-BT kit as it provides the ability for me to charge a battery and run this off lithium batteries should such a requirement exist. The core platform can always be extended as new peripherals become available or feasible. This is an exciting design challenge that fits well with my interests in gaming tables/playing games and IoT.
- PSoC 6 WiFI-BT Pioneer Board
- CY8CKIT-028-TFT Display Shield
- USB Type-A to Type-C cable
- Four jumper wires (four inches each)
- Two proximity sensor wires (five inches each)
- Quick Start Guide
[PSoC 6 WiFI-BT Pioneer Board]
5. About the PSoC 6 WiFI-BT Pioneer Board
The PSoC 6 WiFI-BT Pioneer Board uses an Arduino (Arduino UNO R3) form-factor baseboard.
Note: If you are new to working with electronics, the purpose of using a starter board like this one, is that it provides the solutions designer a quick way to prototype solutions without having to go through the trouble of soldering / wiring up the module itself. In addition to the ambient light sensor, user push buttons and other various sensors, you can use the Arduino form-factor shield expansion connector and other ports to quickly wire up additional sensors and inputs. Once the design is complete, you or your organization would then purchase and hard wire / solder the module for your production solution. |
Features:
The PSoC 6 WiFi-BT Pioneer Kit features the PSoC 62 MCU: a single- or dual-core MCU, with an Arm Cortex
-M4 and Arm
Cortex
-M0+, 1MB of Flash, 288KB of SRAM, 102 GPIO, 7 programmable analog blocks, 56 programmable digital blocks, Full-Speed USB, a serial memory interface, a PDM-PCM digital microphone interface, and industry-leading capacitive-sensing with CapSense
.
There is a basic setup document that one can walk through to do initial experimentation with the board without having to setup any electronics or SDKs.
I was able to get it successfully running without any issues.
Since I'm not allowed to embed video, here is the link of running through the WICED WiFi Demo: https://vimeo.com/404197411
For this project, it looks like I will be utilizing the ModusToolbox Software Environment which runs on Windows, Linux and macOS.
Cypress Semiconductor Corporation also provides example code at their GitHub repository, as well as an SDK for working with AWS FreeRTOS.
I have also set up a GitHub repository, where I will be making my code available for public review.
8. Connected Cloud Challenge - IoT Gaming Table - Blog Post 1
Connected Cloud Challenge - IoT Gaming Table - Blog Post 1 - Gameplay
9. Connected Cloud Challenge - IoT Gaming Table - Blog Post 2
Connected Cloud Challenge - IoT Gaming Table - Blog Post 2 - Game Dice
10. Connected Cloud Challenge - IoT Gaming Table - Blog Post 3
Connected Cloud Challenge - IoT Gaming Table - Blog Post 3 - Gaming Platform
11. Connected Cloud Challenge - IoT Gaming Table - Blog Post 4
Connected Cloud Challenge - IoT Gaming Table - Blog Post 4 - Game API
12. Connected Cloud Challenge - IoT Gaming Table - Blog Post 5
Connected Cloud Challenge - IoT Gaming Table - Blog Post 5 - AWS IoT
13. Connected Cloud Challenge - IoT Gaming Table - Blog Post 6
Connected Cloud Challenge - IoT Gaming Table - Blog Post 6 - AWS FreeRTOS
14. Connected Cloud Challenge - IoT Gaming Table - Blog Post 7
Connected Cloud Challenge - IoT Gaming Table - Blog Post 7 - AWS IoT Bootstrapping
15. Connected Cloud Challenge - IoT Gaming Table - Blog Post 8
Connected Cloud Challenge - IoT Gaming Table - Blog Post 8 - PSOC 6 Experiments
16. Connected Cloud Challenge - IoT Gaming Table - Blog Post 9
Connected Cloud Challenge - IoT Gaming Table - Blog Post 9 - Image Classification
17. Connected Cloud Challenge - IoT Gaming Table - Blog Post 10
Connected Cloud Challenge - IoT Gaming Table - Blog Post 10 - Putting It All Together
Coming Soon! Estimated May 15.
pchan - Running the Connected Cloud Challenge and giving opportunities to the community to participate in the contests