Close

Putting Everything Together

A project log for Sonic Screwdriver

Yes, it has some acoustics. No, it isn't a screwdriver.

tuesdayswithmerlinTuesdaysWithMerlin 05/12/2021 at 22:210 Comments

Putting Everything Together

Modules finally arrived and I got to testing and connecting. I realized that life would be much easier if I used a smaller microcontroller (with as it came with some perks e.g. lipo charger and connector head), so I order the TinyZero and the accompanying perf board.

While I waited, I tested each module separately. I made sure the firmware could communicate with each module. It took the better part of a day to cut, trim, solder, connect and test each wired connection to the perf board, and I am loathed to say the interior looks like a mess, but that's a problem for another day.  So far, that's been main con of not designing a single PCB to hold everything.

Issue 1: After all the pre-testing I did, things just weren't talking on the I2C bus. The initial system check showed only one failure, but things cascaded from there. I had to open things back up, and check each connection. I realized the issue was the LiPo fuel gauge, which was fine when I tested it earlier, but was damaged at some point between. Unfortunately, this means I'll likely have to power the SS by USB while I test functions, which isn't ideal, but ok I guess.

Issue 2: The main GUI seemed to spit garbage on the screen, whenever I initiated a module. I couldn't for the life of me figure out why, because the function that plots on the screen has no connection to the initiation modules. 

Issue 3: Another issue I encountered was writing data to flash memory. When testing the code on the Arduino Micro / Uno platforms, used this method to save space, by storing some of the bitmaps into flash memory. For some reason, doing the same on the TinyZero caused the code to hang, whenever I was retrieving the data. I removed the code that stored data in flash, and the issue with the GUI magically disappeared. No clue how or why. 

Modules on the way: Wifi (here but needs to be connected), RGB leds (because what's the SS without colorful lights)
Modules to be included: (New) Battery Gauge, Battery, Mic, Speaker (because what's the SS without whirring sounds)

Now that (almost) everything is hooked up. I can start programming in some functions.

PS: I also accidentally broke the IR Thermometer, so I'll need to replace it eventually. 

Discussions