HomeElectronicsLCD88: R/C DIY transmitter


LCD88: R/C DIY transmitter — 4 Comments

  1. Hello, nice transmitter 🙂 I especially like the awesome mixer-setup-interface.
    I am making something similar using Mega168/328 with GCC ( not Arduino ). I have managed to get PPM input and output using CTC and 1 compare match from Timer1 only, it is completely interrupt driven and runs fine even at 20 MHz. I am about to start implementing my “black box” of mixers. Mostly this project was started due to the inability to use both Delta and Differential mixers on my Graupner MC12. The first version will be a small PCB that connects the output PPM ( student out ) to the input PPM ( student in ) on the same transmitter. This will give me the nice option to bypass my pcb with the student-switch and I can use my normal TX for testing, no need to build a complete transmitter ( yet ). When all the PPM-stuff is OK I might add sticks, knobs switches and some display but I`ll probably move to Cortex M3, I have some NXP-boards floating around.

    Any chance of finding your sourcecode somewhere?

    My code is managed in git, it´s not so pretty but I´ll be happy to share, perhaps you´ll find the timer1 ppm implementation interesting or useful.


    • 1. I have my code in svn, but repository isn’t publicly available (yet). My code (warning: pure assembler 🙂 ): https://majek.sh/modele/lcd88-rev117.tgz
      2. If I were starting this project today, I would choose definitely some ARM platform (probably STM32) and C as programming language 🙂
      3. Keep in mind that interrupt can’t be executed always in exact time (some instructions last longer, some are shorter, some block cpu (eeprom access), sometimes you have to wait for another interrupt to complete). If you use PWM output and program counters before generation, it’s fine. But if you use counter to make interrupt and you toggle pwm output there, you get some delay (not constant) between cause of interrupt and result.
      4. Idea of baypass is quite good:-) In my case I could replace all electronics because I have two other transmitters 🙂
      5. Regarding 20MHz – it’s a lot of time to do many things:-) I encountered not enough ‘power’ in only 2 cases: drawing on lcd screen (spi could run faster 😉 ) and video overlay generation (in OSD).

      Anyway, it’s fun to make such things, but it also require patience and lot of effort to finish it – transmitter is quite complicated thing. In my case making ppm, tasks, ‘black box’ was fun, but whole user interface is just a ‘need to finish/work’.

      Good luck wih your project!

    • To zależy:-)
      Hardware, to dokładnie najmniejsze, najprostsze i najtańsze Arduino.
      Co do software, to myślałem nad tym, ale:
      – ‘koszt’ przepisania tego byłby za duży
      – musiałbym zrobić multitasking dla Arduino (niebanalna rzecz)
      – baaardzo zmalałaby pamięć na modele, bo sam kod byłby większy, a obawiam się, że nawet mógłby się nie zmieścić w Atmega328. Wtedy całe założenie, że ma być tanio i dobrze nie będzie już spełnione.
      Natomiast niedługo pojawi się inny bootloader (modyfikacja Optiboota), więc łatwiej będzie wgrywać nowy soft (używając avrdude zamiast tajemniczych komend z minicoma). Docelowo ma być również dostępny eksport/import modeli jak i ich modyfikacja w aparaturze, więc wtedy nie będzie potrzebna kompilacja przy każdej zmianie – wystarczy raz wgrać hex-a.

Leave a Reply

Your email address will not be published. Required fields are marked *