Konekt Dash Cellular Development Kit: Hardware Update
It’s been a really exciting few weeks on top of it being an exciting year. When Ben asked me to make an open hardware design to put cellular into the hands of everyone, I jumped at the chance. Hardware is hard and mired with costly pitfalls, and I really enjoy helping bring the same ease of re-use from the software world to the hardware world.
One of the interesting challenges of designing hardware for a crowdfunded project is that depending on the number of backers, you can have significantly different costs for production. Luckily we have a great network of manufacturers that we’ve been working with. We’re getting close to knowing what volumes make sense and are close to selecting a contract manufacturer for the volume run. As soon as the Konekt Dash Cellular Development Kit Kickstarter is done we will be putting in orders for all the long lead-time parts and ordering stock for a pilot / beta run.
I’m currently working on developing tests for manufacturing. I’m prototyping with a test fixture from Merifix. This allows us to verify that every chip is installed correctly and is functioning. Once a product reaches high volume, you can start using quick, basic tests. In the first ramp-up, however you have to test everything on every board, otherwise you will have some very unhappy users. When you manufacture a product, you’re actually designing two products, the Dash itself, and the test hardware / software.
The test fixture will measure supply voltages, supply currents, communicate with all the peripherals, test the cellular connection, and load the newest firmware. It also has to be able to help troubleshoot manufacturing errors, otherwise a handful of bad boards would grind production to a halt.
Another thing the test fixture helps is speeding up the ease-of-use improvements. I remember the first time I used Arduino, I was amazed at how easy it was to get a microcontroller to do basic functions. I also remember the twentieth time I tried to use an Arduino and downloaded drivers for a peripheral and struggled to figure out what I was doing wrong. By using the Dash to talk to peripherals, we can see where it’s difficult for a stock install of Arduino to use new devices, and how to make the experience easy for you.
The final thing that the test fixture is helping me with is debugging. It already helped me realize that I swapped SCL and SDA between our microcontrollers (slaps forehead), and it’s currently helping me debug the connection to the battery monitor. It’s a device I’ve used before with no problem, so it was a little befuddling. By having clearly exposed test pads, I can probe the I2C signal from the board itself, in addition to the dev headers. This way, I don’t have to move connections when I test different boards.I was able to use a logic analyzer to see that the I2C communication was correct, but the chip wasn’t responding. We’ve ordered a dev-kit for the chip and will be using it to monitor healthy traffic to see if there is something subtle that we’re doing wrong. We’re really looking forward to releasing the hardware files and want to make sure that all bugs are known and either solved or documented before the files go up. If it were software, it wouldn’t be an issue, but since hardware projects cost money to develop, we don’t want you to pay to manufacture a mistake.
The last part of the update is that we’re trying our hardest to make the bootloader so that bricking the device is hard, and we’re trying to find ways to brick the device for testing.