-
Notifications
You must be signed in to change notification settings - Fork 24
Building the Device
This page walks through assembling HamMessenger from bare components. Complete the Hardware page first to ensure you have everything needed before starting.
Assembly has five main phases:
- Fabricate and populate the PCB shield
- Flash firmware onto both microcontrollers (see Firmware Installation)
- Print and prepare the enclosure
- Install components into the enclosure
- Connect and test all cables
Upload Source/CAD/Fusion-360/Builds/Gerber Shield v12_2025-05-17.zip to your PCB fab of choice (JLCPCB, PCBWay, etc.). Standard options work fine:
- Layers: 2
- Thickness: 1.6 mm
- Surface finish: HASL (lead-free preferred)
- Color: your choice
Refer to Documentation/Parts/BOMs/shield.md for the complete component list with reference designators and values. Source components before the PCBs arrive to avoid delays.
Solder any surface-mount components before through-hole parts:
- Apply solder paste or flux to SMD pads.
- Place components using tweezers.
- Reflow with a hot air station or carefully with a fine-tip iron.
- Inspect joints under magnification.
Install through-hole parts in order from lowest to tallest profile:
- Resistors and diodes
- Capacitors
- Connectors and headers
- The Arduino Pro Mini (modem) — solder directly to the shield or use pin headers for removability
Tip: Use low-profile pin sockets for the Arduino Pro Mini so it can be removed for re-flashing without desoldering.
Before installing into the enclosure, inspect all joints with a magnifier. Use a multimeter to verify:
- No shorts between power rails (GND and VCC)
- Continuity on signal lines to headers
Flash both microcontrollers before installing them in the enclosure — it is much easier to access USB and FTDI connections with the boards on your bench.
See the full instructions on the Firmware Installation page:
- Flash MicroAPRS to the Arduino Pro Mini (modem) using an FTDI cable
- Flash the HamMessenger sketch to the Arduino Mega 2560 via USB
Print the STL files from Source/CAD/Fusion-360/Builds/:
-
UniBody.stl— main body -
UniBody-Keyboard.stl— keyboard mount Front Cover.stlBack Cover.stl
Allow parts to cool completely before handling. Remove support material carefully with flush cutters and a craft knife.
Sand mating surfaces lightly (400-grit) for a better fit. Test-fit all parts dry before adding any electronics.
- Place the UPS battery power module in its bay in the main body.
- Insert the two 18650 cells with correct polarity.
- Route power cables to the shield connector.
- Mount the Arduino Mega into the main body.
- Verify that the USB port aligns with its cutout.
- Press or screw the board into place (use M3 standoffs if holes are provided).
- Route the I2C cable from the OLED connector on the shield.
- Seat the OLED into the front cover's display window.
- Secure with a small dab of adhesive or the retention clip if designed into the enclosure.
- Slide the M5Stack CardKB into the keyboard mount.
- Connect the I2C cable to the shield.
- Ensure the keyboard is snug and won't slide during use.
- Place the Neo-6M GPS module in its bay.
- Ensure the antenna (ceramic patch or external) faces upward and is not obstructed.
- Connect the UART cable to the GPS header on the shield.
If your shield does not include an integrated SD slot, install the breakout board and connect via the SPI header.
The radio connects via a Kenwood 2-pin connector (2.5mm PTT + 3.5mm audio). Build or source a cable that splits into:
- PTT line → shield PTT pin
- Audio out (from radio speaker jack) → modem audio input
- Audio in (to radio mic jack) → modem audio output
Wrap ferrite rings (snap-on or through-hole) on:
- The PTT control cable
- The audio cables to/from the radio
Ferrites suppress RF interference that can cause false packet decodes or reset the microcontrollers. Run the cable through the ferrite ring 2–3 times for best effect.
Important: RF interference is a common cause of erratic behavior. Do not skip the ferrites.
- Close the enclosure, feeding cables through their respective cutouts.
- Secure the front and back covers.
- Attach the antenna to your radio transceiver.
- Connect the radio (powered off initially).
- Power on the HamMessenger device.
- Verify the OLED display lights up and shows the HOME screen.
- Confirm the GPS module acquires satellites (may take a few minutes outdoors).
- Connect the radio cable and power on the radio.
- Send a test beacon and verify it appears on aprs.fi.
Photos from the build process are in Media/Build Instructions/ and Media/Install/. Board photos are in Media/Board-v1/ and Media/Board-v1.1/.
Previous: Hardware · Next: Firmware Installation