A physical debugging tool for your daily code struggles
Need to debug your code? Got stuck? Stack Overflow doesn’t have the answer? Then ask Dialectic Ball!
The Dialectic Ball is a physical, Magic 8-ball inspired, debugging tool for your daily code struggles! Once you are out of ideas, pick up the Dialectic Ball and explain the problem you are facing with all its details. Remember, the Dialectic Ball is a delicate and highly advanced piece of technology, thus the more information you provide it and the more you outline the problem with all its aspects, the better the chance it will be able to assist you.
Once you are done illustrating your coding issue to it, shake Dialectic Ball until the progress bar is filled and wait for the answer! If you do not get a satisfactory answer then try again. Clarify the problem better, think of any crucial details that you might have omitted during the previous run and shake again. Keep on it, until you get a witty response that helps you solve the problem!
The Dialectic Ball is more like a rubber duck than a Magic 8-ball, so do not ask it yes-no questions. That wouldn’t be so dialectic, would it? Of course, you can always easily modify the code and make it answer whatever you wish.
Despite our impressive rubber duck collection at the office, sometimes they fall short on feedback and interaction. In such occasions we often utilize a colleague, but this is admittedly not the most productive use of our colleagues. Dialectic Ball intends to fill this gap, i.e. a rubber duck that is able to provide feedback. As a bonus, shaking it is fun!
Dialectic Ball is comprised of an ATtiny84, connected to a GY-61 module (based on the ADXL335 accelerometer) and an LCD screen like the ones used on the old NOKIA phones! Two AAA batteries are powering the gadget up and a 3D printed case encompasses everything, giving it a hemispherical shape. The PCB that routes everything together was manufactured by JLCPCB, who will make your prototype PCB’s for just 2$ and were kind enough to sponsor the rev. 0
boards.
From a software perspective the microcontroller mainly remains in deep sleep mode, periodically waking up to turn the accelerometer on and read its measurements. If necessary, the screen will also be powered up and the appropriate messages will be displayed to the user. Specifically, the system wakes up when the ball is not facing downwards. Furthermore, the particular LCD screen consumes minimal power, even when displaying graphics, which makes it ideal for low power applications. Overall, the average power consumption of the gadget is around 10μA, enabling it to remain operational for years on those two batteries. Last but not least, the display is controlled via the Nokia LCD library.