GUI-less Development with the Tomu

GUI-less Development with the Tomu

5 years ago
Anonymous $syBn1NGQOq

https://blog.hackster.io/gui-less-development-with-the-tomu-5f3b77314c74

To the detriment of my bank account at times, I find myself browsing through Crowd Supply on a regular basis just to see what’s new. A while back, I came across the Tomu, a teeny little Arm development board made to hide in a USB port. Of course I had to have it and backed the project immediately, and it’s been a fun little board to develop with. I’ve found Tomu to be a super handy little IO extension for my laptop with the capacitive touch buttons it has just barely hanging out of the USB port. The community this little board has created is great so there is a ton of available software for these little guys, including a ‘quick-start’ repo on GitHub. While you can find plenty of well-deserved praise for this great little dev board, there is one aspect to it that I think is under-appreciated: the fact that it’s a GUI-less development platform. The Tomu is a great entry-level dev board for those that are new to the GUI-less way of life. With only 12 parts on it’s bill of materials, and it’s IO consisting of two LEDs and two capacitive touch buttons, it offers a wide range of potential projects without being too overwhelming. It’s also just endlessly entertaining to me to have a dev board that I can hide in a USB port…

GUI-less development is definitely something you’ll come across if you have an interest in embedded development as a professional job, and it’s important to understand the development process of what your GUI is doing behind the scenes for all sorts of troubleshooting purposes. For example: Xilinx’s Vivado is a great IDE, but as I’ve upgraded from version to version I’ve found various weird glitches where a button in the GUI to synthesize a certain block or generate an output product just wasn’t executing quite right in the background. Luckily, Vivado has its console available at all times in the GUI that allow a user to run individual TCL commands at any time instead fully relying on button clicks. I’ve also found that foregoing the GUI and developing from the command line makes committing to my repositories a bit easier and cleaner. The temporary project files many GUIs create every time a project is even opened make it messy and seem to constantly keep me out of sync and just create more work for me to make sure they aren’t included in my commits.