hd-mcu

Public

@ozgend

Share hd-mcu

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

hd-mcu

bluetooth supported mcu for harley davidson 99-03 with raspberry pi pico

this is not a ecu but a diy -and for fun- project for a monitoring hardware via an mcu since there is no can-bus support for 99-03 models. it replaces the default turn signal module (tsm) to provide monitoring features for battery voltage, rpm, voes, ignition, and external thermo sensors via bluetooth to the mobile application. it does not involve a reverse engineering for the original hd-tsm module.

  • programmable idle timeout for turn signal
  • pcb provides signal switching via h-bridge module or mosfet + oc
  • built-in battery voltage sensor
  • built-in rpm reader
  • built-in temperature sensor via rpi-pico
  • aux inputs for ignition and voes signals (may require custom ignition module ie. ultima/dyna 2000i)
  • vehicle information with editable fields for maintenance records
  • external 6x thermocpouler raiser for max6670
  • supports up to 8x thermocpouler sensors for various purposes

features

  • hardware serial
    • raw ft232 usb serial
  • bluetooth serial
    • raw bluetooth serial (hc-06 @ 9600 bps)
    • mobile app
  • data polling/broadcasting
    • reduced power consumption
    • reduced cpu clock usage
  • turn signal flasher module
    • left/right turn signal flasher
    • hazard flasher
    • flash on startup
    • adjustable flash rate
  • throttle control module
    • linear hall sensor input
    • servo pwm output
    • adjustable base parameters
    • adjustable idle speed
    • [ ]
    • adjustable throttle curves
  • supported sensor inputs
    • multiplexed thermocouples
      • up to 8 thermocouples
    • direct sensor inputs
      • uptime counter (onboard)
      • mcu voltage (onboard)
      • temperature (onboard)
      • vbus input (onboard)
      • battery voltage input
      • rpm input
      • speed input
    • tpms
      • 433mhz receiver implementation
      • tpms decoder / man-i or man-ii (tbd)
    • ignition module
      • dyna 2000i / ultima 2000i timer & pickup
      • programmable ignition advance
        • advance curve
        • temp compensation
        • rpm compensation
        • wideband o2 sensor for afr

software

mobile app

  • platform

    • react 18.2.0
    • react-native: 0.73.2
  • react-native

    • android
    • ios

mobile app ui

mcu firmware

hardware

assembly

  • 12v-5v buck converter / switching regulator
  • raspberry pi pico
  • hc-06 bluetooth module
  • TSM / turn signal module
    • (option-1) - with mosfet extension board
    • (option-2) - l298n h-bridge driver module
  • THE / thermocouple module
    • cd4051 multiplexer
    • max6675 thermocouple digitizer
      • datasheet
      • k-type thermocouple (maximum of 8)
  • TCM / throttle control module
  • 5v super capacitor
  • 5805 voltage regulator
  • 33k resistor
  • 10k resistor
  • 7.5k resistor
  • 4.7k resistor
  • 1k resistor
  • 1n4001 diode

pcb

front

back

blueprint

setup & building & installing

  • initialization

    git clone
    npm run install
    
  • cook everything

    npm run build
    
  • create mcu firmware

    npm build:mcu
    
  • flash firmware to pico

    npm run flash:mcu -- /dev/tty.usbmodem2XXX
    
  • create mobile app

    • create local build

      npm run build:app
      
    • create distributable bundle .apk

      nom run bundle:app
      

usb serial interface

  • usb: 115200 bps
  • bt: 9600 bps

service interaction

  • query only: [SVC]+[CMD]\n
  • set svc data: [SVC]+[CMD]=[DATA]\n

service list:

servicedescription
SYSmcu information system
THEthermocouple sensor module
TSMturn signal module
TCMthrottle control module
VHCvehicle healthcheck module
VHIvehicle information system

command list

commanddescription
INFOget information from service
DATAget data from service
SETsend data to service
STARTstart monitoring
STOPstop monitoring

TSM extended command set

commanddescription
LEFTleft turn signal
RIGHTright turn signal
ALLhazard signal
NONEturn signal off

module interaction

  • query only: [MOD]+[CMD]\n

module list:

namedescription
M0main mcu module

command list

commanddescription
DIAGexecute diagnostic
STARTstart ON_DEMAND services in module and publish data
STOPstop ON_DEMAND services in module and stop publishing data
LIST_ALLlist all registered services in module
LIST_RUNlist running/active services in module
Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.