The nRF52840 is such a flexible and easy-to-use SoC for BLE devices that we ended up using it in a lot of our projects lately at Zalmotek - from wearables to remote controllers, or other sensing devices that needed sending data to a phone or to BLE devices nearby.
The Raytac MDBT50Q-1M SoM is a great choice for the nRF52840 SoC since it provides everything you need in a compact package and breaks out enough pins to do anything you need on the I/Os.
Adafruit’s Feather nRF52840 Express is a great testbed to start with and try out the proof of concept, but after successful testing, we usually need a few more features around it. So we created our custom PCB to encapsulate that. Push buttons and a small screen are always needed so we built around that, also adding LiPo battery charging features.
Another benefit of building on top of Adafruit’s development board was the amazing documentation and the helpful community that already developed a handy bootloader that you can use to code directly in the Arduino IDE.
For the display, we wanted something battery efficient and easy on the eyes and the Adafruit Sharp Memory Display was a very good choice to go for. Battery life is great, even too good if we can say, with a 40mAh LiPo battery running the Hello World on the display with the board the device went for about 8 days :D
Here are the main functional blocks of the device:
- the MDBT50Q-1M SoM plus its necessary resonator,
- a 16Mbit QSPI Flash memory, for the BLE chip,
- USB-C connector - we decided to use this because it's common in wearables and phones,
- 4 x Push buttons,
- Programming connector for the BLE chip,
- Connector for the display,
- Analog & Digital pins + power pins broken out to use for further development,
- Power supply,
- LiPo charging circuit.
For the PCB format, we went for the smartwatch shape, since we want to use it as a wearable, but it can also be enclosed in a case, as we did for our first field test when we needed a small remote for a RaspberryPi prototype.
We've also added mounting holes for the display and our logo on the back:
We've ordered the PCBs from JLCPCB in matte black, along with a custom-sized stencil, which is smaller and easier to use than the default sized one.
Perfectly applied solder paste! :D
Next, we've carefully placed the components and soldered the PCB using our DIY reflow oven (which uses a Rocket Scream controller).
And here's the assembled wearable, we managed to convert our logo to a bitmap array using this handy tool and we printed it on the display! :D