Coder Social home page Coder Social logo

m4gnv5 / docgreenesa5000-dashboard Goto Github PK

View Code? Open in Web Editor NEW
29.0 9.0 7.0 5.93 MB

e-Scooter protocol reversing, custom dashboard and tuning chip for the Doc Green scooters sold by e.g. Lidl

License: GNU General Public License v3.0

C++ 61.79% C 20.78% Python 1.74% HTML 5.86% JavaScript 9.83%
scooter escooter docgreen lidl esa5000 arduino m365 esp32 esp8266 dashboard

docgreenesa5000-dashboard's Introduction

DocGreenESA5000-Dashboard

This repository contains some utilities and selfmade documentation of the DocGreen ESA 5000 sold by Lidl. Lidl also sold the Explorer ESA 1919, which is identical protocol wise, but the front light is connected to the dashboard instead of the motor controller. The scooter is similar to the Xiaomi M365 however there are some differences:

  • the lights are mounted elsewhere
  • the light does not change when braking
  • it has no connecivity (no bluetooth, no proprietary app, no activation)
  • it has a "Zulassung nach eKFV" making it legal to drive on german roads when equipped with an insurance license plate
  • the internal communication uses the same scheme, but the addresses and contents are different.

In this repository

  • docgreen-protocol: a list of bus messages and the meaning of some of the bytes
  • MegaSniffer: a small arduino program to sniff the internal bus using an Arduino Mega
  • TinyTuning: ATtiny45/85 program for tuning ESA Scooters (bus read and write)
  • TinyTuningButton: ATtiny45/85 program for tuning ESA Scooters (bus write-only variant)
  • DocGreenDisplay: a replacement for the stock head unit using an Arduino Nano or ESP32 and a 128x32 OLED display.

TinyTuning(Button)

A small PCB with an ATTiny45 which is connected between dashboard and ECU allowing to set the max speed.

Dashboard PCB

The initial solution was a perfboard + Arduino Nano + diode & resistor solution using this circuit. It worked well, but was too large to fit into the dashboard place. Thus, after using a duct tape solution for a few months i decided to create a custom PCB with the same size as the original dashboard.

On https://jakobloew.me/scooter one can find the manual for the dashboard, with a detailed description of all features and functionality.

Further Reading

Other ESA 5000/1919 Projects

Projects for other Scooters

Pictures

Photos of Prototypes & Development

LICENSE

This project is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This project is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this project. If not, see https://www.gnu.org/licenses/.

docgreenesa5000-dashboard's People

Contributors

m4gnv5 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docgreenesa5000-dashboard's Issues

missing file "webinterface/bundle.hpp"

Hello M4GNV5, I cannot find bundle.hpp file. I want to try this codes for my scooter. And moreover, can you share arduino version bcs i dont want to use bluetooth and wifi and esp32 devkitc too big for dashboard place

Latest PCB Design

Hi,

I just get this scooter and I love your dashboard project. Is the latest pcb design available?
Can you send a link to it?
Thank you and congrats!

Controlling the dashboard buzzer

Do you think it is possible to make use of the dashboards buzzer?
I think the controller is doing that, when the immobilizer / lock mode is enabled.

ESA 5000 Protocol: any other commands discovered?

Hi, just asking: are there any other commands available? Some in this repo are labeled "unsure": were any other commands/data_field discovered afterwards?

I'd be interested in the Temperature (if any) - and what about the current (A), I see that field in 2 commands, which one should be used?

Tnx!

Intensity of electric brake system

Hey,

nice work on your dashboard and all the reverse engineering!

I don't know how relevant my question is to your project but I was wondering if you think that it would be possible to somehow adjust the electric brake intensity in firmware? My experience with the scooter so far is that the brake is really sudden as if the brake potentiometer is just binary (even though in your protocol documentation it says that the brake lever ranges from 2C to B5). Do you have the same experience or is it just me (I have the ESA 1919, but as far as I can tell the differences are just appearance).

Greetings

Schematics, wiring diagram or better documentation

Hello Jakob, incredible work you did here ๐Ÿ‘ I would love to build this display for me and maybe also to contribute and participate on the development. Would you be so kind and improve your documentation, so it includes detailed schematics or wiring diagram and also part listing (arduino board type, LCD module ... )

Name of the connectors

Hello and thank you for sharing your work.

Can you tell us what is the exact name of the used connectors at the TinyTuning(Button)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.