Collaborative Design: The SparkFun Project
Over the past couple months we have been working on a very fun project with SparkFun Electronics, the outcome of which launched today. You can head over to their site to see what we helped build – a Feather form-factor LoRa/BLE development board called the SparkFun LoRa Thing Plus – expLoRaBLE. Here, we’re walking you through the process from start to finish.
Focus on the journey, not the destination. Joy is found not in finishing an activity but in doing it. – Greg Anderson
Kickstarting a Collaboration
In our industry, everything starts with a conversation, and those conversations often lead down unexpected paths. The best partnerships are formed when there are opportunities for collaboration that benefit everyone.
For this project, we were chatting with one of our partners, Ambiq, about doing an Mbed port onto the NM180100, which uses their Apollo 3 MCU. Ambiq mentioned that SparkFun recently did a port for their Artemis Thing Plus board, which also uses the Apollo 3. A connection was made and soon we were chatting with SparkFun’s tech team.
From there, the conversation moved to their interest in a LoRa-based board and the rest, as they say, is history! For us, we got to develop a new board that we can use a ton for tinkering and client work that we know fully meets our needs, SparkFun got to bring LoRa into their product offering to the public and our partner Northern Mechatronics gets their modules into a ton of new hands to build up reference designs. Win-win-win!
The Design Process
The objective for this design was simple: Use the Thing Plus footprint to build a LoRa/BLE board based on the NM180100 and provide a couple firmware examples.
To start, our Engineer Dan looked at the reference designs and documentation for the NM180100 and the existing Artemis Thing Plus board, including the Qwiic connector system which makes the board quickly and easily connect to a ton of different sensors and I/Os.
We worked on the schematic using Eagle, where SparkFun has a component library for all their vendor parts that make it really easy to work with. We had to create the NM180100 component and add it into the library. We did a couple reviews with our team and with Josh, the creator of the module.
Moving onto PCB layout, we took SparkFun’s existing board footprint and worked on placement of some of the key items (USB connector, battery connector, pin headers, Qwiic connector) and the connectors and routing. We’re used to working with smaller component sizes (e.g. 0201) but SparkFun’s size preferences are larger (0805, 0603) so that they’re easier for end users to hand-modify.
The antenna choice was an item for discussion. A PCB trace would be nice but there wasn’t space on the footprint. Because the communications supported are LoRa and BLE, there’s a wide frequency range that needs to be covered (915MHz – 2.4GHz). We ended up sourcing a new part that was a diplexer with an external connector.
Dan had lots of fun reviewing the layout with Josh from NMI, who’s a world-class RF expert. He learned a lot about RF traces and how to calculate trace widths for coplanar waveguides. When we were ready, we had external reviews with the SparkFun Engineers. We made a few tweaks to the isolation of the legs and re-routed a few pins for the serial uploader and we were good to go!
SparkFun handled the prototype manufacturing and verification, and we worked together on the software. Their in-house manufacturing was really handy to have for a quick fab of the final prototypes!
For the firmware, we were using SparkFun’s existing Mbed port and existing Arduino core. The BLE reference projects already exist from the Artemis Thing Plus board. We focused on the LoRa and LoRaWAN examples, as nothing existing currently in their ecosystem for the Semtech SX1262 transceiver.
For LoRa, the RadioLib library already supported a bunch of different protocols, so all we needed to do was make a few mods and the Point-to-Point (P2P) connection worked.
For LoRaWAN, we had to do more work to get the reference code working. SparkFun supports different software tools (Mbed and Arduino) for different use cases, but they’re not really meant to be crossed together. Arduino sketches are not meant to be final and aren’t good for end products. Mbed is a full OS, so it’s more professional for products. The challenge here lay in the fact that the native Arduino port is written around Mbed. We worked through it together with the SparkFun team and got it packaged up and ready to go!
The End Result – expLoRaBLE
Our team is very excited that the end product, the SparkFun LoRa Thing Plus – expLoRaBLE is now available! It’s price point is great, it’s probably one of the most cost-effective LoRa dev boards on the market right now.
The software support makes it very compelling for us to use in our rough prototyping projects and proof of concept builds for our clients that can turn into full designs in the future. It’s a much quicker way to whip something up – the Qwiic connector works effortlessly to add all kinds of different sensors, screens and lights. Unlike some other boards out there, flashing software is easy over serial and the native Mbed OS support is a huge advantage.
Contributing to the SparkFun ecosystem has been an exciting project for us. It’s a broad ecosystem and we worked hard to pull this project together in a short amount of time. Abby from our team even named it!
expLoRaBLE… to explore the power of LoRa (long-range) and BLE (short-range) together.
This project has helped us build up more tools and expertise to enhance our capabilities for proof of concepts and fast prototyping. This collaboration has made it very easy for our team to pick up and get started using hardware that is capable of production-level product integration. At the end of the day, we work hard to deliver tech solutions with our clients that can grow as their businesses grow.
JTDC is a group of Electronics Enthusiasts that help people build tech-inspired solutions, focused on designing IoT products that make sense for your business. If you have a project you’ve been thinking about for your business but don’t know where to start, talk to us about our processes to learn how we can help.