Skip to content

Peck07/RicinoNext

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RicinoNext

Dream to be yet another self container DIY hardware solution for a complete Lap Counter with a bunch of micro-controller (attiny,atmega,samd21,esp, and more ...) ?! focused on RC car/drone ?!

Why so much code and headache? Because I haven't found open-source lap counter with open-source hardware working on open-source OS.. in 2019... neither in 2022. Seriouly, I have more than 20 rc cars, so put a commercial product (ir or rf transmitter) on each will cost me to much money, and the software will work only on windows/android product. So first, I decided to try and fork ricino, but code was (sorry...) (hum...) like trash... but almost working and a very good base for me :-). Zround was the only option with ricino, but I haven't any Windows at home, and Qemu/vmware each time was no more cool in 2019. Only plenty of BSD/Linux servers, so my first technical review was running a web server on docker with REMI (python web framework). But as I have plenty of ESP8266 and ESP01 keeping all around, start ESP WEBUI. Maybe change to ESP32 or samd21+ESP01 later...

Hardware Setup (and comparaison):

- Transmitter option: (cheap to expensive)
    - Nothing -> led barrier, Only one car on the track. (cheapest...) (POSSIBLE TO ADAPT)
    - IR -> RC5/Ricino/easytimer, 38khz, 110ms between each data pulse (POSSIBLE TO ADAPT)
    - IR -> CoreIR/I-Lap, 370khz , 20 or 30ms between each data pulse ?!?
    - IRDA -> Robitronic/Ezlap/etc.., 500us data pulse + 1-5ms waiting (DEFAULT VERSION)
    - RFID -> Kyosho, passive RFID, 5-10mm max gap between loop and transmitter
    - UHF -> AMBrc, active "RFID", look at github clone...


- Receiver:
    - Led Barrier, only for solo mode
    - Ricino"Clone" working but missing many lap when fast, don't use if possible(same pcb than IRDA one)
    - IRDA, DIY PCB available, Receiver + 3x extenders

- Display:
    - ESP32 + OLED display
    - Smartphone/Tablet/PC, with javascript compatible browser connected on the ESP32
    - future: app compatible with JSON connection
    - future: add Zround protocol

Software:

- Need Edit/update on what done and what remaining!

Hardware Addons, plugins. Everything connected on the I2C bus (by implementation order priority):

- Receiver (of course) -> Send trig time
- Voice Speaker -> just send time ? (add cheap MP3 arduino reader?)
- Simple Buzzer -> Start Buz, Last Buz, Best Buz, Final Buz, (or send directly frequency on the i2C bus?)
- Light/Relay -> Port + light intensity ( + delay off / warm up phase/ etc..)
- RGB Light -> Port + color

- !?NextStep? RFID tag -> why not ... really cheap, and add pit stop possibility
- !?NextStep? Display ->  a big dot matrix screen could be very nice on I2C... ?
- !?NextStep? SD Card -> Save History, statistics for backup etc... (add complexity on the UI!)
- !?NextStep? ESP8266/ESP32 -> direct connection to database mariadb/postgresql/... ?
- ?!NextStep? Temperature/pressure -> get info on track "climat/weather"
- ?!NextStep? Endless possibility -> function MUST/NEED to be "easily" added to the Controller software.

Quick architecture diagram: view: Architecture Diagram.svg

Hardware/Software priority and current dev now:

Tranmitter: attinyX5 -> attiny24 (less expensive and available)

Receiver: ATmega16/IRDA->UART-38400 + ATmega328p/UART->I2C (and maybe CAN in future for longer distances...)

Display: Read I2C bus + OLED + HTTP/websocket

Todo: - Finalize a clean JSON api - Draft a working HTTP/CSS/Javascript with only small memory available. - Join ALL the code i have wrote since months/years to debug each part to get an "efficient" code delay()-free and fast as possible :-D - Join old code with new code, time to get a debug version to work on, even without ALL hardware available! - write a Wiki/howto - play, race!! but essentially to find bug of course :-)

About

A Robitronic compatible Lap Counter.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 87.0%
  • JavaScript 8.5%
  • HTML 2.4%
  • CSS 1.8%
  • Python 0.3%