Foamyguy - Circuit Python 2020
I dipped my toes into the community about a year ago when I created the Android CircuitPython Editor and wrote the learn guide(my 1st!) for it. Admittedly, looking back it's something I wish I could've spent more time in 2019 on, but alas real life and work took up a bit more of my time.
One of the things that kept me busy was a project for work. We built an IO input board using a Trinket M0 as the brain. It takes trigger signals from a reed switch and sends them into an Android device that is playing video content on a nearby display. The trigger signals are ultimately used to play different content on the screen. We deployed around 200 of these in stores across the US. It was the first time we have deployed any custom hardware (albeit relatively basic!). The existence of the Micropython and CircuitPython ecosystems were a huge help in allowing us to do something like that with such limited formal training, not to mention as quick as we did. Looking forward to 2020, we are now developing another custom hardware solution, this one using an Itsy Bitsy M4 as the brain. This one will also hook up to an Android device playing content on a display, but in addition to listening for trigger signals, it will also control several different strips of LEDs with PWM outputs to fade up/down for highlighting products individually as it's video plays, or when triggered by the reed switch. First ones are supposed to ship in January, the first few purple boards just arrived the just the other day.
Later in 2019 work and life slowed down a bit and I was able to dive back in a bit for some CircuitPython fun. I attended the Hackaday Superconference in November and since then have spent many an evening and weekend building some basic games on the Edge Badge that was given out there. (Thank you!). I learned a ton about displayio in the process. Perhaps in 2020 I can work on expanding the documentation around these games and maybe even work on some learn guides about making games with Circuit Python.
2019 also marked my wife Kristina designing and ordering, and building her first custom PCB. Which naturally uses a Trinket M0 as it's brain. She's already got a second one completed as well, and I'm sure 2020 will bring many more.
I saw the preview video of the Bluefruit Playground iOS app when it was released in December and immediately thought it looked cool. I noticed no mention of Android, and filed it away in my brain as something to look into a bit more to see if I could help with "some day". Santa brought me a CPB device and I had a bit of time off of work so armed with everything I needed "some day" became "today", and I dove in. I have never messed with Bluetooth Gatt services before or much else with BLE really. It took a bit to get the quirks of the communication worked out, but once that was done I was able to build out most the modules pretty quickly because I've got a lot of prior experience making things with Android. The 3D model rendering for the Accelerometer module was new territory for me though and a fun challenge.
In 2020 I am looking to get more involved in Circuit Python. I have a few ideas floating around for enhancements to the Bluefruit Playground app. I'm also thinking about the possibility of re-using much of the front end interface and make a back end service that can communicate with the CPX over USB rather than CPB over bluetooth. It should be possible to do very similar demo's of the CPX from an app. Beyond Android, I'd also like to get involved in the core project and/or libraries. I'm not so good with C yet, but I'll be looking to help out on the Python side of things where I can.
I teach continuing education programming courses at a local community college. I am working on getting a microcontrollers introduction course offered using the CPX in 2020.
In no particular order here are some of the personal projects that I have in mind to hopefully work on in 2020:
- Embedding a TFT Feather wing into a "retro" hand-held Oregon trail game.
- Documenting and posting online the CPX embedded into a bop-it game that I made previously but never got around to sharing.
- Making more video games for Circuit Python. Hopefully getting good enough documentation around them that they can be good learning material.
- Documenting and posting online the Metro M4 + 16x2 LCD Macro device I made previously but never got around to sharing.
- CPX "Playground" app similar to the Bluefruit one but using USB connection and a CPX instead of bluetooth and CPB
One wish I have for 2020 is expanding Circuit Python examples, and sample projects. I run across projects and guides sometimes that have sample code for Arduino and/or Make code that would be possible with Circuit Python but don't yet have the sample code published. I would love to see Circuit Python samples filled in wherever possible.