When you are planning to do an adventure journey or trekking to the wild, it is essential to have a device in your backpack that helps you to understand the environment.
For my upcoming adventure trip, I planned to build a handheld device that helps me to monitors temperature, humidity, air pressure, and altitude as well as an alarm can be set for any of the parameters that go beyond a user-defined threshold value. The device is powered with 1000maH lipo battery, with a backup of 72 Hours continuous running!
I made this device smaller in size, smarter to use, looks cool in your hands and durable outdoor. I keep the budget within $18!
Step1: Get the Parts and Tools!
Component and Parts :
- Atmega 328P (TQFP)
- 20mhz Resonator
- Rotary encoder
- BME280 Module
- 1.3″ 128 x 64 OLED Display Module
- 1 x Buzzer -3V
- 6 x 10K 0805 Resistor
- 2 x 1K 0805 Resistor
- 1 x 1.2K 0805 Resistor
- 1 x 0.1mF 0805 Capacitor
- 2 x 1mF Capacitor
- 10mF Capacitor
- Micro USB Port
- 1000maH 3.7v Lipo Battery
- 2×3 Header Pins
- 4 x M3/6mm Threaded inserts
- 12mm compass meter
- 4 x M3 15mm Screws
- Soldering Iron
- Allen key 3mm Screw Drivers
- Spray Paint (any color for your choice)
- Spray paint clear coat
- Sandpapers, Gloves, Mask, and Googles
- 3D Printer
- Vinyl Cutter Machine (Not necessary, Just for cutting logo)
Step 2: Designing PCB Using Autodesk Eagle
I use Autodesk Eagle to design all my projects PCBs. It is free and easy to kickstart learning PCB designing.
I used fusion 360 to design the outline of the PCB and the enclosure for 3D printing. It is simpler by syncing the eagle project into the fusion 360 projects. I used the 3D model of the PCB (designed in Eagle) in fusion360 and I modified the outline of the PCB in Fusion360 and export it back to Eagle.
For Designing the Xpedit I used Atmega328p-AU as the microcontroller along with 20mhz resonator. Using BME280 is capable of sensing temperature, humidity, air pressure, and altitude. I Used 128 x 64 OLED to display the information. Xpedit is power by a 3.7V lipo battery, TP4056 is used to charge the battery accordingly. A buzzer and button-sized Vibrator motor are used for notification. A rotary encoder is used for user inputs and for changing into various modes.
You can download the Eagle Project files and Gerber Files from the GitHub
I ordered 10 PCBs of xpedit from Pcbway. I always choose pcbway because of their high-quality PCBs for cheaper price and a great one to one customer support!
If you want to directly manufacture the PCBs. check out PCBWAY
Step 3: Designing Enclosure Using Fusion360
I use Fusion360 for 3D modeling. Like I said we can sync the projects between Autodesk Eagle and Autodesk Fusion 360. It is easy to design an enclosure for the PCB with the help of the sync feature. I designed a minimalistic Enclosure for the Xpedit.
I also used 3mm brass threaded inserts for holding the enclosure parts as much stronger.
Step 4: 3D Printing the Enclosure Parts
Depending on what you need, you could modify the enclosure parts to suit your needs. You could use bigger capacity batteries or more sensors etc…
If you want to stick with the default design, then you can download the files from Github.
I used Ultimaker 2+ for 3D printing the parts. You can use any 3D printer that you have access to!
Step 5: Sanding the 3D Printed Parts
It took me about 8 hours of printing, But it really depends on your 3Dprinter and the slice settings!
After 3D printing the parts, I used Files and sandpaper for smoothening rough edges. It is better to use small files as I used in the above image
Step 6: Install Threaded Inserts
I am using M3/6mm Threaded Inserts for screwing the lid to the bottom enclosure. If you’re using the same version of mine, You can install them now. These inserts will hold the PCB inside the enclosure and hold the lid strong!
Step 7: Spray Painting and Clear Coating the Enclosure
For a better and neat look, I used spray paint. You could use any color that you like. I used black as my choice. I did two coats of black spray paint. It is better to use a spray clear coat to protect the painting from peeling off!. Before you do spray painting, cover the threaded inserts using small pieces of masking tape. After painting the black color, I cut out an “XPEDIT” vinyl sticker using a vinyl cutter machine and stick it on the lid. Then i spray painted the clear coat to protect the paint and sticker.
Step 8: Soldering Components
Start soldering with the smallest components first. Probably the resistors and capacitors and then move your way to the larger ones. If you are soldering SMD components in your first time, it is a little bit hard to solder. Don’t worry, you will become used to after soldering a few components!
Step 9: Load Firmware in to the Xpedit
Time to upload your code and let the microcontroller do the work for you!
Do not use the Arduino NANO’s or UNO’s board bootloader. We are using 20Mhz Clock. Use the custom Atmega328p board manager from the below Link.
To upload the bootloader use an ISP programmer or use your Arduino as ISP. If you want to build Your USBtiny ISP programmer, check out my instructable to build one yourself from the link below. This is the same ISP that I am using to upload the firmware!
Download and upload the firmware from Github!
Step 10: Place the Board in Enclosure!
After uploading the firmware and everything goes good. You can place the board Inside. Before placing the board, First, place the Vibrator motor and apply a little hot glue or place a foam seal on the top of the motor and solder the wires to the pads on the board. Place the Slide Switch into the Lid and apply some hot glue to hold up the switch. Solder the switch Wire to the PWR Header pads on the PCB. At last, insert the battery into the battery slot and guide the wire through the channel. Solder the Redwire to the +(Plus) Header and Black Wire to the -(Minus).
Remove the header pins from the OLED display and place it in the Display Slot on the LID. Make use of a Duct tape or any tape with a strong bond for placing the display in the slot. Use Hot glue if necessary. Use a four-wire ribbon cable to connect the display on to the PCB.
Place the PCB in the enclossure and put the lid on. Use the four M3/15mm Screws to hold the enclosure. Stick the small compass into the slot on the lid using a two-part adhesive!
I used hot glue in a few places on the PCB, like the USB port, Display, and Switch for a strong bond.
Put on the Knob we printed earlier on to the rotary encoder after everything put together!
Step 11: Deploy
Now that’s it!
Don’t forget to take the Xpedit on your next Adventure trip!
This project is free and open-source. If you like what I do and want to support my projects consider following me on: