Skip to content

Building a 1W Solar Repeater – Ikoka Stick

Work In Progress

THIS IS A WORK IN PROGRESS AND IS NOT FINAL, please contact MrAlders0n for questions related to the build.

Board: GOME Ikoka Stick (HW v0.4.0)
Power: Waveshare Solar Power Manager (standard)
Firmware: MeshCore

This guide walks through assembling a solar-powered MeshCore repeater using the GOME Ikoka Stick, a junction box enclosure, and an epoxied solar panel. Follow each step carefully for a reliable and weatherproof build.

When to use a 1W repeater

1W repeaters should typically be used for backbone links and for locations that are struggling to connect to the mesh. They are not necessary for every deployment.

Antenna Required

Always ensure a LoRa antenna is attached to the Ikoka Stick before powering it on. Transmitting without an antenna can permanently damage the radio module.


Parts List

# Part Qty Price Source
1 GOME Ikoka Stick (HW v0.4.0) 1 $55 GitHub (group buy)
2 Waveshare Solar Power Manager (standard) 1 $15 Waveshare
3 IP65 Junction Box, 220x170x110mm, Gray 1 $30 AliExpress
4 Solar panel, 10W/18V, 250x340mm 1 $35 Amazon
5 3P1S 18650 battery pack (or 4P1S) 1 $25-35 MP&W Supply
6 Battery protection board (high/low voltage cutoff) 1 $8 Space Hedgehog
7 890-960MHz 4-cavity bandpass filter, 50W (recommended) 1 $65 Alibaba
8 10-15cm SMA right angle to N-Type female O-ring nut cable 1 $6 AliExpress
9 7.5cm SMA Male 90° to SMA Male 90° cable 1 $7 AliExpress
10 0.5ft USB-A to USB-C right angle cable 1 $7 Amazon
11 M3x35 spacers 4
12 M3x5 screws 8
13 Gorilla Epoxy Syringe, 25ml 1 $15 Home Depot
14 Waterproof vent plug (breather valve) 1 $2 AliExpress
15 Outdoor silicone caulk (clear) 1 $10 Any hardware store
16 Adafruit INA3221 (optional) 1 $15-20 DigiKey

Estimated total cost: ~$280-290 without the INA3221, ~$300-310 with it. This does not include the antenna, 3D-printed parts, or mounting hardware (M3 spacers/screws).

Alternative filter option (minimal): Callboost 915MHz cavity filter, 26M BW, $82. AliExpress

Antenna

An antenna is not included in this parts list as selection will vary by deployment. It is highly recommended to use a higher dBi antenna such as a 6-8 dBi or higher with 1W builds. We have found that the Ikoka Stick does not pair well with the Alfa 5.8 dBi antenna for some reason, with several folks in Ottawa observing noticeably worse signal quality when using them together. This is not a definitive statement, just a pattern observed across multiple deployments.

For recommended antenna options, see the GOME Repeater Omni Antennas page.


Tools Required

Tool Notes
Soldering iron Fine tip recommended for I2C wiring
Solder + flux
Multimeter For continuity and voltage checks
Step drill bit For drilling clean holes in the junction box
Jigsaw or rotary tool For cutting the solar panel opening
1/8" drill bit For opening up mounting holes
Pencil For marking the cutout
Clamps + flat piece of wood For clamping solar panel during epoxy cure
Wire strippers

Prerequisites

Before starting assembly, you will need the following 3D-printed parts. Both are available for download below:

  • Mounting plate for the junction box (holds the filter, Ikoka, and Waveshare board)
  • 3P1S 18650 battery holder (or sized to match your chosen battery configuration)

Downloads


Assembly Steps

Enclosure Preparation

  1. Flip the solar panel face-down. On the back, locate the black junction box where the red and black power wires exit. Measure this junction box with calipers or a ruler.

  2. On the front face of the gray junction box, use a pencil to trace a rectangle matching the solar panel junction box dimensions. Center it near the top of the panel.

  3. Using a step drill bit, drill a large starter hole in the center of the traced rectangle.

  4. Using a jigsaw or rotary tool, cut along the traced lines to remove the rectangular section. Clean up any rough edges.

Mounting the Solar Panel

  1. Mix a batch of Gorilla Epoxy and apply it generously across the entire front face of the junction box, covering the area where the solar panel will sit.

  2. Route the solar panel's power cable through the rectangular cutout from the outside into the box.

    Solar panel wires routed through junction box

  3. Press the solar panel onto the epoxied face of the junction box. Place a flat piece of wood across the front of the panel and use clamps on all four corners to apply even pressure. Be careful not to over-tighten, as this can crack the panel. Alternatively, lay the assembly flat on the ground with weights on the back of the box.

  4. Allow the epoxy to fully cure according to the manufacturer's instructions before removing the clamps.

  5. Using clear outdoor silicone caulk, apply a bead around all four edges where the solar panel meets the junction box. Smooth the caulk to create a weatherproof seal.

Mounting Plate and Filter

  1. Attach the four M3x35 spacers to the corners of the junction box mounting plate. You may need to use a 1/8" drill bit to open the holes slightly to fit M3 screws through the plate. Use the 3D-printed mount plate as a reference for hole placement.

    Mounting plate with spacers and filter assembled

  2. Mount the RF bandpass filter to the mounting plate, positioning it roughly in the center.

  3. Connect the N-Type to SMA cable to the filter's output port. This cable will pass through the box wall to the external antenna.

  4. Determine where the N-Type connector should exit the junction box. Using a step drill bit, drill the hole, stepping up one size at a time and test-fitting after each step until the connector fits snugly.

  5. Feed the N-Type connector through the box wall from the inside out and tighten the O-ring nut to secure it.

  6. On the bottom of the junction box, drill a hole for the waterproof vent plug using the step drill bit.

  7. Install the vent plug and tighten it.

    Filter mounted in box with N-Type, SMA cables, and vent plug installed

Filter and Radio Preparation

  1. Connect the SMA-to-SMA cable to the filter's input port. Finger-tighten for now.

  2. Waveshare Solar Power Manager prep (standard model): On the back of the board, solder a wire across the boot button pads to short it permanently. Without this modification, the board will not automatically resume power output after a power loss, meaning your repeater would stay offline until you physically press the button.

    Boot button shorted on Waveshare Solar Power Manager

Component Mounting

  1. Outside the box (for easier access), mount the Ikoka Stick and the Waveshare Solar Power Manager to the 3D-printed mounting plate. If using the optional INA3221, mount it as well.

  2. (Optional, Adafruit INA3221) Using a soldering iron, carefully remove the Ikoka Stick's OLED display header pins. Work slowly and gently to avoid damaging nearby components.

  3. (Optional, Adafruit INA3221) Solder the INA3221 to the Ikoka's I2C bus using the display header pads. See the INA3221 Wiring section below for the pin connections.

    INA3221 wired to Ikoka Stick I2C with Waveshare Solar Power Manager

  4. Install the mounting plate assembly into the junction box and secure it with M3x5 screws into the M3x35 spacers.

Battery Installation

  1. Attach the 3D-printed battery holder to the inside front of the case, below where the solar panel wires enter. Use double-sided tape or epoxy to secure it.

  2. If your 18650 battery pack does not have a built-in PCM (protection circuit module), wire the battery protection board between the battery and the Waveshare. Follow the polarity markings carefully.

Power Wiring

  1. (Optional, Adafruit INA3221) Solar wiring: Connect the solar panel positive wire to INA3221 CH3+. Connect CH3- to the Waveshare solar input positive. Connect the solar panel negative wire directly to the Waveshare solar input negative.

  2. (Optional, Adafruit INA3221) Battery wiring: Connect the battery (or the PCM) positive wire to INA3221 CH1+. Connect CH1- to the positive pin on the Waveshare battery JST PH2.0 connector. Connect the battery negative wire directly to the negative pin on the JST PH2.0 connector. Plug the connector into the Waveshare board.

    Note: If you are not using the INA3221, wire the solar panel and battery directly to the Waveshare board's solar and battery inputs.

Final Connections

  1. Connect the SMA cable from the filter's input to the Ikoka Stick's SMA connector. Tighten both ends firmly with a wrench or pliers. A loose RF connection will cause signal loss.

  2. Run the USB-A to USB-C cable from the Waveshare Solar Power Manager's USB output to the Ikoka Stick's USB-C input.

    If using the Adafruit INA3221, your completed assembly should look similar to this:

    Completed build with INA3221, Waveshare, and Ikoka Stick

    Without the INA3221:

    Completed build without INA3221

    Full interior view with INA3221, battery pack, and all wiring complete:

    Full interior view of completed build with INA3221


INA3221 Wiring (Optional)

The Adafruit INA3221 connects to the Ikoka Stick via I2C using the OLED display header pads. Remove the display header pins and solder wires directly to the pads.

I2C connection (Ikoka display header to INA3221):

Ikoka Display Header INA3221 Pin Wire
Pin 1 - GND GND Ground
Pin 2 - VCC (3.3V) VCC Power
Pin 3 - SCL SCL Clock
Pin 4 - SDA SDA Data

INA3221 channel assignments:

Channel Connected To Purpose
CH1 Battery Monitor battery voltage and current draw
CH2 (unused) Available for future use
CH3 Solar Monitor solar input voltage and charging current

Note: VCC on the INA3221 is the board power pin (3.3V from the Ikoka). VIN1/VIN2/VIN3 are the measurement channel inputs, not the power pin.

Firmware build flags: MeshCore does not auto-detect the Adafruit INA3221 at its default address. Add these flags to your build configuration:

[env:ikoka_stick_nrf_30dbm_repeater]
build_flags =
  ${ikoka_stick_nrf_repeater.build_flags}
  ${ikoka_stick_nrf_e22_30dbm.build_flags}
  -D TELEM_INA3221_ADDRESS=0x40
  -UENV_INCLUDE_INA219

The Adafruit INA3221 sits at I2C address 0x40, but MeshCore expects 0x42. The -D TELEM_INA3221_ADDRESS=0x40 flag corrects this. The -UENV_INCLUDE_INA219 flag disables INA219 support to prevent conflicts.


Wiring Diagram

Wiring diagram