The two most requested features I have had for MicroAPRS was to add KISS protocol support, and to add configurable preamble time to the SimpleSerial protocol. Both of these things are now implemented! Yay! You can now find the latest stable firmware builds on the MicroAPRS page. Here is a video showing the KISS functionality:

26 thoughts on “MicroAPRS KISS support

    1. Great to hear! Thanks for the report on that. I have only been able to test it with XASTIR myself, so very nice to hear it is running with other software as well 🙂

      1. I like that filter design btw, nicely incorporated into the DC bias. Neat and simple. I’m looking forward to trying it out and seeing how it works

  1. Thank you for the very good work.
    Onder OSX you can flash directly USB ArduinoNano with:
    avrdude -v -p atmega328p -c arduino -P $1 -b 57600 -U flash:w:images/Modem.hex:i
    “atmega328p” and “57600” it the magic values 🙂

  2. Hello,
    I have problem to test the Kiss TNC (MicroAPRS KISS). I burn the Arduino NanoV3 via Command :
    {code}sudo avrdude -p m328p -c arduino -P /dev/ttyUSB0 -b 57600 -F -U flash:w:images/Modem.hex{code}
    next I set the ax.25 port
    modprobe ax25
    modprobe mkiss
    kissattach /dev/ttyUSB0 packet
    kissparms -p packet -t 500 -s 200 -r 32 l 100 -f n
    route add -net netmask dev ax0
    result : AX.25 port packet bound to device ax0
    I tried test : {code} axcall packet TEST{code} but my testing Diode (connected to D9 Pin) is still dark.
    PS. I tested this Arduino board with Blink.ino (change LED to D9 PIN) – the D9 isnt broken.
    What Should I to do : which params set/send to MicroAPRS (KISS) ?
    The soft was ok, I got message under minicom :
    MicroAPRS v0.2a
    Default configuration loaded!
    Modem ready

    1. Hi Pawel!
      It looks like you are doing it right, but I think you have just flashed the wrong firmware! Please go to the MicroAPRS page and download the KISS firmware, and try to flash that one. The one you have now is the SimpleSerial version, which does not have the KISS protocol. I hope that will make it work for you. Please let me know if you succeed!

      1. Hi,
        Yes, it Works ok with the microaprs-kiss-latest.hex ! 😉
        How the compiling code from for KISS ?
        if I only need to change the following lines from
        Pawel, SQ7MRU

  3. Ah yes, I forgot to mention that! Yes, that is exactly what you need to do! Then it should compile with KISS protocol instead!

  4. Today i was able to test the micromodem with KISS-support. As far as i can see it works beautifuly. I havent been able yet to use it to send email using Winlink, but i tried several programs and they all can send and receive data without any problems.
    The radio i use is a Condor-16 wich is Ascom i believe.
    Minor setbackmwas the fact that the Microduino doesn’t use genuine FTDI-drivers, even though the chips say FTDI on them. On the arduino-forum i found a workaround: other drivers which will work with a ‘bricked’ FTDI-chip.

    1. Great to hear!
      Yeah, I know about the FTDI chips, it is REALLY annoying. I also had a friend come to me quite baffled with a modem he’d bought from me when it suddenly stopped working. Luckily it is very easy to “unbrick” the FTDI chip, look here:
      Basically the driver just sets the chip’s PID to 0000, and when changed back to the correct value, all works again. And luckily the bad/malicious FTDI drivers have been pulled from Windows update again after pressure from Microsoft. So if you unbrick the chip, it shouldn’t get bricked again. Either way, if you don’t feel like you’re up to doing it yourself, you can just send me the modem, and I will happily unbrick the USB board and send it back to you, for free of course!
      Strangely it is only some of the Microduinos that have fake chips, I tested quite a few of them :S

    2. Oh, and I forgot to ask, did you not get it to work with Winlink email yet because you haven’t had time to try it, or because it’s just not working?

    1. Great post! Thanks for sharing that, and very very nice to see it working with APRSIS32!

  5. I will follow your link to reset the PID. the solution i found was a driver that does not check the PID.
    The reaspn i couldnt check winlink is that there isnt an RMS in my region to check. What i did see is that i could receive aprs-messages and play digipeater, so i wouldnt know why it shouldnt work.

  6. I went ahead and downloaded Ubuntu to reset the PID. Took some figuring out, as i could not just copy and paste the command. Somehow the dash in the example is different as the dash needed. (i am on an old mac). Once i figured that out it was a breeze and it has been reset. PID and VID are now what they should be.

    1. Great! Very happy to hear that you got it working again! Strange with the dash, I have seen it a few times before, where it seems like the webpage has replaced the normal dash with some strange unicode dash, that the terminal wont understand. Very confusing!

  7. Two remarks that can be interesting:
    On windows 7 i succesfully used AVRDUDESS to flash the microduino (and my arduino nano clone with perfboard modem).
    I also use AGWPE packet engine without problems using the preset for TNC2

    1. Thanks for the heads up on AGWPE! I don’t have a windows computer for testing myself, so very nice to know!
      Also thanks for the info on AVRDUDESS, I didn’t know about that program, looks nice! I will give that a try, looks like there is a Linux version available! 🙂

  8. While trying to use winlink imnoticd some weird stuff going on. Someone asked for the buffersize, how long can a message be. 128 bit, 256? Does someone have an ides?

    1. Yeah, it is most probably the limited packet size that is causing the problems… Currently the max packet size supported by MicroAPRS is 330 bytes (1980 bits). This is more than plenty for everything APRS-related, but for other AX.25 stuff, it might be limited. I would rather have had this at a kilobyte, but as you know, the 328p has pretty limited RAM. You can try this experimental build I just made with a max size of 600 bytes:
      That’s about as far as I’m at all possible to push it with the current architecture of the firmware, but I haven’t really tested that one, so it might do strange stuff 😉
      The problem is that the current architecture of the firmware is too tightly bound up on BertOS, which eats too many resources in my opinion. I actually started a very large optimisation of the firmware a few days ago, basically rewriting everything from scratch; one of the reasons for this is to improve resource utilisation. I have some exciting news about this coming up, which I will make some posts on very soon! 🙂
      Let me know if that experimental firmware works better with Winlink!

      1. Any progress on this firmware? I’m looking for a KISS modem to use with “proper” AX.25 packet BBS’s. Every KISS APRS modem I’ve tried (about 17 of them so far) all have the same problem with the packet size. More than x bits and strange things happen.

        1. Hi Mark!
          Yes, actually the max packet size is now capped at 792 bytes per packet. This is enough to encapsulated TCP over AX.25. If you try it out with some packet BBS’s, please let me know how it works!
          The firmware should actually support up to 856 byte packets (this is the upper limit due to the small amount of RAM on the MCU). I just haven’t tried and tested it yet. If you can compile the firmware yourself, you can experiment with that as well 🙂

    1. The 2560 has enough resources and features to run the firmware, but as of now, there is no mapping for the pins and specific ADC and timer settings. If you can figure this out yourself, you can definitely run it on the 2560. I’m going to add support for other boards at some point, but I just haven’t gotten around to it yet!

  9. Built the MicroModem on perf-board after breadboarding. Running precompiled kiss 5v microaprs firmware. Thank you so much for sharing! Works great with rasbian OS and APRX!
    I’m going to try the KISS support under winlink too. I’d be interested in 2560 support too if that’s what it takes to make ax.25 packet radio TNC a reality.
    I’ll be looking for new activity on this great project!

Leave a Reply

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