COTS-LoRa 3D-printed TOH shell

HI!

First of all I must apologize to make an off-topic reply here.

But I have a question:

I like the project called OpenTrafficMap, (Wiki, Map),
They are collecting certain wireless packages from things like street lights, public transport, come cars etc.

Their receiver is based on an ESP32, e.g. Seeed Studio XIAO ESP32-C5.

Can this ToH be used directly to create an C-ITS Receiver for OpenTrafficMap collection?

It would seem the requirements are very similar to a LoRa unit.

More information:

3 Likes

This is an entirely un-serious thread about stuff for fun. Feel free to dissemble as much as you like, please.

Am I understanding you right that you basically only need a TOH with space for a single XIAO-board with no peripherals and an exposed USB-port? If so, this should roughly do it: Filebin | vbrjpyvkgq3nhsxc (can’t attach stl-files here). Code below:

from build123d import *
   
# MagSafe Parameter 
magsafe_od = 58.0          
magsafe_id = 43.0          

base_plate_thickness = 1.2 
target_thickness = 7.0     
thickening_delta = target_thickness - base_plate_thickness

# Geometrie und Parameter
xiao_length, xiao_width = 21.0, 17.5
cavity_depth = 4.8         
spool_depth = 1.5          


with BuildPart() as toh_customized:
    # 1. Import TOH step file from thejiral
    toh_base = import_step("/toh.step") # CHANGE PATH HERE
    toh_base = toh_base.rotate(Axis.X, -90)
    add(toh_base)
    
    # 2. Make back thicker
    planar_z_faces = toh_base.faces().filter_by(GeomType.PLANE).filter_by(Axis.Z)
    back_face = sorted(planar_z_faces, key=lambda f: f.area)[-1]
    extrude(back_face, amount=thickening_delta)
    
    # 3. Z-Level calc
    bbox = toh_customized.part.bounding_box()
    z_outer = bbox.min.Z                     
    z_inner = z_outer + target_thickness     
    
    board_floor_z = z_inner - cavity_depth   
    
    y_min = bbox.min.Y 
    y_max = bbox.max.Y 
    y_mid = (y_max + y_min) / 2
    
    # --- 4. MagSafe Ring ---
    magsafe_plane = Plane(origin=(0, y_mid, z_outer + 0.6), z_dir=(0, 0, 1))
    with BuildSketch(magsafe_plane):
        Circle(magsafe_od / 2)
        Circle(magsafe_id / 2, mode=Mode.SUBTRACT)
    extrude(amount=target_thickness, mode=Mode.SUBTRACT)

    # --- 5. Board Cavities ---
    cavity_plane = Plane(origin=(0, 0, board_floor_z), z_dir=(0, 0, 1))
    with BuildSketch(cavity_plane):
        xiao_y = y_max - 14.5
        with Locations((-15, xiao_y)):
            Rectangle(xiao_width, xiao_length)
        with Locations((-15, y_max)): 
            Rectangle(14, 12)
            

    extrude(amount=cavity_depth + 1.0, mode=Mode.SUBTRACT)
    
export_stl(toh_customized.part, "./toh_single-xiao.stl") # EXPORT PATH

Thanks a lot for the quick reaction. Cool!

What I’d like in the end is:

  • XIAO ESP32 board
  • external Antenna screw port (like the Prepper Edition)
  • Some kind of power source (like planned for the Prepper Edition)
  • USB, (or PogoPin) connection to interface with the phone.
  • optionally microSD storage (to store data without the link to the phone being active)
  • really-nice-to-have: status LED to indicate package receiving etc.
1 Like

You asked for Step (STL) files of the TOH shell to base your own design on?

Have fun! :slightly_smiling_face:

1 Like