-
3d Printable Lower Case
10/28/2018 at 19:59 • 0 commentsI've designed a lower case for the Beats Shield in Fusion 360 so that one can attach a battery without it flopping around, tethered to the small wires. It needs a couple of changes before it fits perfectly, but it's mostly functional.
It's designed for this battery...
https://www.sparkfun.com/products/13855 -
PCBs are up on Tindie
10/25/2018 at 20:03 • 0 commentsI've just put up a listing for the bare PCBs on Tindie.
https://www.tindie.com/products/1b5e5667/teensy-beats-shield-bare-pcb/
Send me a message if you order one and I can help make sure it goes together smoothly.
-
Pondering Manufacture?
10/22/2018 at 15:50 • 0 commentsI've been getting some requests for PCBs or assembled units. I'm curious what the overall demand is. I know the current BOM cost in small quantities is close to $100. What would you be willing to pay for:
- Bare PCB
- PCB with SMD installed
- Fully assembled without Teensy
- Fully assembled and ready to go
- 3d printed case
If you have thoughts, PM me.
-
Github Outage!?!
10/22/2018 at 02:42 • 0 commentsI'm wrapping up a bunch of changes and improvements tonight for the Hackaday Prize final round deadline, and it looks like Github is having an outage!
https://status.github.com/messages
I think my project is in pretty good shape, but I wanted to add a link to the interactive Kicad BOM. It was in the repository in the hardware directory, but I moved it into a new /docs directory so I could publish it as a github page. That change isn't showing. So if you're looking for the interactive BOM, clone the project and you'll find it in the /docs directory.
-
Hackaday Prize Finalist!!!! and New PCBs ordered
10/19/2018 at 18:28 • 0 commentsI found out on Tuesday that I am 1 of 20 finalists for this round of the Hackaday Prize! I'm super excited to be a part of this! I was already planning to attend Hackaday Superconference, so this will be icing on the cake. I'm looking to do more of this type of work in the future, and the winnings for this round will pay for my trip to an industry-related conference where I can make some good contacts. I need to complete a few more tasks (including this post) to be eligible for the final round. This will include a more detailed BOM with links, gerber files (already added) and assembly instructions.
I have one local friend that will be building a beats shield next week when his parts arrive. I have another person that wants to purchase one. I am currently debating how that will work. I wouldn't say they are easy to assemble, but if you've done reflow surface mount before, they're not that hard.
Last night I ordered new PCBs for v0.9.1. This fixes the power button sensing issue I described in the 9/27 update. I also added a header for a jumper that can be used to bypass the power button circuitry when programming. Currently with v0.9.0 I have to hold the power button down when flashing. New boards should arrive in a week from JLCPCB.
I also re-routed some pins to fully break out the "power good" signal from the battery charger. This allows me to detect when no battery is present, or the device is running from USB, reliably with no software hacks. This does introduce one complication in the code. I'll need some conditional blocks to define the pin mapping. But that's not uncommon.
-
First PCB prototype!
09/27/2018 at 06:26 • 0 commentsI received PCBs today and built the first prototype. Everything went pretty well, except one slight issue that was easily fixed. I hadn't thought through one part of the power control circuitry. In an attempt to clamp a 5v "power on" signal to 3.3v for the Teensy, I did not consider the minimum logic level for the boost converter's enable pin. So the circuit was not turning on. A little simulation and rerouting one node of the circuit with a wire fixed the problem. This could be easily fixed in the first revision of the PCB. I'm using a smaller TFT touch screen that I had on the breadboard. Consequently, I think my touch screen values calibration is way off and needs to be redone. I'm very happy with the way all of the components look together.
-
Working on firmware, Teensy audio library patches.
09/22/2018 at 04:45 • 0 commentsI've worked entirely on the firmware for the last few days, since the boards are on order and I can't make any hardware changes until I test them. I found a limitations of the Teensy audio libraries that hindered progress. So I submitted a few pull requests to the Audio and Teensy core libraries. These allow effects that are connected at compile time to be bypassed at runtime. This will enable a more flexible experience, with things like reverb selectively enabled through the UI. Hopefully the PRs will be accepted at some point.
The latest commits enable the touch screen, and connect the home screen to note selection. This also paves the way for an octave keyboard screen, which currently just displays the keys. I'll be hooking up note generation tonight/tomorrow. Once that's working, song making will get more exciting.
I also had some trouble with the battery charge detection circuitry and code. In my board design, I copied the Adafruit power boost 1000c charger closely. I used the existing status lines to both drive LEDs and signal to the MCU the current charging status. Tonight I found that because I do not check the "power good" signal, and because those status lines are connected to VBUS, I cannot reliably detect when no battery is connected. The solution required a little brain bending. These lines appear to be floating when the battery is not connected. They rapidly fluctuate between high and low. To detect this situation, I added a pin change interrupt on these pins. If the pin changes within a certain threshold (200ms), I increment a counter. If that counter indicates that the pin is fluctuating rapidly more than 3 times, I can deduce that I am in the floating state. When both status lines are floating I display "No Batt". So I now have a voltage reading, a charging reading, and a no batt reading.
-
Components and Firmware
09/19/2018 at 17:19 • 0 commentsI received some super nice components from Mouser today. I usually order from DigiKey because their shipping is cheaper and super fast. But I couldn't find the Bourns encoders I wanted anywhere but Mouser. I picked up the charging, boost converter, and audio codec ICs there as well. Boards will arrive next week.
I've also been working on the firmware and refactoring the quick and dirty code that I've written into a proper, more extensible structure. I'm hoping to abstract the Teensy audio library slightly to make it more flexible. Unfortunately all waveform generators, filters, effects, mixers, and the connections between them must be declared at compile time. I can tweak parameters and mixers at runtime. Hopefully I can pull off some smoke and mirrors to make the user experience less rigid.
-
Sources on GitHub and boards ordered
09/17/2018 at 17:00 • 0 commentsPrototype boards are ordered from JLC and KiCad and Arduino files are up on GitHub! Last night I (hopefully) worked out the last of the issues with pin assignments and routing. Now to put together a DigiKey order.
-
KiCad layout and Teensy 3.6 dev hardware
09/14/2018 at 02:27 • 0 commentsI've assembled 90% of the final circuit using correct pin assignments on breadboards and everything is working. This allowed me to finalize the KiCad layout I've been working on and get some boards ordered soon. I now have battery charging, voltage sensing, and soft power on/off.