Category: Electronics📱

  • 2023 Kitchen HiFi2 📻

    2023 Kitchen HiFi2 📻

    ⏱️Overview

    This is a continuation of my previous kitchen HiFi modding. Now with replaced electronics for power supply, amplifier and input selectors. Only radio and case stayed the same. So roughly half is made by me.

    ✍️Motivation

    Previously there was here an ancient old power amp chip LA4108, from around 1995 or so when this HiFi was build, with 2 cassette decks. This amp was way too powerful and not quality enough for our times. Since I didn’t need much power, I just remade it with a very simple op amp amplifier, feeding speakers. I also wanted a holder to put my old audio player in place instead of just lying flat and hardly seeing its LCD. Lastly my mother found it hard to see what to press for radio and lost the volume knob behind our kitchen stuff since I moved it on side.

    📊Features

    • Op-amp amplifier feeding 2.7 Ω speakers through 47 Ω resistors. I still had OP275 lying around since like 2002 so I used it. Well it could be NE5532 or anything really. I didn’t bother with any transistors (class AB or A) at all to boost current or more power op-amps, because it was enough and we don’t need to hear it too loud 🔉🤫.
    • Selecting 1 of 3 audio inputs from: FM radio, player (Sansa Fuze+ with Rockbox firmware), and external audio cable (going from my room to kitchen, analog but through Ethernet cable).
      This is done using a MCU (worst for today Teensy 2.0, only because I have bought it long ago when I started and wanted to use it for any purpose finally, it’s ancient 8bit and 5V too, while I moved to 3.3V in my keyboards and all). Code was like just 50 lines, 3 buttons, 2 outputs for old 12V stereo relays, and 3 outputs for LEDs to show which input is selected to play.
    • Power supply for player 4.1V not from battery anymore, slightly with noise due to this.
      Op amp uses +-16 V from 2 regulators LM317 and LM337 from a 15W transformer (could be less, but it’s what I got since years waiting, not used). Another with 12V for relays, and 5V for MCU. So yeah kind of nuts 5 voltage regulators here. It’s likely the reason it takes 3.5W from 220V wall, already doing nothing and about 5W doing something.

    ⌛Conclusions

    Well half of my conclusions are already in my previous project for this HiFi back there. I.e. no reason at all to buy new stuff, better to modify this over 20 year old classic, especially after I painted it so funny. It was also working so best to extend it further and make it better for me.

    So far I can say it is a joy to use and really good audio quality for me. I didn’t hear any noise, especially not like before. I hope it will last for few years at least, until I come up with something new I’d like to add. Or possibly get my stuff from inside and use new speakers, who knows.

    One definite down side is that it took me about 5 days of holiday to do this, so it was way more than I’d like and lots of work still.
    Another bad thing is that it uses 4 W power constantly, likely just because of so many voltage regulators here. But I won’t complain about this. I got more power lost in stuff that’s constantly on in the house all the time.

    📷Gallery

  • 2022 stm32 console 🎛️

    2022 stm32 console 🎛️

    ⏱️Overview

    This is a tiny project, that took about 2 days. It uses the “Bluepill” MCU board with small OLED display for info texts and has few buttons to toggle LED lights and relays for audio outputs.

    ✍️Motivation

    For many years (seems about 20) I was using just old logic chips. And it felt ancient, so I finally decided to do it with bluepill.
    Having a small display is nice and informative. With many inputs and outputs left, there is still room for later changes.
    This “console” is very useful and has a place just left of my keyboard.
    Has no case yet, and I’m not sure if it will, I’m just covering it with a black cloth.

    📂Sources

    Sources are here.
    Actually just using that Arduino .ino since it’s a small project.
    I was editing code in VSCodium, then building and uploading using the worst Arduino IDE 1.8.19.

    📊Features

    • STM32F103C8T6 “Bluepill” MCU – cheap, but decent
    • Small OLED display – for OSD info texts, saying what pressing button did
    • Few (8) buttons, for toggling:
      • 3 LED lights – and adjust their brightness with PWM
      • Audio DAC output to: speakers / headphones / bathroom (12V relays)
      • USB switch (5V relays) – directs keyboard (KC4) and mouse to PC or laptop
    • Just as a place to mount my 2 other important buttons:
      • LCD monitor input switch
      • PC power on/off
  • 2021-22 Fan Controller 🌡️

    2021-22 Fan Controller 🌡️

    ⏱️Overview

    This is a nice gadget I made recently for controlling speed / power of my PC fans (all are 12cm, 12V, 3 pin, with RPM output).
    It has way more features than my old & basic 3 knob regulator which I used for over 15 years.
    And since this is open source (and I wrote it), it surely has and can have any feature (commercially unavailable, not even thought of, or way too expensive).
    Obviously it isn’t badly needed, that’s why I made it after so long.

    📂Sources

    Sources for Teensy 3.1 or 3.2 are available here.

    I do not recommend Teensy 3 at all. All Teensy boards are quite expensive and aren’t that needed for a fan controller. I think a bluepill or blackpill would suffice and be much cheaper. More info and detail in my MCU tutorial.
    I simply used Teensy 3 since I had it available, doing nothing and I had code for it from my older keyboard firmware, so it was faster to adapt it.

    ✍️Motivation

    For many years I was using just the simplest LM317T voltage regulators with 3 knobs (for 3 fan sets).

    Obviously a basic analog fan controller is very simple and extremely useful. I had 3 knobs (5k logarithmic potentiometers) with LM317T (even with no capacitors or radiators), mounted in the 3½” floppy disk bay. It was working very well for years and I could still use it. It only works for analog, not PWM fans.

    I did try once a Gelid Speedtouch 6, wasn’t very cheap, and it was hopeless. Even worse, when I realized that I can make a better one myself, like usually.
    Additionally, after being rather finished with my keyboard features, I had some Teensy 3.2 boards left, lying around, doing nothing, simply asking to be used for something. Even better, I could use my older keyboard firmware for Teensy 3.2 and adapt it fast for this controller.

    So I finally got to creating it. I called it “Fancy” from Fan C(ontroller).
    There was something new to learn too. I even used a cool circuit simulator to find out resistors around transistor, wasn’t exactly the real value later though.

    And of course not everything went as planned.

    For example: I wanted to use thermocouples for temperature which I had few of already. I tried an op-amp with differential amplifier for them and used ADC to read voltage which seemed working on breadboard. But after doing that for real (and using bigger resistor values) something didn’t work and I saw noise. So after few days trying I dropped it and just used DS18B20. They are bigger (3pin package) but have more precise measurement (at higher cost too).

    Unfortunately I also killed one Teensy 3.2 board by accident. I’m not even sure how. I’m guessing some 12V was still left on capacitors and I could touch 3.3V pins with it.

    📊Features

    A shorter, bulleted list of all features can be seen in sources readme with more detail on electronic parts and schematic image here.

    GUI

    It has a 3×3 keyboard and a LCD color display (diagonal is 1.8″, 4.5 cm). I did years ago my keyboards this way, so it also came with 3 levels menu (GUI), many options and even full screen demos (why not).
    Of course it permanently saves all settings, in EEPROM.

    📈Regulating

    The main advantage of my digital fan controller is that it allows lower RPM than analog, which then makes PC slightly quieter.
    This is because a fan needs shortly higher power (voltage or PWM) to start, but can have it lower after it started rotating (I don’t mean the power started rotating 🙂).

    Next, it monitors RPM (revolutions per minute).
    So a natural safety feature here is: stop prevention (or in general RPM guard). It can increase power shortly to start again, even if user picked too little power to spin, or something stopped the fan.

    Additionally PWM outputs can be used, for fans that allow it. Actually all of my old PC fans didn’t work with PWM, so I had to also make analog outputs (channels) for them at some point. I don’t know if it could be more universal, these channels require some other parts.
    So it can control analog fans (changing constant voltage) and PWM fans (changing modulated pulse width at medium frequency).

    Optionally, temperature is measured. It can be used as feedback to automatically set fan power. This is naturally useful if sensor is on (or near) the heating part which fan is cooling.
    Sure, this can be possible to do with some software, that came with PC motherboard, GPU or a separate program. But it may not work on Linux or have all of my custom features.
    During summer I had my fans set higher, also even did set them lower when I wasn’t using much CPU (e.g. playing games or building C++). So hopefully this feature will make controller do it now, not me.

    Since the display is 160×128 pixels, it can show graphs of RPM or Temperature over time. Even few smaller at once, but with less detail.

    ⌛Conclusions

    Well it was a cool project, not just with digital chips, I had to use transistors with other parts too. I’m glad that one of the boards I have unused got to do something everyday.
    I hope it will last long. After all, my old regulators were really basic and much easier to repair (which wasn’t needed).
    Surely this thing is heavy, probably has too many parts too, but it doesn’t matter. It’s not like my PC weight matters at all.

    📷Gallery

  • 2021 RC Drift car 🚗

    2021 RC Drift car 🚗

    ⏱️Overview

    At end of 2021 I bought a WLtoys K969 RC drift car. I will describe here all the modifications I made to it. Also with few review remarks about it, less important comments and rants are italic.

    ▶️Video

    Video here. Drifting in empty office on carpet and kitchen floor (best of montage).
    Camera was just from old phone: LG K10 2017
    Car camera: Ion Snapcam LE, like mentioned below
    Software used to for video eiditing: Kdenlive on Debian GNU/Linux with KDE
    Picture gallery at end of page.

    📜History

    I guess I should write this chapter here, since being almost 40 requires (an attempt for) an explanation🙂.
    Well, as a child I only had a few (probably Russian) cars from 80s, Two did have a cable from controller, and the one that was radio controlled had only 1 button to go backward, which also made it turn. Yeah I also can’t even.
    As a teenager, at some point I got an RC car. It had rear wheel drive and used 27MHz. I think I drove it only 2 times. It was fast and meant to drive outside. It had rubber tires so it stuck to asphalt and would rather flip over instead of sliding. It seemed kind of hopeless (compared to today RC toys) and felt like something is missing.

    ✍️Motivation

    In the mean time I got interested in WRC and 4WD on gravel, played a couple of such games too. And finally made my own Stunt Rally. There was a time when I was a lot interested in tires and car simulation.

    Recently, once a while I was watching various videos about RC toys. Technology moved forwards a lot in them too.
    This way, I found out about RC drift cars of 1:28 scale, and after days of watching videos and researching what would be cheap, but still good for drifting at home (or office) I found this WLtoys K969 and saw how it drifts at home.
    I think I watched later other 1:28 cars (like Mini-Z, Mini-Q etc.), and realized that even thought they are much more expensive they aren’t much better. At least for me as a first car, I don’t intend to drive RC professionally or on tracks. There are also cars and people who prefer RWD only drifting (front wheels move freely), but I was never a fan of that.

    So I think this RC is a nice, real life example, even if in smaller scale. It surely reacts and changes direction much faster than real cars. But is certainly less complicated, has no: LSDiffs, torque curve, gearbox, central differential, etc. In this RC all wheels rotate the same, electric motors don’t even need gearbox, suspension has only stiff springs, and there is no flexibility in tires, since those are from hard plastic here.

    🛠️Modifications

    So the things that I changed and added first to last are as follows:

    • Moved the pin from servo‘s steering arm higher for more steering angle range.
      There is a video here where it was easy..
      But, a huge but here, as it turned out (for me) the upper hole for this screw is wider and I couldn’t just simply use the same screw from lower hole.
      Thus I had to go creative to achieve this. Since I soldered a lot, I came out with a solution of putting few wires together for right diameter, then soldering one end to a tiny PCB part (with 1 hole), and just bending 2 wires out of the other end. It still holds well. Visible on my last picture.
      I guess this isn’t that important but is very good to have. Without this, steering angle is lower, making wider turns, but you still can make tight turns by drifting with quickly spinning wheels to oversteer (lose grip on car rear).
    • Made throttle range adjustable. How to video here. BTW I recommend that channel, it has many good videos including for this RC car.
      This is actually the most important one. Without this it will be difficult to not spin out wheels all the time. For small rooms, throttle range needs to be even lower. Of course they made the car to be cheapest, and even didn’t add the most important adjustment to it, I didn’t need those side buttons, so why not having this instead. Meh, always have to make things usable myself.
    • Added more weight on front.
      I cut out a universal PCB (my favorite kind) and made a place to solder down wires holding extra weights, they fit well. I used 4 in total, 2 on each side. One weights 4.5g, so this is 18g added on front wheels. This made center of gravity to shift (like 6mm or so) towards front and made the car oversteer even more, it drives better. There were some videos on doing that, just gluing 10g weight.
      Isn’t crucial though, still can drift without this. My front PCB is also used for lights and wires.
    • Added front and rear car lights.
      They are good for better orientation of how the car is rotating and what’s its direction. I mean it is actually easier (for me) to tell this by seeing those lights on floor, especially if car is far.
      The only way of doing this is making holes in chassis and hot gluing LEDs to it.
      I’ve spent too much time with lights, first making them in car. This way anytime I hit something harder they would change angle, go loose or break off.
      I also made a second mistake and made holes bigger to have LEDs with cases. It turned out the cases were too big and so long that made wheels hit them, if chassis is low. I will cut them to minimum and glue again. Good thing about that hot glue is that I can actually melt it with soldering iron again when I change my mind.
    • Made the RF sender battery use a 18650 LiPo.
      I don’t get why they didn’t already (was probably cheaper). When full, 4 AAs give 6V, LiPo is 4.2V, but RF sender still works. I thought it would be more difficult, but it was really easy. Just throw out 4AAs compartment and place the 18650 or any other LiPo here. Doesn’t seem to use much power, I didn’t charge it for a month or more. I only don’t know if it maybe decreases range? But with all being digital it may not be affected.
    • Added bottom lights.
      I had some old LEDs lying around, now 2 are on rear before wheels and 2 on front before wheels. Their location with chassis holes makes this cool blue X on floor now.
      I had only two 3mm LEDs so I also used 2 SMD LEDs, which I soldered out from those LiPo chargers (who needs them, red when charging is enough, and were so bright that I couldn’t even?).
      Then I added two 5mm LEDs (too big, SMD are better) green on left side, yellow-orange on right, located right after and above wheels. This turned out to be useful to know even better how the car is rotated from distance. So later I added same (close) colors to front, behind wheels.
      I soldered all on small cuts of universal PCBs.
    • Changed to a bigger car battery.
      The included 400mAh battery allowing 30 min runtime is laughable. Yeah I can’t imagine drones with 15 or less minutes at all.
      It was cheap and light, which is why they made it, right. After all, the freaking top speed has to be highest, like it was important at all. It drifts at much lower speed already.
      My new battery is 1200mAh and allows 1h 30 min drive time (so 3x more).
      It was made from two LiPo 603450 batteries, each size: 50x34x6mm. Glued with tape, fits nicely in same place, is just much higher and it weighs 45g. Secured it with some cardboard and mouse pad fragments on sides and wire (with thick insulation).
      I just had to remove their protection, because with it, it would stop for few seconds when pressing throttle too rapidly (very annoying).
    • With new battery I’ve also done new electrics in car. namely:
      1. 4 pin socket for battery, normally plugged in.
      2. ON-OFF switch. I used a 6 pin Tactile Power Micro Switch (self lock on) 7*7mm to switch + from both LiPo batteries.
      3. 4 pin socket for charger, plugged in when charging.
      4. 4 micro switches for lights (on-off, one small package). I added 47Ω resistors at end of each. I call this a fuse box, their purpose is prevent battery short circuit if by accident some wires connect.
      5. 5 pin socket (3 used now) to connect chassis lights.
      6. 2 trimmer potentiometers 1kΩ, for dimming car lights and bottom lights.
      7. All this required access, so I made a “door” in half of car’s front windshield.
      8. In total, the boards with bottom LEDs and all electrics weight 27g. Seems too much, but whatever?‍♂️.
        Each LED has a 330Ω resistor before. LED calc can be used if needed.
    • Charger
      Made using 2 popular modules: TP4056 / TC4056A Lithium Battery Charger and Protection Module.
      Just added 4 goldpin connector for car socket and that standard 4 pin PC connector for 5V.
      It does charge the battery in about 1h 30min. I’m not sure if it’s too fast or okay. The 4056 chips are heating a bit too much (at start), so I’m using a small copper radiator on them.
      Besides of removing blue LEDs from chargers (mentioned earlier) I also reduced the red LEDs brightness, resistors are now 20kΩ (way more). I hate this approach of adding LEDs, even for “turned on” indication and making all LEDs as bright as it can be. I guess if they could they’d made them visible from space or neighboring countries, that would be the best commercial?.
    • Radiator for main motor.
      Having more time to drive showed that it heats a lot, especially in smaller rooms.
      So I used thermal glue and glued some small aluminum radiators (1 cut to match motor length) bottom to motor and side to car bottom, which is aluminum, so good for cooling too.
      I’m guessing an even better way could be using copper tape around motor and gluing that to car bottom? Not sure. Either way some cooling is needed and would be better to have it done already.
    • Added some rubbers (cuts from mouse pad) below chassis mounting points (I saw something similar in a video).
      And later some foam around the car, better late than never. This is to soften hard hits, those happen a lot at start when first learning to drive, especially without reduced throttle.
      Additionally, at home I do jumps sometimes, banked and U turns (up to like 80 degrees, on a bent sheet of metal I had in cellar) and flip overs can happen this way etc.
    • At some point while reversing I almost broke one differential end (those, like all parts are plastic). I only noticed when one wheel wasn’t driven. But I managed to put it together with a wire soldered around it, so it doesn’t fall apart completely and works, a bit uneven though.
      Parts are freaking expensive, probably few times more than their worth. I hate this approach. If someone bought all parts separately it would cost like 2 or 3 times more than the car itself. Plus the waiting for shipment takes time.
    • After some bigger hit, I broke the thing that holds chassis on front. It is filled with holes and plastic, so no wonder.
      I made something stronger (and heavier like all I did) from a metal part, M2 and M3 screws. Is more difficult to use but should last longer, if I don’t break the plastic part that it’s mounted to.
    • Added a mount for camera on roof.
      Camera is Ion Snapcam LE, it weights 28g, with its own battery. It even lasted longer than car drive. I didn’t yet make it lighter by using car’s battery. Not sure if I will.
      Unfortunately, videos are horribly shaking when driving, because of uneven wheels.
    • In total the car with camera weights now 288g. So it is a lot more (was 160g at start) and the front suspension won’t allow more. Without camera and extra weights it is about 240g.
      I think it still drives well despite the extra weight. But surely when lighter it was quicker and more responsive (less mass and inertia).
    • Now I’m waiting for new wheels, with aluminum rims.
      The default wheels on this cars are cheap, all-plastic and uneven. Even like 1mm difference in height when rotating. This makes the car shake a bit. Surprisingly it doesn’t affect driving somehow, and it wasn’t easy to spot. Only slow time videos showed it and those from car camera, which are rather unusable.
    • Maybe for future (not sure if I’ll try/do any of these):
      I was thinking of making the controller use IR distance detection for throttle (instead of potentiometer which I already once cleaned since dust made it go chaotic). Using a MCU (Teensy 3.2 which I have lying around doing nothing) with LCD, buttons and rotary encoder for a GUI that allows adjusting all ranges and offsets without potentiometers.
      I also had an idea about having a light MCU in car to use RF (e.g. NRF24L01 2.4GHz modules) to send some measurements to controller MCU, like: battery voltage (for remaining drive time), motor temperature, car acceleration, rotation and direction (from those popular new accelerometer chips), and making all car lights toggleable and dimmable (with PWM) from controller.
      Lastly very doubtful, but maybe if I used PC mouse optics and chip I could get real velocity and position on some surface.

    ⌛Conclusions / Review

    I personally can’t imagine having fun with an outdoor, fast / touring car, with rubber tires. Neither with a smaller car that doesn’t have 4WD and drift. And those big RC cars that can slide on gravel (and jump up few meters) are quite big, very expensive (I seriously would buy a new PC instead) and require a big area or a track. And outdoor and indoor tracks aren’t close, are likely paid per hour and have other people. Plus parts for more expensive cars are of course more expensive.

    To summarize, I would recommend the WLtoys K969 car, especially as first RC car for indoor use, with more fun because of drifting. But with a few remarks.

    I don’t really recommend driving this car without modification 2 (throttle range adjust). I did it at start and it was chaotic. Some say modification 1 (more steering) is also crucial.

    Another thing that many say, is that the 2 smallest gears wear out rather fast. Those that drive each differential, both from plastic again. Why on earth aren’t all gears from metal.

    Well as I mentioned few times already, nearly all parts are from plastic, which can be a problem. Surely is for small gears. Later if you drive on uneven surfaces or jump, etc. then mountings for suspension will wear out or break (since closest to floor and from plastic).
    Still (and maybe that’s why) there are many metal upgrade parts and kits, but I don’t recommend any, at all. I have seen too many negative comments from people who say that those don’t even fit together, are bigger, leave less clearance etc. So they just look cool, and that’s it.

    The rest of my modifications were optional and just an easy hobby, that lets me spend some fun time, but not with my PC as usual.

    📷Gallery

  • 2020-22 K.C.4 Controller ⌨️

    2020-22 K.C.4 Controller ⌨️

    ⏱️Overview

    This is my newest keyboard controller software (based on my previous one) used in my keyboard CK9 (upgraded CK6), running on Teensy 4.0 with a 2.8″ color LCD display (320×240, ILI9341 chip). It allows editing everything like key mappings, layers, sequences/macros in real time on its display (was already in previous one).

    ▶️Videos

    Here are videos of keyboard CK9, showing most of K.C.4 on its display:

    • View – Short video of keyboard and closeup at display.
    • Demos – Showing all demos (in auto mode): Plasma, 3D Polyhedrons with diagonals, Wave, Fire (meh), 2D waving CK Logo with shadow, and old Rain.
    • Features – A detailed look at features, no voice or commentary though. Editing mappings, sequences, testing etc.

    Link to my channel with all keyboard videos so far here.

    📂Sources

    My firmware sources are here.
    It’s called K.C.4 (“Kacey”) simply from Keyboard Controller and 4 from Teensy version.

    The readme with all key features is visible on github. Here is more practical description.
    At end of page I wrote a comparison from my previous version (for Teensy 3.2) and quickly with other controllers / keyboards.

    📊Features

    The current code features are (and were mostly present in my previous K.C. version):

    • Display with menu, where you can edit everything possible.
    • Mapping (key binding).
      So which USB code will the physical key send to PC when pressed. There is a pick list with all common keys (and internal functions, sequences, etc) to choose from when binding. It has group colors and group filter for easier orientation.
    • Keyboard layout drawn on display.
      Shown when editing mappings (for currently chosen layer). Has a cursor to move around between keys. It’s also possible to jump to a key by pressing it.
    • Layers.
      If you hold a key, whole keyboard layout changes giving you other keys. Kind of like the Fn keys on laptop but much more useful and customizable. A common feature of custom controllers.
      Locking layers is also possible, either by lock/unlock key, tapping layer key fast or holding it for longer. Of course can be disabled and delay parameters are changeable.
    • Mouse keys.
      Keys that will move mouse, press mouse buttons or scroll mouse wheel. Also featuring acceleration with parameters for it and speed in GUI.
    • Sequences aka Macros.
      Basically any key combinations (for key shortcuts) and any sequences of key presses (for e.g. passwords). I am showing sequence previews where possible too, so when editing Mappings (for a sequence key), when picking a key from list or Testing pressed keys (if a key runs a sequence). I am also showing in sequences View, all mapped keys that run selected sequence.
    • Sequence commands are just a further extension.
      • They are special commands (beside sequence keys), that e.g. wait for few seconds (0.1s resolution), or change how slow the sequence will run (1ms resolution, useful e.g. for putty).
      • Others allow putting comments (for sequence purpose), and hiding sequence from preview (e.g. for passwords).
      • There is also a command to run other sequence(s) from this one. Also a repeat command that will do sequence (keys) continuously, until interrupted. This is e.g. useful e.g. if you want to watch a video faster, skipping parts with arrow keys after a short delay or take screenshots while watching etc. Normal keys can be used when a sequence runs too.
      • All mouse actions are available as commands too. So for example you can press a key (for a sequence) that will press button or move mouse etc. I have this way a mouse gesture done.
    • Internal functions.
      Keys to e.g. dim brightness, toggle GUI, toggle LED light, quit sequence, lock/unlock layer, change default layer etc. This a direct way, faster than adjusting parameters in GUI.
    • Testing and Setup pages.
      Useful when developing and to check if everything is working properly. Scan setup is advanced and adjust which strobe delay, scan frequency, debounce time I need. Matrix page shows the 18×8 keyboard matrix, with my anti-ghosting code working and any issues from too low strobe delay.
      It now also features X marks on keys that are available in matrix but not present on layout, this makes locating new extra keys very easy.
    • Demos and Game.
      Were already present in previous version and even on the first tiny display I used (128×64 mono). Since I have a display, and a powerful MCU, they show their drawing possibilities.
      They got extended to new resolution with few added extras. Best shown on videos, links below.
    • Clock.
      With date (uses internal RTC, needs 3V battery).
      Also showing Temperature, read from attached DS18B20 1-wire sensor (optional).
    • Statistics.
      Clock also displays (on its extended pages) keyboard use statistics:
      • Uptime.
        Time since power on or plugged in USB.
      • Late hour background.
        Will start slowly showing top of display orange at 22:00 and every 0:30 min going more visible, being yellow after 0:00 (midnight). This is to notify and motivate me to go to sleep when I sit too long at night.
      • Active time.
        I.e. how long I use keyboard without a break (at least 5 min, can be adjusted). Changes color from value.
        This is helpful to know if I’m doing something too long on PC. After all, it is recommended to take 5 min breaks every hour, it is healthy for spine and hands.
      • Inactive time.
        The opposite. Useful to know how long was I away from PC (keyboard). Also changes color when over 1 hour. Meaning I probably should have turned it off, to save power.
      • Press/min.
        Typing frequency, so how much key presses are done every minute. A colored value on left, going e.g. red at 120, yellow starting at 50.
        Also a second value below with total average since power on, with slowly changed value. So it is useful and directly corresponds to how tired will hands be. It’d be great to keep this value below 50, but sadly writing any text (e.g. chat, email etc.) or playing a game makes it go even above 150.
    • Graphs.
      As a part of clock, they show history of using keyboard (key presses/minute in the past hours). Second one is for temperature history. There are 320 points on display width and parameters for how often a value is added to graph.

    ⌨️Keyboard CK9

    I upgraded my 2018 keyboard CK6 with this bigger display and K.C.4 and it became CK9. I also added tiny extra keys, lots of them. Above Numpad, 2 rows of 8 or in other words 4 groups of 4. Surely will come handy for e.g. internal functions or could be extra F13-F24 keys for OS.
    The keyboard has visible tear on few keys already, well I use it since 2016 (was CK3 first). Nothing yet, compared to the 14 year old one (CK7/4/2).

    ✍️Motivation

    My previous version of KC and keyboards with it were quite useful and the 1.8″ color display was good too. The keyboard drawn on screen was minimal. Keys with one letter/digit/symbol had a 5×7 font, but 2 letters needed a tiny 3×5 font. It worked, but didn’t look great.
    So the new display is bigger 2.8″ and has about 2x resolution (320×240 vs 160×128).

    The main reason for this upgrade though was the new Teensy 4.0 with a MCU that runs at 600MHz. It seems to be the fastest one available (on a board with USB, ready to use). And is even way faster than all previous. I already didn’t like Arduino in 2014 when I got interested in MCUs (again), seemed like a stone age relic compared to Teensy 3, but today I can say they probably have computational power of a rock, when compared.

    The result is constant 45 frames per second almost always. This is what 600MHz MCU with SPI set at 60MHz for this display does, while using DMA for transfers and double buffered drawing (one buffer is being sent by DMA to display, while MCU draws new frame in second buffer, at the same time).

    ⚖️Comparisons

    Of course, there were many projects of using a big display with slow MCU even. A MCU not having enough RAM for screen buffer. But this means very low refresh rate (low Fps) and flickering (blinking when redrawn).

    There are few open source keyboard controllers, I think none of them even have a display, and some still use ATmega 8bit MCUs. Their requirements for program and RAM (memories of a MCU) are minimal, way lower than mine. And the price will be lower too. But the main flaw coming from it, is having to compile on PC and upload to MCU after any change. This is a big nope for me.

    📢Rants

    So for me, this is now the present (not the future anymore). And well honestly, whenever I see a custom keyboard picture I’m just asking: “where’s the display?”. In addition, seeing Cherry MX or any switches turns me away immediately.

    Because there is one more very important thing that is the light press modification. All my keyboards since 2005 have it and it’s just the default for me. Sadly all commercial keyboards are garbage in this matter and people continue to produce keyboards that have a tactile feel, 4mm travel and around 50 gram force to press. Well for me this is the middle ages era. This can cause injuries (Carpal Tunnel Syndrome). And I guess it feels awful for those having pain from using such keyboards.

    For my modding process (of reducing rubber dome keys press force and travel) pictures are in this gallery and I made a video of it recently (it is CK5).

    ✅Summary table

    For reference, here is a table with current status of all my keyboards, since start until present day:

    NameAssembly yearOriginal keyboardKeys actuation
    [gram force]
    Notes
    CK3 > CK6 > CK92016 > 2018 > 2020A4 Tech KX-10023 gCheaper, bit wobbly, but more keys
    CK2 > CK4 > CK72005 > 2016 > 2018Logitech Ultra X Flat33 gStiff foil, old, extra keys
    CK5, CK5b2015, 2020A4 Tech KV-300H9-18 gThe lightest foil
    CK12004Logitech Ultra X Flat25 gFirst, old, had extra keys,
    now only for testing, 1 row dead 💀

    📷Gallery

  • 1997-2022 Kitchen HiFi 📻

    1997-2022 Kitchen HiFi 📻

    ⏱️Overview

    This will be a somewhat unusual project post. I normally don’t show off stuff that didn’t need much creative work, but in this case it has a very long history (since 1997). It has gone through many modifications and it is still used every day, now in our kitchen for playing music.

    📜History

    It all started as a Panasonic RX-FT530 Dual Cassette Player. My mom bought it for me in 1997 (its production date inside has 1995), before I started technical high school. It was also around the date when I started learning electronics in practice and later in theory (from 20 years ago) at school.

    Since then it has gone many changes and had lots of features, many of them aren’t present now:

    • Blue LED for radio stereo indicator. Obviously, the first thing to do.
    • A switch for super fast cassette rewinding (Do feel free to spool through). Tape looked after a bit uneven inside, but very useful.
    • Green LED lights under both cassette decks (in middle) to see where the tape is at (how much on left and right barrel). Also extremely useful.
    • I removed the closing decks, and was just having cassettes clearly visible while using.
    • A small LED for the marker on frequency ruler for analog radio. I think it broke at some point leaving me without a ruler. I guess due to putting it apart and together again, fast and too many times, while not caring much where I place its parts.
    • Not sure when, I splashed it with (white, silver and gold) oil paint?, from PCB markers I had back then (obviously too many).
    • A digital clock, at some point on right side. Wasn’t very accurate so it didn’t last long there. Left a switch and 4 places after its buttons in back though.
    • More input sockets, output audio socket to other amplifier, switch for it etc.
      I remember at some point of experimenting with other amplifier I accidentally put like -30V into HiFi, killing its power AMP chip. Which I then replaced, was a good challenge. While still being a teenager I obviously needed this HiFi.
    • Since these became not needed later, all holes got covered with black tape (at least 10 already, in total).
    • At some point I added a 5V regulator 7805 and USB sockets so I could power other devices from HiFi, e.g. a clock
      (Instead of ridiculous AA batteries. One can use a 3V regulator or a resistor (e.g. 200Ω) with 3V zener diode).
    • It has spent a few years, abandoned in cellar. Gathering dust and wishing for a better future.
    • Many years later, I ended my history with cassettes (recorded them on PC into FLAC and OGG, and threw out after).
      In 2020 the cassette decks (with all that mechanical nonsense and engine) flew out to electronic garbage bin too. It was just the amp and radio then.
    • I wanted to have a digital radio, that stayed at given frequency. And BTW a MP3 / USB player, why not.
      So I ended buying a cheap, local, 2nd HiFi (anyway with Chinese components) which just featured both. It had crappy sound due to small speakers (no bass at all), we used if for short, but naturally I wanted to merge its insides into my old speakers from Panasonic.

    🔍Details

    The final “HiFi” currently features a digital radio, USB or SD card player (from that 2nd cheap “HiFi” product) and analog input.
    Its radio forgets frequency after power off though, so power is always on. It was too in Panasonic, IDK why, using about 0.5 to 1W constantly, power amp is likely always on.

    I scrapped that stupid Class D amp (MIX3018) from 2nd HiFi, I prefer that AB, although it has too much power. Then located its audio outputs and connected to old LA4108 power amp (low quality, too much power), but with better quality anyway.
    Later I also added a double potentiometer (which I even had available) for volume on front, since the original was making noise when turning.

    I will eventually just use op-amps to speakers someday, and will throw out the big old PCB too, from which just 20% is now used. Then it will be just speakers and case from the oldest HiFi.

    There are now 3 extra buttons on top (power on/off (hold) / input, next and previous) to control 2nd HiFi. Light press switches, 0.5N force, my favorite. I put rubber cover on top, to protect form any liquids💧, this is kitchen after all🫖💦.

    For a while I had a cheap tiny Bluetooth receiver in analog input, powered from USB, but I dropped it, too much noise and once a while it did reconnect etc. Audio cable is more reliable, even cheaper.

    I still use its regulated 5V outside but in different connector (PC like), to power an outside thermometer (was from a PC case) and a digital LCD clock.

    Lastly I added a small white LED lamp, that’s always on, and helps moving around the kitchen at night, before reaching main light switch.

    ⌛Conclusions

    So: why didn’t I just buy a new HiFi that already has all those features, instead of continuing with this old junk?
    Several reasons:

    • Firstly, there is no such thing as a product that has all features / properties that I need, with proper control and interface (knobs, convenient buttons, menu, etc). This can only be achieved by continuing to develop it myself according to my current needs.
      I now see all electronics products just as ingredients for further modification. Ideally I would create one from start, but that’d be too much time and effort spent, just for our kitchen.
    • Secondly, I am an anti-consumer, I usually hate buying. It needs a lot of time for research, to find a product that is closest to: not a hoax/hype, reliable, functional, fair-priced, still cheap, durable (will work for long), allows repairs, looks okay, black, etc. (all at once; add needed, strike out not needed ?). On top of that I don’t like spending money (I like saving it) to support companies, which constantly produce (soon-to-be) garbage.
    • Lastly, it is a fun and easy hobby that grants better more customized products for daily use.

    📷Gallery

    It has pictures from 2020 and up, showing old look and the newest merge of 2 HiFis. Needless to say, their cases weren’t compatible at all, so there is a lot of black tape around.

  • 2018-19 K.C. Controller ⌨️

    2018-19 K.C. Controller ⌨️

    ⏱️Overview

    This is my own keyboard controller software used in my keyboards CK6 and CK7 (upgraded CK3 and CK4), running on Teensy 3.2 (or 3.1) with a color LCD display (160×128, ST7735 chip).
    It allows editing all: key mappings, layers, sequences/macros in real time on its display.
    It is continued in newer version with Teensy 4 and bigger display.

    📂Sources

    My firmware sources are here.
    I called it K.C. (aka “Kacey”) simply from Keyboard Controller. A catchy cool name for software is a thing, isn’t it.

    The readme with all key features is visible there too. Here will be a more practical description.

    ✍️Motivation

    My previous keyboards CK3 and CK4 were quite useful.
    But there were few flaws that I wanted to improve. They had a very tiny display, sure it did the job, but wasn’t convenient to look at for longer. Since I based my code on existing kiibohd controller software, there were few problems. Any change in key bindings had to be done on PC, needed to build binary and upload it to MCU. That’s a long way to e.g. check if it’d be better if I swapped some keys. Not to mention doing it at work. Lastly, there were few bugs which I couldn’t spend more time trying to fix.

    So, it’d be better indeed to start writing my own code. And that’s what I did. Right now I can’t find a reason not to use my controller code. Sure, it was easier back then to get started, knowing there is an open source keyboard controller and it runs on Teensy 3.1, this is how I got into it. My code surely doesn’t have stuff present in kiibohd like NKRO support, keyboard LEDs animations and other fancy things I will likely never need. But it now does have features I wanted and it wasn’t that difficult to code them.

    📊Features

    So the code features are:

    • Display with menu, where you can edit everything possible (that I needed so far).
    • Key bindings (mappings), i.e. what USB codes will the physical key send to PC when pressed. There is a pick list with all common keys (and internal functions) to choose from when binding. It has group colors and group filter for easier orientation.
    • Keyboard layout drawn on display. Shown when editing mappings. Has a cursor to move around between keys, can also jump to key by pressing it.
    • Layers. If you hold a key, whole keyboard layout changes giving you other keys. Kind of like the Fn keys on laptop but much more useful and customizable. Surely a common feature in custom controllers (like tmk or kiibohd).
    • Sequences aka Macros. Basically any key combinations (for key shortcuts) and any sequences of key presses (for e.g. passwords). Not typing passwords myself, when my keyboard could do it, was my first reason when starting with keyboard controllers back then. Sadly even in kiibohd you couldn’t change them without rebuild and upload. This then was possible in my fork of kiibohd. To be convenient, I am showing (short) sequence preview where possible. So when editing Mapping (for a sequence key), when picking a key from list or Testing pressed keys (if a key runs a sequence). I am also showing in sequences view any mapped keys that run selected sequence.
    • Sequence commands are an even further extension. If you have an editor on display (basically a simpler editbox) one could put special commands (beside sequence keys), that e.g. wait for few seconds, or change how slow the sequence will run (useful for putty). Newest ones allow putting comments, useful if you have lots of sequences and want to rather see what it’s for, not what it will press. And hiding sequence from preview, useful if you don’t want to show important passwords on GUI.
    • Mouse keys, i.e. keys that will move mouse, press mouse buttons or scroll mouse wheel. Also featuring acceleration and even parameters for it and speed in GUI.
    • I now even have mouse commands with all mouse actions possible to add in sequences. Some stupid programs don’t allow everything using keyboard and specifically want you to click with mouse. But hey, now even this could be done automagically by my keyboard.
    • Testing and Setup pages. Those are quite useful when developing and in normal use to check if everything is working properly as intended. Scan setup is nice e.g. to check which strobe delay, scan frequency, debounce time I need. Matrix page shows the 18×8 keyboard matrix, with my anti-ghosting code working and any issues from too low strobe delay.
    • Demos and Game. Were already present in my fork of kiibohd. Now extended with new presets to color display. Best shown on videos, links below.
    • Clock with date (internal RTC, needs 3V battery) optionally also showing Temperature, read from attached DS18B20 1-wire sensor.
    • Internal functions, e.g. to dim brightness or toggle GUI, by keys on other layer.

    ⌨️Keyboards CK6 and CK7

    I then upgraded my 2016 keyboards CK3 and CK4 with bigger, color display (160×128 LCD, ST7735) and K.C. They now became CK6 and CK7. Apart from the new displays and my software, the keyboards are the same.

    The CK7 is the oldest one, comes from CK4, which in fact was done from CK2 (2006) and is now 12 years old… Still doing fine. Well this proves then, that cutting and gluing rubber domes is nothing that would decrease the lifespan of a keyboard. Even recently folded keyboard foil since CK4 works okay.

    ▶️Videos

    There are a few videos of my keyboard CK7, showing most of K.C. on its display:
    (no talk and very poor quality).

    • View – Short video of keyboard and closeup at display.
    • Plasma – Quick and colorful show of presets of plasma fullscreen effect. It runs at 10-30 frames per second. Note that I overclocked Teensy 3.2 here at 120 MHz, HW SPI runs at 30MHz. My other keyboard CK6 has Teensy 3.1 at 144MHz, SPI at 24MHz, it gives about 1.5 Fps more here.
    • Demos – Showing rest of demos: 3D Polyhedrons with diagonals, Wave, Fire (not real) and the older ones: 2D waving CK Logo, Space, Balls, Fountain, Fonts.
    • Game – falling blocks (Sixtis), or my version of it. It has 11 game presets, generated blocks, possibly diagonal, with many parameters for custom games.
    • Features – A detailed look at features, no sound or descriptions though. Editing mappings, sequences, testing etc.

    Link to my channel with electronics videos here, mostly from my keyboards.

    ☑️Summary

    For reference, here is a table with current status of all my keyboards, since start until present day:

    NameAssembly yearOriginal keyboardKeys actuation
    [gram force]
    Notes
    CK3 > CK6 > CK92016 > 2018 > 2020A4 Tech KX-10023 gCheaper, bit wobbly, but more keys
    CK2 > CK4 > CK72005 > 2016 > 2018Logitech Ultra X Flat33 gStiff foil, old, extra keys
    CK5, CK5b2015, 2020A4 Tech KV-300H9-18 gThe lightest foil
    CK12004Logitech Ultra X Flat25 gFirst, old, had extra keys,
    now only for testing, 1 row dead 💀

    📷Gallery

  • 2016 Keyboards CK3,4 ⌨️

    2016 Keyboards CK3,4 ⌨️

    ⏱️Overview

    The newer two of my heavily modified keyboards. This time having Teensy 3.1 (or 3.2) as microcontroller with a tiny 1″ monochrome OLED display. Firmware was based on Kiibohd, it was a fork with my extensions. I added display support (with a library), menu for editing e.g. macros/sequences, few demos and a game.
    I did improve them further in my newer firmware, with bigger display.

    🛠️Modifications

    Light press

    Rubber domes reduction for minimized pressing (actuation) force and distance. Simply more pleasant and comfortable. Also healthier, since the risk of keyboard injuries decreases. I do it always for all my keyboards. Process with info shown here and in gallery below at end.

    ⌨️Additional keys

    For CK4 there are also few small extra keys. Which were present already in my earliest keyboards CK1 and CK2. Those are glued on top and are made from lightest 0,5N switches available. The row above numpad is used for my audio player control. Rest is custom. This part is optional and I didn’t do it for CK3. The disadvantage is the difference in pressing those switches and much lighter normal keyboard keys. They are smaller so you can fit more, but are less convenient to press. Lastly, regular keys can be used to switch layers instead.

    ⚙️Microcontroller (MCU)

    The second step was replacing the keyboard controller board, with my own. The hardware is composed of Teensy 3.1 (or 3.2) with a tiny 1 inch OLED display (SSD1306, monochrome, 128×64) and a bunch of wires to connect to the original keyboard’s matrix.

    The reason for this was to take advantage of already made open source Kiibohd controller allowing any imaginable keys assigned and layers. Also possible are macros, key combinations and even mouse buttons and movement simulation. But changing any of this required rebuilding controller software and uploading to controller, through already present USB.

    It was a bit simpler to start at the time, instead of writing my own later.

    📊Features

    After getting it to work, I implemented my own menu where you can edit sequences, stored in memory (remembered after power off). The sequences are very useful for not typing passwords or simply binding some useful macro combinations or commands dynamically. Which needed a display and menu for entering.

    Once I’ve done the useful stuff, I got carried away and implemented several demos on display and even a falling blocks game.
    I also wrote about it in this forum post.

    📂Sources

    The code is in my fork here with some more detail.

    ✅Summary

    For reference, here is a table with current status of all my keyboards, since start until present day:

    NameAssembly yearOriginal keyboardKeys actuation
    [gram force]
    Notes
    CK3 > CK6 > CK92016 > 2018 > 2020A4 Tech KX-10023 gCheaper, bit wobbly, but more keys
    CK2 > CK4 > CK72005 > 2016 > 2018Logitech Ultra X Flat33 gStiff foil, old, extra keys
    CK5, CK5b2015, 2020A4 Tech KV-300H9-18 gThe lightest foil
    CK12004Logitech Ultra X Flat25 gFirst, old, had extra keys,
    now only for testing, 1 row dead 💀

    ▶️Videos

    CK3 demos, CK4 demos – showing all demos on display, it is only 128×64 resolution

    Plasma – uses dithering, since display is mono, 1 color only

    Game – blocks falling, shortly played on each preset

    Features – menu with all configuration possible back then and options, also keyboard view

    Keyboard View CK4 – shows view at CK4 keyboard

    📷Galleries

    Pictures from my keyboards are as follows (newest first) of final result and assembly for CK4 and CK3:

    CK4 final (18 Apr 2016)

    CK4 assembly (Apr 2016)

    CK3 final (11 Apr 2016)

    CK3 assembly (Apr 2016)

    CK3 rubbers cut and glued (Apr 2016)

  • 2003-04 Distortion X 🎸

    2003-04 Distortion X 🎸

    ⏱️Overview

    “Distortion X – The Great” was my final version of an analog guitar effect from 2004, and looked similar in 2003 already.

    📊Features

    It had a Distortion, Reverb / Echo and 2 Equalizers (9 and 18 bands).

    The Distortion featured such regulations:

    • Switch for Clean / Distorted mode, pink LED
    • Clean Volume
    • Drive (i.e. Distortion, Amplification)
    • Low Pass (filter frequency)
    • High Pass (filter frequency)
    • Balance (mix between the two filters)

    Reverb was made on the longer analog line MN3008.

    It had only 3 potentiometers (knobs):

    • Delay (i.e. Length: short would do Reverb and long did Echo, at reduced bandwidth)
    • Feedback (how much from output was summed back to input)
    • Volume (output mix between Reverb and clean)
    • Switch to turn on/off, white LED

    Equalizers were used only one at once. By default the Narrow one (9 bands) was for Clean mode and Wide (18 bands) was for Distorted, thus allowing more customization. Narrow had violet LED on left, and Wide had orange, on right.

    It also had 2 switched, one would exchange Narrow with Wide (so the opposite to default, Narrow for Distorted). And other switch was to turn equalization off, mainly just to check the difference, most left, red-orange LED.

    For a moment it had also the short Reverb / Flanger board with knobs, visible on pictures. But I didn’t use it. Power supply for it was different (not symmetrical) and that added more noise.

    📜History

    I was developing analog effects for electric guitar since we started playing in 2001. There were several versions of it. The 1st was just a distortion. The 5th had one 9 band equalizer and I think also a Reverb / Flanger on short delay line MN3007. The 8th was similar but had 18 band equalizer and long Reverb / Echo.

    Since I was playing backgrounds and my friend solos, we needed 2 effects. The 5th and 8th were separate and best combination. I was naming them using Roman numerals, so this one, X was the 10th and last version.

    ⏳Conclusions

    In 2004 I bought a digital effect, Digitech RP 200A, and first realized the huge difference between analog and digital effects. It was very feature rich and the sound quality was much better (probably like 20dB more, I guess my analog could be about 70dB SNR at best). Digital also had many more effects like Chorus, Detune, realistic Reverb, high quality Echo, Cabinet models etc, and was stereo. But that model was very poor in regulations, there was only one parameter for each effect that could be changed (had only 3 nobs).

    So even though it was higher quality and had more features (but less regulations), I still used my Distortion for some time. Also since the digital sound and because we started college we stopped playing together so often and then at all. Also we had the digital one so I could just put all equalizers and reverbs in one. Then I finished it with a better case (from an Audio CD Recorder, which internals I moved to a worse case ?).

    ➡️End

    I sold it recently. For a ridiculous price, maybe just summing up to what parts had cost me. But there was a lot of time dedicated to developing it and making PCBs. But still, I’m glad I freed up cabinet space and didn’t have to throw it out (too sentimental to do that). Also got some money for it and somebody could find it useful or maybe even educational. I sold my guitars that year too. They were just gathering dust for too many years.

    📷Gallery

    Also with pictures of inside and schematics.

  • 2002-03 Console 8051

    2002-03 Console 8051

    ⏱️Overview

    This is the final version of the “console” I created around 2003. Its purpose was to serve as program memory for 8051 MCU (board with it is not yet attached on this picture).
    The PC was filling console’s memory with bytes of code and then starting MCU which used it as program code.
    Console was connected with a PC through parallel port (LPT). The PC had my own IDE (editor) and compiling its assembler code to bytes.

    Nowadays this isn’t at all needed and even looks scary. MCUs of today have Flash memory for program, either programmed from PC through USB already or with a simple chip (USB to serial) converter/adapter/programmer.

    📊Features

    PC usually was sending a lot of bytes, so the console had counters, to increment the address by itself.
    It used power supply from PC, here 12V which LM317 regulator converted to 5V.

    So its memory (SRAM, 256kbit) was filled by the PC through the console, it then would serve as program memory for the 8051 family MCUs (a quite popular one, but still poor, like ATmega328 today).

    I had two modules for it. One with big 80C32 and second with smaller and faster 90C32. The console had a connector where you could attach one.

    It also featured a relay that would automatically turn on the supply for the module once the program got transferred to memory.

    Later you could switch the SRAM to EEPROM and get it programmed for the use in actual module/device with MCU, without console. Which I eventually never got to.

    🔍Details

    The console board was smaller than the older one (below) and needed less current. It featured a small and detachable display module, for showing address and byte value, which was mainly for checking and later wasn’t needed.

    Construction was made on a universal board, possibly reused. Since being smaller it also was more durable and had less spaghetti wires. Underside actually looked very well compared to the mess in older version.

    🖥️Program

    The PC program was driving LPT port and sending code bytes to memory. It quickly became a basic IDE, where I could write code for ’51 MCU in its assembly language. I wrote it in Delphi 5, which I was using at that time a lot. It translated all instructions and computed jump offsets. Additionally with one key press it compiled assembly code to bytes, then sent it to console and triggered its relay to start the program with MCU module. That was the most convenient thing possible. I’ve seen too many solutions which needed pressing reset switch on the board or other slow, manual work.

    👉Conclusions

    I was trying out few things to get done, an 8 bit ADC, a real time clock HM6818A chip and mostly 5×7 dot matrices. It somehow didn’t feel too stable, and it was a lot work to get anything done at the time. I actually didn’t finish any board then, as a separate working MCU. For a clock it would use too much current. And for making anything else that MCU was too slow. And I was more interested in other things at the time like creating music and my tracker.

    Lately everything I wanted back then, can be easily (and rather cheaply) done with modern MCUs connected through USB. Hence my recent interest got back into electronics and my keyboards even had a 128×64 display and even a 160×128 one later.

    📜Older version

    The first (older) version had bigger digits, mounted solid with also the logic to decode them. I think it was using close to 1A from 5V, and the 74192 counters were heating like crazy.

    I was also using SMD chips, if I found them somewhere else and desoldered. I don’t have any picture from underside of this old version, but I remember it was a serious spaghetti. I’m guessing around 400 wires connected 😆.