Nothing works together!

 

Hook all the hardware on to the backplane and let the library code sort it all out. NOT!

How was I to hold the processor down? It has no mounting holes at all!

Putting everything together..


  1. BulletA screen for choosing songs.

  2. BulletHardware to actually play the songs.

  3. BulletSome sort of mass storage to hold the music.

  4. BulletAn amplifier to drive the speakers.

  5. BulletSpeakers. Well..

  6. BulletEarbuds for now.

  7. BulletA processor to run everything.

  8. BulletA 3D designed and printed case.

  9. BulletFigure out how control SD card.

  10. BulletWrite code for the .mp3 player.

  11. BulletPatch the .mp3 library to start faster.

  12. BulletTry to get some more sleep.

  13. BulletSPI bus that functions correctly.

  14. BulletProcessor mount?

  15. BulletComplete SPI rewrite.

  16. BulletComplete redesign of the Development system.

  17. Bullet3D print finish quality issues.

  18. BulletNeed simple case to demo. problem.


I’d written a c++ framework for running these SPI based screens. TFTs and OLEDs. So that was ready and good to go.


I did my due diligence and got comfortable with the SD file tools I had at hand. (Command processor.) You know you can’t rename a file with an Arduino? This was the point where I made myself stop. I needed to keep going on the Doorbell, and this wasn’t necessary for that.


You also can’t delete some folders that Apple puts on the SD card either. The path name gets longer than available RAM. Again, pass on this one for now.


I’d finally gotten the .mp3 player working well enough to suit me. I’d even hooked up the amplifier I’d bought and tested it with the speakers. Everything was good to go there.


So I started a new sketch with all the bits in it. This was going to be easy.


And nothing worked with anything!


If I fired up the screen I’d loose the SD drive. If I fired up the .mp3 player I’d loose the screen and the SD drive.

I panicked!


I’d went on the Teensy forum and asked if anyone else had seen issues like this where different hardware wouldn’t work with anyone else’s.


I felt like Adafruit let me down. Seems someone had a different, much better, library for OLED screen that solves nonsense like this. I grabbed a copy and wrote the glue code to hook it into my c++ framework. I was able to get it all working. Then I tried it with the other hardware, it didn’t work at all! Crap!


By this time, the guy that makes Teensy’s told me that my stuff was all a hot mess! He couldn’t help unless I set up a simple case showing the problem, ect.


He was totally right.


I stopped, finally. It had been weeks with very little sleep. This was not going to get solved in one mighty blow, I needed to regroup and move forward methodically.


But, why panic?


Why? Because deep down inside, I knew I was just throwing things at the hardware issues and really didn’t have a grip of what it was all about. I was going to have to settle down, lay everything out, learn what I needed.. And do it right. My brain didn’t want to do this. No one’s really ever does. Its a defensive mechanism.


<< Stuff wont work     Version Two >>

When doing boat building we learned. “If its not measured, its wrong.” This is along the same lines as “You can’t just throw stuff at your problems and hope they go away.” You need to learn about them. And then? You need to solve them. Sounds good in theory. But I, like everyone else, will always try first to throw stuff at my problems.  ..and hope.