January 25th, 2009 Leave a comment Go to comments

The About page has been moved to our official homepage: www.tkjelectronics.dk/?p=about

  1. Wilksey
    February 15th, 2010 at 23:04 | #1


    I hope you dont mind me asking, and will be able to help me!

    I notice you have had success with the PIC PAL Library from Bruno @ Micro Examples, I haven’t tried constructing this project yet, I have, however, tried constructing the PIC PAL Super Imposer project, and I have not been able to get it to work, I get a lot of “camera roll”, I was just wondering if you had managed to get it to work at all, or know how to use the PIC PAL as an overlay device?



  2. February 16th, 2010 at 01:03 | #2

    Hi Wlksey.
    About the OSD (Super Imposer project), I tried that before making the other project, as I thought it would be easier, as it did only require a PIC12F (8-pin).
    But I was wrong… I connected it as descriped, but nothing happened! After alot of testing, rewiring and code-debugging, I concluded that the problem maybe had something to do with the input signal! So I started making the “larger project”, which made the signal itself…

    So no, I never got the OSD to work – so no, I’m sorry, I don’t know how to use the PIC PAL library as an overlay device, which is OSD!

    Best Regards
    Thomas Jespersen

  3. Wilksey
    February 16th, 2010 at 02:28 | #3

    Ok, thank you for replying.

    I was having a look at the library, if I dont “clear” the screen, connect the input to the output would that work as an overlay or do you think it would break the signal?

    I had to change the CLIP_LEVEL from 300-0 for the OSD to display anything, but the sync is all jittery!

    Do you have any information about using an LM1881 with a PIC as a OSD at all?



  4. February 16th, 2010 at 22:42 | #4

    First, I haven’t worked with the ML1881, so I can’t help you there…
    I don’t think connecting the Input and the output would break the signal – but I don’t think there will be any overlay… The input will be the same as the output!


  5. Imran
    March 26th, 2010 at 10:01 | #5

    Hi Thomas ,,,

    I really liked that board with 3.5″ TFT ,, Just want to know from where you got the datasheet of ILI9919 ??



  6. March 28th, 2010 at 07:46 | #7

    OKayyyyyyyyyyyyy ….

    I have bought the same display like yours from CrystakFontz and developed the GUI,s an year ago ,, see the links …


    See the same TFT with MicroSD card Image reading …




  7. Mehmet
    April 13th, 2010 at 16:26 | #8

    hi thomas;
    i have a problem with my development kit(mcbstm32c) and its lcd.i want to load pictures and show it, but i couldnt find a suitable converter.Could you send the converter, you mentioned other pages written on vb.net.


    • April 13th, 2010 at 16:34 | #9

      I dont’ know the MCBSTM32C, but if it is a 320×240 pixel color display, then you can use my converter.
      You can download it here: http://elec.tkjweb.dk/BinaryImageCreator.zip – remember, this is only a beta version, so bugs can occour.
      You also have to quit and start (restart) the program everytime you have to convert another picture – you can’t convert pictures in a row, just by selecting another!

  8. Mehmet
    April 14th, 2010 at 13:47 | #10

    Thanks for reply Thomas.
    I used 5 or 6 converter including your converter but none of them bring me a conclusion.I am using keil’s library files over their sample lcd projects and changing their bitmap’s c code with my c code created by the converters,when i downloaded and started to kit , i couldnt see the true bitmap.The images arent logical.Also keil doesnt support a suitable converter to their samples,i dont know how i can find

    • April 14th, 2010 at 17:39 | #11

      Hi Mehmet.
      I really don’t know, as I don’t know the screen on that Keil Development board.
      If you could give me more specifications about that, then I might able to help you.

      Best Regards
      Thomas Jespersen

  9. Mehmet
    April 15th, 2010 at 09:26 | #12

    thomas i have a topic at this link,could you look at it.Perhaps it will help to tell my problem


  10. Mariem
    April 22nd, 2010 at 10:42 | #13

    Dear Tomas,
    I am a student at university and I am working on a project in which I need to display icons & menus on TFT LCD. I am using the STM3210E-Eval board with an STM32F103ZE microcontrollar.
    I’m runnig the demonstration software for the STM3210E-Eval. I displayed the main menu & the icons and now I need to change these icons with some other icons according to my application to load them after that to the Internal Flash.
    Can you please help me with this ??
    Best Regards,

    • April 23rd, 2010 at 12:30 | #14

      Dear Mariem.
      I haven’t got a STM3210E-Eval board myself, though I have looked on the code.
      If you are going to have the icons saved in the internal flash, then it’s easy. You have to make a constant array with the color information!
      If you need to have the icons in the external flash, then you probably have to make an empty project with different vectors moved, and then make a constant array in there – but I don’t know!

      Best Regards
      Thomas Jespersen

  11. Will
    July 27th, 2010 at 00:20 | #15

    Dear Thomas,
    I’m building a Daft Punk-esque Disco Table, and I’ve been running into some issues (because I’m just getting into this whole world) it’s essentially a 5×5 Dot matrix, but each pixel is made up of 4 LEDs. I thought your USB controlled board was a great start, but could you help me with the rest?

  12. July 29th, 2010 at 10:45 | #16

    Take a look at this schematic: http://www.mikrocontroller.net/attachment/44489/ledmatrix5x5.png
    This is what you will have to do, except that you will have 4 LEDs connected together for every single LED on the schematic.

  13. August 7th, 2010 at 14:05 | #17

    Exciting website you have here 🙂 – I like your weather station a lot!

    But couldn’t resist… Are you from Denmark? You name in combination with you are on HTX sounds very danish to me ! XD

  14. August 7th, 2010 at 17:07 | #18

    Hi Henrik.
    Yes I’m from Denmark. I live in Holstebro at the west coast 🙂
    HTX is also very known thing in Denmark, especially for technology interested students.

  15. August 9th, 2010 at 10:54 | #19

    Hello Thomas~
    Nice to meet U here~
    I am a Chinese student in college ,
    I have the memory that I’ve seen your post somwhere in a Chinese forum…??
    Friendly ARM? U got that in China?

    This afternoon I find your post on leaflabs, and I am playing with STM32~
    I am now using Keil MDK on Windows, with ST’s firmware library.
    Frustrated a lot by that… Even worse, with that I can’t make the peripherals workingâ?¦â?¦andâ?¦â?¦andâ?¦â?¦ many problem, Totally worse.
    What STM32 Lib do U use now? Or write a Lib yourself by operating the huge amount of REGs?
    Could you give me some suggestion about STM32 development?

    Thanks a lot~

    Best wishes!

  16. August 9th, 2010 at 19:01 | #20

    Yes that’s right, I’ve got the FriendlyARM kit from a chineese supplier.
    In my STM32 development I use ST’s own firmware library, which I find very usefull and straight forward!
    You just have to remember to include the right files – take a look at the examples in the ST firmware library ZIP folder.

  17. August 10th, 2010 at 04:19 | #21

    @Thomas Jespersen
    Thank U Thomas,
    Time in China is now 11 at noon, Denmark is now early morning ? haha ~
    I am working on uCOS-II v2.52 porting at STM32F103RB these days, and willing to learn RTOS,
    and meet many problems when I first to do this…
    You must be an experienced elec fan, hm�� must be,
    So May I Ask for Advice from U in a frequent time?
    After I complete the RTOS port at STM32, I will begin to develop a small robot which can sample image and send to workstation base on ARM9.
    At that time must be more problems comming up to me, I believe I could get help from U
    Have you get up? haha ?
    Have a nice day!

  18. Matej
    September 14th, 2010 at 12:49 | #22

    Hi, could you contact me on my email.

    It is about OV7670(source files) camera module. We have same interest 😉

    Best regards

  19. September 28th, 2010 at 02:55 | #23

    hi Thomas Jespersen,

    I have got your mail last saturday.and reply you yesterday.could you receive my mail?your feedback will be appreciated.
    Have a nice day!

  20. Guilherme
    April 29th, 2011 at 19:49 | #24

    Hi Thomas,
    I need to show some jpg images using STM32, it?s powered by the STM32F103VC6, stamp board from POWERAVR/POWERMCU, with a 3.2″ LCD Model HY320 (ILI9320).
    Could you give some suggestion?
    Thank you in advance,

  21. April 30th, 2011 at 10:22 | #25

    Dear Guilherme.
    I’m sorry to say that I haven’t tried doing JPG-decoding yet.
    I’ve only done, and used, BMP files for my display projects.

    If the question wasn’t related to JPG-decoding, then I could probably help you. I could also help you with JPG-decoding, but that would require me to get some knowledge about the format first.

    Best Regards
    Thomas Jespersen

  22. lexuancong
    October 27th, 2011 at 04:46 | #26

    hi ! im from vietnam .. my english is not good , so i hope you can understand what i say 🙂 . i have project to graduate university . project is “paint in FPGA ” ( draw line , triangle , circuit …., ) i have many problems , now i haven’t complete project . can you help me ? please send me data to lexuancong252@gmail.com ….. thanks a lot !…. a friend from vienam.

  23. December 23rd, 2011 at 21:44 | #27

    Sorry for not replying you before, your comment was unfortunately cought by the spam-filter and therefor never seen.
    If you are still having troubles with your FPGA project please do not hesitate writing again and I’ll make a prompt response 🙂

  24. Sugi
    January 1st, 2012 at 04:15 | #28

    Hi Thomas,

    Your video on how you did the oscilloscope by using ARM processor is awesome. I would like to ask you how did u learn STM32 ARM Cortex-M3 processor? I had a PIC background for 2 years. I have no problem with microchip explanations and guides on how to program PIC based MCU, but in ARM I found it the example they have given to blink the LED itself already quite so hard. There are no step by step guides on what you should do before the next one, etc. They just give you the code and hope you could understand what they are trying to say.

    What I am trying to say is, I am a newcomer to ARM Cortex-M processor and would like you to give me a point on how to learn ARM processor from ground up if you don’t mind (book to read, course to folow, etc).

    Short question, in the Keil uvision it says something like this.

    GPIOD->MODER &= ~((3UL << 2*12) |
    (3UL << 2*13) |
    (3UL << 2*14) |
    (3UL << 2*15) ); /* PD.12..15 is output */

    I know that 1UL < 0x0000.0002 but i had no idea with 3UL <MODER), while there are no guides etc in their datasheets? LOL

    Thanks alot and happy new year 🙂


  25. Sugi
    January 1st, 2012 at 05:55 | #29

    Sorry, something just happened to my text earlier, the last 3 sentences didn’t appear as it should be. So I retype it again here.

    I know that (1UL << 1) is equal to 0×0000.0002, but i had no idea with (3UL <MODER), while there are no guides etc in their datasheets supplying what is MODER itself? LOL



  26. Sugi
    January 1st, 2012 at 05:58 | #30

    Arrghh… it happens again
    (3UL <MODER)

    while there are no guides etc in their datasheets supplying what is MODER itself? LOL

  27. January 3rd, 2012 at 14:18 | #31

    Dear Sugi.
    First of Happy New Year.
    When I started with the ARM Cortex development I started downloading the standard periphirals library. This makes everything a lot easier, as you have a specific set of functions to use, when you want to change a GPIO or read an analog input etc.
    The ARM Cortex register set is a complex structure, and that is why a simple LED blinking example becomes very large when you are not using the standard periphirals library, as you would have to write to all the different register sets, to set them up properly.

    I just checked Keils documentation and ST’s reference manuals and nothing says anything about MODER – just as you say.
    But I haven’t heard about it before, and when checking the examples that comes with Keil uVision for the STM series, the Blinky example doesn’t use that.
    For the Blinky example we have the following routines that might be usefull for you – and these are not using the standard periphirals library:

    void LED_Config(void)
      RCC->APB2ENR |=  1 <<  4;                    /* Enable GPIOC clock          */
      GPIOC->CRH   &= 0x33333333;                  /* Configure the GPIO for LEDs */
      GPIOC->CRH   |= 0x33333333;                  /* Configure the GPIO for LEDs */

    void LED_On (uint32_t GPIOC_LED_Bit)
      GPIOC->BSRR = GPIOC_LED_Bit;                 /* Turn On  LED                */

    void LED_Off (uint32_t GPIOC_LED_Bit)
      GPIOC->BRR = GPIOC_LED_Bit;                 /* Turn On  LED                */

    This code initializes all the bits on the GPIOC port to be Output Push Pull, ready to drive LEDs etc.

    I hope this gives a better understanding of the GPIO registers.
    Please refer to the reference manual for a complete table of the registers.

    Best Regards
    Thomas Jespersen

  28. Sugi
    January 4th, 2012 at 14:29 | #32

    Hi again Thomas,

    Thank you for your fast response. I am be able to make my own startup initialization file now, but as you mentioned before its unnecessary to do that. Better just steal it from the standard library. I forgot to mention that I am using STM32F4 chip. At last I found it they actually have the Reference manual for STM32F4, but for some reason (probably becoz its new) the file was not on the product page and I have to go to search the whole file list for reference manual for it. I was trying to post GPIOX->MODER (but for some reason it was changed when I post it), I found it!!! its actually switching the mode of the GPIOX input / output / alternate. Once again, thanks for the help. I really appreciate it 🙂

    Best regards,

    Sugi Tjiu

  29. January 4th, 2012 at 20:14 | #33

    Ahh, well that might be the reason why I couldn’t find it either.
    Well yes, that’s one of the new registers in the Cortex-M4 family.

    Glad you got it working 🙂


  30. Mexdy
    June 25th, 2015 at 08:35 | #34

    Hello everybody,

    Please I want to know what does TKJ (turbo-alternator by ALSTOM) stand for ?

    Best regards

  31. June 25th, 2015 at 09:03 | #35

    TKJ is my initials, Thomas Kølbæk Jespersen, hence the name of the company.

  32. Isaiah
    July 10th, 2018 at 01:53 | #36

    Hi. I’ve worked with Arduinos for a long time for escape room props. But our company is working on a larger scale project and I was wondering what you would recommend as a good micro controller to use for a more professional and reliable system. Thanks

  1. June 3rd, 2010 at 08:57 | #1