Posts

  • AVR Dx First Steps (with Curiosity Nano)

    Few weeks ago a friend of mine gave me an AVR64DU32 Curiosity Board (an evaluation/tinkering board with one of the new AVR Dx micros on it) to start poking around.

    Here’s how I set up a basic environment to work with my usual toolchain (avr-libc, avr-gcc and avrdude).

    Curiosity Nano Board

    Read more...

  • Analog Phone Dialer

    Analog Phone Dialer Analog Phone Dialer

    Few months ago I got one of those old analog dial-based phones (the ones with the “rotary thing” that uses a pulse dialing technique to transmit the numbers across the phone line).

    After some cleaning and minors fixes (like replacing a broken microphone) it became fully functional again, except for the fact that I could recieve< calls but I couldn’t make them…

    The reason wasn’t a broken device but it’s own old pulse dialing tech (remember that nowadays everything goes under Dual-Tone Multi-Frequency signaling).

    Even if most of the main modern phone lines still support pulse dialing (not actually sure how consistent this compatibility is), the average domestic optical fiber router doesn’t. Therefore, even if I could dial up to some destination, chances are the receiver wouldn’t even support my ancient dialing method, so if we were dealing with one of those answering machines “press 1 for whatever option”<) it would became useless again.

    There are some workarounds over this problem out there, but I decided to go with my own AVR-based solution: an atmega48p capturing the rotary dial pulses and generating the proper DTMF tones using a DAC converter made with a R-2R resistors ladder.

    Read more...

  • I2C libraries for attiny85-like AVR micros

    I2C libraries for attiny85-like AVR micros

    A pair of I2C libraries for AVR micros with USI two-wire mode capabilities (developed and tested on attiny85’s, but portable - in theory! - to similar devices with the proper pin changes) + a bunch of examples both with primary and secondary devices.

    Read more...

  • Clickhouse Cityhash PHP extension

    I wrote a PHP extension implementing the custom Cityhash algorithm found on Clickhouse DBMS (needed that for some work-related projects, then published here).

    Check the Github repo for more info, source code and links.

  • Led Scroller Matrix, ATMega48-based

    Led Scroller Matrix, ATMega48-based

    A charliplexing-driven 47x8 led matrix made with an atmega48p. With only a few resistors and ~400 leds it’s a pretty decent scroller board* to display messages or act as a pixel-driven screen (but also a little bit tedious to solder by hand!).

    Can also be controlled via I2C and includes native scrolling text capabilites on the firmware.

    Read more...