Hey everyone, Ryan here.
First off, I hope everyone had a nice holiday season! Here at Arsenal we’ve been working hard to ensure we stay on track for June’s launch, and today I wanted to provide an update on our progress (spoiler: good news).
Over the last handful of weeks we’ve been focused on finishing our regulatory approvals, ordering components for Arsenal 2, finalizing designs with our contract manufacturer, continuing to improve Arsenal 2’s software, and a whole lot of testing. The joke around our (partially virtual) office is that I don’t take days off, I just take testing days. And, well, guilty as charged; I actually really enjoy them (more on that below).
So let’s jump into some updates.
Developing and manufacturing a product during a pandemic isn’t the best timing, and we’ve certainly felt that behind the scenes. COVID has presented challenges, some expected and others not, but we’ve been working around them well so far. To that end, our schedule looks good and we remain on track to ship in June 2021!
The biggest challenge right now is the logistics of getting into China so we can oversee the Arsenal 2 Pro pilot run. Phillip (our electrical engineer) and I will need to be there to approve final plastics, review the pilot units, and solve issues that I’m sure will come up during production.
Travel restrictions are currently in place and require a 14-day quarantine at a hotel in China, which we can work around and is accounted for in the schedule. Additional restrictions on foreign travelers have the potential to impact our schedule and are something we’re monitoring closely. (We’ve joked that 14 days locked in a hotel room is basically the plot of The Shining.)
As a reminder, here’s the timeline we posted during the campaign:
As I mentioned last time, the first step in the manufacturing process is to complete a pair of pilot runs for Arsenal 2 Standard and Arsenal 2 Pro. While we wait for components to arrive for the pilot runs, we’re working to ensure the manufacturing process is successful and Arsenal 2 meets all of our quality standards. That includes a bunch of back and forth with our electrical/mechanical engineer, an outside design firm, and our contract manufacturer.
Since our last update we have finalized the manufacturing process for Arsenal 2 Standard (this was really challenging given the travel restrictions, but thanks to Phillip our engineer and our contract manufacturer for persevering). Arsenal 2 Pro’s PCBA has been finalized, and we’re close to finalizing the tooling and process for the plastic enclosure. Then, in March we will complete the Pilot Runs for both versions of Arsenal 2, which will allow us to review the manufactured product and assembly data for approval.
In keeping with our schedule, in late November/early December we placed an order for all of the components necessary to build Arsenal 2 Standard and Arsenal 2 Pro. The lead-time on these components is typically 3 months, and we expect to have most of them by the end of February. It may seem like a small step, but once you order the parts you own them so you have to know the PCBA design and parts are finalized. We’re excited to have passed this milestone.
Also, there’s 444 components on the Arsenal 2 bill of materials (the list of individual parts needed to build an Arsenal 2; most of which are the parts on the printed circuit board inside the Arsenal 2 enclosure). And we had 21,339 Kickstarter backers. So to fulfill the Kickstarter rewards, we had to order over 9.4 million components! Thankfully, we have a great contract manufacturer partner that helps us with this process.
Arsenal 2 in Extreme Weather
Using Arsenal 2 in very cold environments presents some challenges. As we’re based in Montana, we’re very aware of the limitations on electronics in cold conditions. To that end we implemented some interesting measures that change Arsenal 2’s behavior to help regulate its temperature and power usage in extreme conditions. Okay, it’s interesting to Phillip and I and maybe some others, so feel free to skip this if not interested in the technical details.
Arsenal 2's processor is a lot more powerful than Arsenal 1’s, which results in pulling a lot more current from the battery during the boot process. Under normal conditions, this isn't a problem, but when the battery is cold (like on a January morning in Montana), the battery simply can't supply the inrush current required to boot (we'll spare you the chemistry details).
This is one of many reasons we included several temperature sensors on Arsenal 2. To solve this problem, we use the output from one of these sensors (which is constantly monitoring the temperature, even when Arsenal 2 is Off) to control the maximum CPU clock speed during the boot process. For example, if it's less than 10°F (-12°C) when you turn Arsenal 2 On, the electronics will automatically limit the maximum CPU clock speed to a lower value during the boot process, minimizing the inrush current required to boot. After Arsenal 2 is booted and "warmed up" it will automatically unlock the higher CPU clock speeds.
We're also using these temperature sensors to control the battery charge current when a power adaptor is attached to Arsenal 2. If the battery's temperature is too cold or too warm, the electronics will automatically stop charging the battery until the temperature is back within an acceptable temperature range. We do this to reduce stress on the battery and prolong its life.
We’ve done a bunch of work on the software that controls these sensors and completed our bench testing this week. We’re now on to some field testing outside during the Montana winter.
We received the “first trial shot” plastic for the Phone and Arsenal Mount accessory. It looks really good and we’re quite happy with the functionality and durability. We are making some minor dimensional adjustments and shooting another batch before adding texture and doing our final tests.
For the USB Powerbank, we submitted the final design artwork, packaging schematics, and user manual to the manufacturer. They’ll be starting a pilot run soon!
Arsenal 2 Standard has received official approvals from all of the necessary regulatory bodies, including the FCC, IC, and ACMA! This was expected given how we performed in testing, but it’s nice to cross that off the list early. Arsenal 2 Pro is similarly going through testing now and will be submitted for approval shortly.
The software team and I have been making some big changes to the codebase. Since we wrapped up our QA rig work for the pilot run, we’ve been doing a lot of performance work and quality of life improvements. Here’s a few of the larger changes.
While Arsenal 2 connects over WiFi (because the speed is much faster than bluetooth), we made it so Arsenal 2’s that aren’t connected to a phone will send out a bluetooth beacon to help with discovery. If you do have bluetooth enabled, you can see all Arsenal 2’s around you, along with status information like device name, charge percentage, and name of the connected camera.
I might have mentioned this before, but we’ve been making some changes to the way our stackers work. I’m working on moving stack processing to happen in tiles. This increases data locality, which improves performance. It also means that other things in RAM don’t need to get paged out of RAM back to disk, again improving performance.
WiFi Driver Work
We changed our WiFi chip vendor for Arsenal 2. The new chip is much faster, but as with Arsenal 1, needed some work on the WiFi drivers to get everything working well. There’s a lot of configuration work that needs to happen, and some driver bugs we’ve worked through.
New LED animations/library
Ok, not the most exciting thing, but Ben wrote a new library to manage animations on the LED bar and button (on A2 Standard). I’ve wanted to add more feedback for various things for a while, but the previous way we did animations required a lot of hand coding for animations. We can now generate animations in After Effects and control them programmatically.
With the new library, we added/improved animations for:
- The charge status if you hold the power button down - Firmware update progress - Better handheld mode animations
We also have some other status animations planned once we get more time.
DeepColor and Exposure Models
The way we train models has always been a bit ad-hoc and keeping track of changes and versions for field testing wasn’t the best. I streamlined the training and versioning process and made it much simpler to get new models into production. I’ve also added some self attention layers into our DeepColor model, which improves results in a lot of cases. Lastly, I swapped out our machine learning model inference engine for one that runs faster and uses a lot less RAM.
New Smart Mode models
The new hardware and inference engine lets us run larger Smart Mode models. We also made some changes to speed up the inference time and lower the power consumption when on the Smart Mode screen.
We’re running new code to detect vibrations. By combining data from the gryo and accelerometer, we’ve increased the accuracy around shutter time estimations. There’s also more accuracy around detecting if the camera is on a tripod.
In addition to the above, we’ve got some larger parts of the code we’re working on that I’ll chat about when they wrap up.
One mistake we made with Arsenal 1 was not doing enough field testing. Things that work in the office often don’t once you get it out in the field. So last week part of the team and I did a quick trip to test the latest builds. While I did end up with a short bug list, overall things went really well. We were also fortunate to catch some great light while we were out (see photos below.)
The performance and quality of life improvements really add up to an improved user experience. The larger Smart Mode models performed great in most cases. I’ll be making some adjustments and retesting on where it struggled, but overall a big improvement over Arsenal 1.
We’ve got early samples in for A2 packaging and the phone mount in recently. Still some adjustments to be made, and some of the seams will look better in the final production version.
Field Testing Photos
Lastly, here’s a few of my favorites from our recent field testing trip.