Tuesday , 12 December 2017
iten
Home » About me

About me

Thank you for your interest about this blog and its author. My name is Carmine Noviello and I'm an embedded programmer and hardware designer in Italy. I live in the south of Italy, in the countryside close to the wonderful Naples.

I started playing with computer since I was less than ten years. I started having fun with the first PCs in the '80 and, day-by-day, I've translated a passion in my work. Different from other programmers, I started coding with a language not so common at that time: Clipper. I still don't know why I decided to learn that programming language. Probably, the main reason is that Clipper was used as a language for relational systems (especially DBASE III) and then for the development of software for banks management. And this was really mainstream at that time.

For many years I've developed several programs in Visual Basic (one of them - a program for patients management for medical doctors - reached the market too) until I began attend the college, where I started programming in Unix environments and other programming languages like C/C++. But one day I discovered what would become the programming language of my life: Python. I've written thousands of hundreds of lines of code in Python, ranging from web systems to embedded devices. I think that Python is the most expressive and productive programming language than ever, and it's always my first choice when I've to code something.

For about ten years I worked at National Research Council in Italy (CNR) as research assistant, where I spent my time coding web-based and distributed content management systems. In 2010 my professional life has changed dramatically. For several reasons that I'm not here to enumerate, I found myself catapulted into a world I had always considered obscure: electronics. I started first developing firmware on low-cost MCUs, and then designing custom PCBs. Meanwhile I founded a company that offers consultant in embedded wireless systems.

In 2015 I started writing a book about STM32 microcontrollers. It's published through the LeanPub platform, which allows to publish in-progress books. I started writing it just for fun. And now it's considered the best book about this subject. A lot of universities, companies and individuals are adopting it as main reference of this exciting MCU portfolio. And this is probably the most important thing I've done in my life. Sometimes things just happen. By chance.

When I have a little bit of free time, I like to go around with my bike. I had several Japan bikes in my life and recently I switched to a Ducati Monster. I have to admit that Italians do it better 🙂

28 comments

  1. Ciao Carmine,

    sto partendo con una nuova startup nel settore della robotica (aria/terra/acqua) e cerco collaborazioni nel settore programmazione STM32. È un settore che ti potrebbe interessare?

    In attesa di un tuo gentile riscontro.

    Saluti,

    LKB

    • Ciao,
      scusami per il ritardo nella risposta, ma ho avuto problemi con la mail, e non ho ricevuto le notifiche.

      La cosa potrebbe interessarmi, ma dipende dal progetto e dal tipo di collaborazione che cerchi. Sentiamoci in privato tramite il mio indirizzo di posta cnoviello @ hotmail.com

      • Ciao Carime,

        questa volta scusami te, non avevo mai ricevuto una notifica della tua risposta e sono ora ricapitato quí per caso, e ho letto la tua risposta.

        Sto partendo con un progetto open source di un autopilota safety critical per droni basato su Ada-SPARK e STM32. Per questo progetto sono in cerca di partecipanti.
        Questo il sito (work still in progress) adapilot.likeabird.eu

        Ho provato a spedirti una mail sulla tua hotmail, ma mi torna indietro dichiarata blocked. Ti lascio la mia: relaxibus @ akfree.it

        A presto,

        Jarno

  2. Can I connect to a STM32f4 Discovery with the QSTLink2? Your book has been extremely helpful but I don't have the Nucleo board :/ When I try to run QSTLink2 with my board, it says "Device not found in database!". Does this mean my board is not supported by QSTLink2? Thanks

  3. Hi, Just bought your book. Thnx for providing a book on ST's HAL. It seems that the info on the web is very spare and incorrect.

    Two things.

    If possible add the complete table of content to your demo book. I almost didn't buy the book as I couldn't find enough info in the TOC to convince me to but it. Only once I went through the code on Github did I realise that the book is a good buy. I later saw the TOC on the web site.

    You may have answered the following in your book. If you haven't it might be something to add.
    1) I want to do a FFT, which requires precise timing in the ADC samples. To reduce the overheard of interrupts it is best to use DMA. Therefore is there an example that triggers the ADC from a timer and once a buffer is loaded with x amount of samples will it generate an interrupt to notify the user?
    2) What about custom bootloader. What is one would like to do over the air updates by dumping the image into an external flash device from which the ST processor can be programmed.

    Again, thnx for the effort that has gone into writing the book.

    • Carmine Noviello

      Hi,
      Thank you for supporting my project.

      Regarding your questions:

      1) This topic is covered in the latest release 0.12 (released two days ago) in paragraph 12.2.8.
      2) This topic will be covered later, probably in a couple of months, because I've to cover other preliminary topics before it.

  4. Hey Carmine,

    Learning a lot from your blog entries & your book, thanks!

    Any ETA on a tutorial to setup an environment without eclipse? You mentioned in one of your article you would write something about setting up everything using vim, gdb, openocd etc.!

    Regards,
    Arthur

  5. Ho solo 3 parole per definire il tuo blog: Manna dal cielo.
    Lavoro con i microcontroller da pochi anni e mi ci sono avvicinato grazie ad Arduino.
    Adoro l'AVR ma credo sia il momento di passare ad ARM.
    Ho comprato un po' di libri su M0(+) e M3-4 ma non ho ancora avuto il tempo.
    Settimana scorsa mi sono finalmente deciso a comprare un po' di dev boards.
    Ho preso due NXP (M0 e M3) e una STM32f303 su Farnell... sono andato un po' a caso.
    Fortunatamente avevo gia lavorato con Eclipse in passato, lo usavo per sviluppare AS2/3 e anche per un paio di progetti con AVREclipse, ma ovviamente l'approccio ad una nuova piattaforma e tutti i tools necessari in questo IDE è sempre un po' ostico.
    Il fatto che tu lavori su Mac cambia le carte in tavola: non puoi usare IAR o Keil e hai deciso di scrivere un libro che copre STM32 in Eclipse.
    Probabilmente ti farò una statua, ma per ora compro il tuo libro 🙂

    Ah, mi presento:
    Sono Ubi de Feo (al tempo Ubaldo), sono di Agropoli ma da 13 anni vivo e lavoro ad Amsterdam.
    Mi occupo di Interaction Design ed insegno fondamenti di elettronica e Physical Computing in un paio di scuole in giro per l'Europa.

    Grazie per l'impegno che metti in questo blog che dovrò consumare nel giro di pochi giorni.
    A presto
    ubi

    • Mi sento di fare un'aggiunta 🙂
      Ho iniziato a leggere il tuo libro e questa frase mi ha reso felice: "“It is strongly suggested to integrate it with a book about the ARM Cortex-M architecture, and the series from Joseph Yiu it is the best source for every Cortex-M developer.”
      Sono esattamente i libri che ho comprato per M0(+) e M3/4.
      Bei mattoni, e credo che grazie al tuo libro sarà più facile per me iniziare quest'avventura.
      Alla fine come dici tu Arduino nasconde tanto di quello che succede dietro le quinte. Io sono amico di Massimo e ho collaborato con loro come docente di Arduino (ancora oggi), ma la curiosità mi ha spinto a leggermi i datasheets della serie AVR grazie alla quale ho imparato tanto.
      Grazie per il tuo sforzo, se capiti ad Amsterdam spero di poterti offrire un caffè (buono).
      u.

      • Carmine Noviello

        Ciao Ubaldo,
        ti ringrazio tantissimo per le parole di incoraggiamento ^__^. Scusami per il ritardo nelle risposte, ma essendo in ferie ho cercato di staccarmi il più possibile dal mio avatar digitale 😀

  6. Salve Carmine,

    ho letto un suo articolo molto interessante, che poi lei ha riportato anche in un paragrafo dell'ebook "mastering stm32" riguardante la generazione di delay a microsecondi con STM32.
    L'esempio che lei riporta nel suo articolo si basa sulla sintassi di GCC "asm volatile {...}".
    Io uso KEIL da poco e non riesco a trovare un modo equivalente.
    Sa darmi una indicazione?

    Grazie

  7. Carmine,

    Thank you for all of your efforts to make this information available. I was able to figure out the essence of working with my board in an afternoon and it would have maybe been weeks if not a month if I had to do it from scratch on my own. I was especially pleased that the sections had easy to follow directions and an explanation of what was going on to make sense of the step be step directions so I could learn the intricacies of the board.

    I unfortunately will not be able to use the board for the intended project, Using your book allowed me to find this out in a very short time. I will have to find another project to use my board on. Thank you very much.

  8. Hi Carmine, Can you please tell us with the current released version of your book which are the parts that are missing/not yet written?

  9. Carmine, what is your opinion of this post? Is it exaggerated or true?

    https://devzone.nordicsemi.com/question/70721/crossworks-vs-embedded-studio-difference/

    • I've no experience with those IDEs, but using Eclipse+GNU ARM Eclipse plug-ins, which support JLink natively, can give you the same debug experience.

  10. Hi Carmine,

    I had purchased Nucleo F429ZI board about two months back for developing ethernet based application for my client. I have written code for the same and struggling to make it work but not successful so far. I am using FreeRTOS and LWIP tcp-ip stack and generated code with suitable modification using STM32CubeMX. I am able to build on Eclipse and not able to see ETH Interrupt thru HAL_ETH_RxCpltCallback in my ethernetif.c.

    About a week back I came across your web site and purchased your book Mastering-STM32.pdf. I was hoping to get some ethernet based example but I could not find it in your book. I must say that your book is very useful and learnt many new concepts about programming STM32 microcontrollers. I am ready to send you my complete project file if you wish but don't wish to bother you with the code. Can you please suggest reading material for solving ethernet related programming issues ?

    I tried you Ping example (after modification for my board) in standalone - LWIP and FreeRTOS-LWIP on my board but even that is not working. I will highly appreciate your suggestion about ethernet related programming for Nucleo F429ZI.

    Kamlesh J Gandhi
    Senior Technical Software Professional

    • Hi Carmine,

      The PING was not working on Nucleo F429ZI because STM32CubeMX was generating code for Phy DP83848 instead of Phy LAN8742A. The latest update of STM32CubeMX has fixed this problem. Now the LWIP socket program exchanging data with Window 10 PC is also working fine.

      Kamlesh J Gandhi

  11. Dear Mr Noviello,
    I am very interested in your book Mastering STM32. It gives me almost all about STM32 family and CubeMX tool.
    One thing that I wondering most is how CubeMX generates code. I mean when I click and choose function for a pin or add some middleware into project, how does CubeMX put those configurations into files?
    I am very appreciated if you can show me the know-how or some resources that describe in detail this code-generation process.
    Many thanks,

  12. Wagner Caetano

    Hi!
    I bought your book and its great. I'm using UART protocol and reading at page 228 (release 0.22) when I found EIA-RS484 that I never heard before. Should it be EIA RS-485?
    BR
    Wagner

  13. Buon giorno Carmine,

    I am new to this microcontroller domain and very interested in getting your book.
    But before proceeding further to get one, I have the following question :
    1. Do the explanation and examples work correctly with STM32F429I Discovery board ? As for the IDE, I have been using Eclipse from AC6 (France), so I think that it should be okay.

    Thank you in advance for your reply, and enjoy your day.

    Best regards,

    Sujito

    • Carmine Noviello

      The book doesn't cover that specific MCU. However, my book teaches you concept, and it should be easy to start using it. The book doesn't cover the AC6 toolchain, but it's a lot similar to the GNU ARM Eclipse plugin toolchain covered in the text.

  14. Hi, Carmine thank you for writing this book! This completely illuminated and connected the dots in an area that was completely opague to me as someone without a engineering background. I actually had it printed so I can hold it in my hand, it's pretty massive but also beautiful with the colored illustrations. I was wondering do you know if STM and/or their engineers are aware of your book? I also see on your site that you are a big python guy. I myself am of the same sentiment. I was wondering if you have spent any time with micropython?

  15. Alessandro Doria

    Ciao, ho acquistato in questi giorni il libro perché mi è piaciuta l'esposizione e la completezza degli argomenti.
    Unico neo è l'ide basata su eclipse...attualmente sono cambiati sia la versione di eclipse che dei compilatori che dei plugins arm.
    Premesso che ho testato l'ambiente sulla serie F1 (un tuo post diceva che i templates fanno riferimento alla spl e non alla hal e quindi potrebbero esserci problemi) e non sono riuscito a compilare nulla senza errori, sarebbe quindi bello che aggiornassi il capitolo con i componenti attuali (è la filosofia leanpub, no?) o che dedicassi per lo meno un post sull'argomento.
    Grazie, spero di poter abbandonare ewarm 😉

  16. Dir sir.

    thank for your good book mastering stm32
    i need to program sd card by HAL SD generic driver in my stm32f103 micro and see um1850 but it not clear for me,help me pls for writing this program;
    thanks
    areza alikhani
    engneer
    isfahan-iran

Leave a Reply

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