Reverse engineering vintage Japanese electronics - a vacuum fluorescent display!

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 849

  • @rosendo843
    @rosendo843 5 ปีที่แล้ว +1039

    Bug is he forgot to declare int i = 0, so i takes on a random value probably in the order of millions (negative or positive)

    • @StrangeParts
      @StrangeParts  5 ปีที่แล้ว +254

      Bingo! I found it a few minutes later.

    • @rosendo843
      @rosendo843 5 ปีที่แล้ว +86

      @@StrangeParts Relatable C programming problems :P

    • @tim.e.l
      @tim.e.l 5 ปีที่แล้ว +4

      damn too fast for me.

    • @rosendo843
      @rosendo843 5 ปีที่แล้ว +42

      @M. de k. You're correct. But in appearance It's a random number, and it's an easier way to explain in youtube comments.

    • @fidelgutierrezvieyra7906
      @fidelgutierrezvieyra7906 5 ปีที่แล้ว +2

      @@StrangeParts you are the best and my source of inspiration

  • @giacomo.delazzari
    @giacomo.delazzari 5 ปีที่แล้ว +67

    A cool tip for when you're trying to interface with "strange parts" you don't know a lot about and don't want to blow up (especially in the case of messing up inputs and output pins or voltage levels), is to put series resistors (IDK, around 1K) on all digital signals. That way you limit the current if something bad happens (like both ends forcing opposite voltage levels on the same wire). Keep that in your "toolset" :)

    • @HMPirates
      @HMPirates 5 ปีที่แล้ว +5

      Thank you!!

    • @sstorholm
      @sstorholm 5 ปีที่แล้ว +6

      These are the things that you never get taught except in inexplicable places like youtube comments. :)

    • @emmanuelrodriguez2346
      @emmanuelrodriguez2346 5 ปีที่แล้ว

      @@sstorholm Actually

    • @the_perigoso
      @the_perigoso 4 ปีที่แล้ว +5

      100 ohms is usually enough, and avoids some problems with weak pull ups/downs and higher speed signals, and yeah, you don't get taught this in school

    • @gummy1651
      @gummy1651 ปีที่แล้ว

      thanks

  • @salutoitoi
    @salutoitoi 5 ปีที่แล้ว +171

    I really like how you show your difficulties because we all make the same mistakes after all. Cheers !

    • @sadiehallinger1401
      @sadiehallinger1401 5 ปีที่แล้ว

      Well, he does that to make longer videos to get more revenue :)

    • @honey78665
      @honey78665 5 ปีที่แล้ว +1

      @@sadiehallinger1401 ^^The glass is half empty kinda guy.^^

    • @sadiehallinger1401
      @sadiehallinger1401 5 ปีที่แล้ว

      @@honey78665 Hello! Well, that's how he makes his cash to travel and smile :)

    • @emeldajohn5760
      @emeldajohn5760 3 ปีที่แล้ว

      F

  • @TheMrDjrobert
    @TheMrDjrobert 5 ปีที่แล้ว +3

    WR = the read write pin, with this you select if you want to read or write to/from the display
    CS = Chip select this is a very common pin in parallel/serial busses. It lets you wire your parts up into an actual bus. You pull this low (or high depending on the chip) to let the chip know you want to talk to this specific chip.

  • @LReBe7
    @LReBe7 5 ปีที่แล้ว +152

    You always run into Hofstadter's law: it always takes longer than you expected, even if you take Hofstadter's law into account.

  • @siddharthrgoel
    @siddharthrgoel 5 ปีที่แล้ว +2

    W/R is generally the Write/read pin and C/S is usually the Clear/Set pin. This is similar to a lot of LCD modules available nowadays. You can also reconfigure the LCD library for Arduino to work with this display.

  • @MrNoahAmbrose
    @MrNoahAmbrose 5 ปีที่แล้ว +5

    Just wanna let you know I greatly enjoy watching you write and troubleshoot the code. Not boring at all.

  • @kyle1elyk
    @kyle1elyk 5 ปีที่แล้ว +19

    Those displays are pretty cool, though I love the little SPI OLED displays. You can get a decent frame rate and display a lot more info on them and colors

  • @EvasiveSnail
    @EvasiveSnail 5 ปีที่แล้ว +35

    Yes, just what my Saturday afternoon was missing. Cheers!

  • @electronash
    @electronash 5 ปีที่แล้ว +8

    2:40
    While it's true that the 3V3 Arduino Due should be able to drive the display inputs OK, watch out for the 5V levels coming back from the display. The AT91SAM chip used on the Due does not have 5V-tolerant IO pins, AFAIK.
    (a lot of these standard LCD chipsets allow you to read *from* the status register or display memory.)
    Some series resistors of say 47 Ohms will help protect the Due, but ideally there should be some proper voltage translation, like a 74HC245 or similar.
    Just a heads-up, as otherwise it could damage the Due over time.

    • @electronash
      @electronash 5 ปีที่แล้ว +1

      Also, beware how you handle the VFD board, as it has an inverter on there, and some of them can be surprisingly spicy when they bite. lol

    • @electronash
      @electronash 5 ปีที่แล้ว

      ​@Mr T. Guru
      You missed the part where I said it uses an inverter. ;)
      Sure, it wouldn't be thousands of volts, but still a few hundred.
      Perhaps only a few milliamps too, but it could still give a surprising shock, especially if it has a HV cap on the output.
      It would be somewhat similar to a small laptop backlight inverter...
      en.wikipedia.org/wiki/CCFL_inverter
      Just something to watch out for if you don't realise it's there.

    • @JamesChurchill
      @JamesChurchill 5 ปีที่แล้ว

      @Mr T. Guru that won't save you. 30V will instantly kill some semiconductors even if it can only source a microamp.

  • @gsuberland
    @gsuberland 5 ปีที่แล้ว +228

    "Hey, little VFD display, how are you?"
    "AAAAAAAAAAAAAAAAAAAAAA"

    • @TheDVDwr
      @TheDVDwr 5 ปีที่แล้ว +11

      more like AYAYA AYAYA AYAYA !!!

    • @MOSKAU15
      @MOSKAU15 5 ปีที่แล้ว +4

      Why are you running?!?

  • @Juandrumx
    @Juandrumx 5 ปีที่แล้ว

    I think I watch you first a year or so ago maybe more? When you had yourself a project old making your own Apple phone from parts that were sold somewhere in China or Japan. Can't even remember what I watched exactly. I'm not a technician but I once took a VCR and computer repair class so I appreciate real technicians, or Engineers like you. I see what you guys do as an art form and I appreciate your intelligence. Sometimes it's like entertainment or like reading a book and seeing someone else's struggle and success. God bless you. Stay safe. Thank you.

  • @BadTasteForEveryone
    @BadTasteForEveryone 5 ปีที่แล้ว +156

    Missed "= 0" was sneakily added between cuts :D Pretty interesting video, keep up the good work!

    • @StrangeParts
      @StrangeParts  5 ปีที่แล้ว +22

      Yeah, that's why I added the text about it:) Didn't want you to think I was trying to pull one over on you.

    • @juschu85
      @juschu85 5 ปีที่แล้ว +10

      The annoying thing about not initializing a variable is that sometimes it's no problem and sometimes it's messing up everything.

  • @mjinglis
    @mjinglis 5 ปีที่แล้ว +54

    So when do we get to see the pinball machine you are working on :P

    • @jasonk9779
      @jasonk9779 5 ปีที่แล้ว +5

      Patchinko is my guess :)

    • @Hobby_Collector
      @Hobby_Collector 5 ปีที่แล้ว +2

      @@jasonk9779 Definitely Patchinko or Coin Pusher type game

    • @thegreator
      @thegreator 5 ปีที่แล้ว +1

      Either slot or pachinko. Yeah, not so secret anymore.

  • @at29c040a
    @at29c040a 5 ปีที่แล้ว +25

    Title is a bit misleading, it would be reverse engineering if you had no datasheet;) In any case thanks for great quality video!

  • @urugulu1656
    @urugulu1656 5 ปีที่แล้ว +6

    wr --> probably a write enable pin
    cs --> probably a chip select pin
    --> pretty standard stuff in serial circuits / ics

    • @emmanuelrodriguez2346
      @emmanuelrodriguez2346 5 ปีที่แล้ว

      Actually, I think they just need to be low for the display to accept the characters

  • @seamonkeys12y
    @seamonkeys12y 5 ปีที่แล้ว +6

    I swear if VFD prices fly through the roof like how videos by eevblog and HBO cause other products to skyrocket I'm going to come find you Scotty!

  • @ebg13
    @ebg13 5 ปีที่แล้ว

    The 3-pin connector is your friend, it's +5V/Serial/GND. If you ground the serial-pin it goes into demo mode and starts printing the ASCII-table one character at a time. If you want to use the serial interface with an Arduino; solder a bridge on J4 and connect TX on the Arduino to the serial-pin on the VFD and you're done. No fancy code required! I think the default baud rate is 19200.

  • @lifeinchina7758
    @lifeinchina7758 5 ปีที่แล้ว

    I have no idea about advanced electronics or half of what your talking about, but love your videos. good to see someone still thinks 'outside of the box'....and beklives anything is possible. Keep up the amazing work.

  • @ShcherbynaM
    @ShcherbynaM 5 ปีที่แล้ว +3

    Hi, I think that you would better create a buffer with characters to be able to draw character at specific position, and redraw screen every 16ms (~60 Hz) using hardware timer for interruptions, this don't block the main thread (delay is a blocking function) and will consume less power.

  • @leef_me8112
    @leef_me8112 5 ปีที่แล้ว

    Both the arduino and the display have [0.1/2.54] headers. When you are working on something new, use jumper wires.
    Wire a PCB after you have something working.
    If you don't know what signals are, look for other parallel port display drivers.
    Hint CS= Chip select the bar means "active LOW" WR means write

  • @dev7427
    @dev7427 2 ปีที่แล้ว +1

    This video has gotten me into electronics and microcontrollers and got me interested in Arduinos and all a year and half ago. Thank you, Scotty

  • @7head7metal7
    @7head7metal7 5 ปีที่แล้ว

    I have been there with a random VFD I found in a lab. I didn‘t find a datasheet, so I tried to buzz out all the connections and routes, took me a complete sunday afternoon. But after that I stopped, because I also thought the board on the back is some custom thing I can‘t reverse engineer to show something on the display. So thanks for this interesting and encouraging video, my VFD looked surprisingly similar! If I find it again I might give it another shot.

  • @Victoare
    @Victoare 5 ปีที่แล้ว

    I've got a similar VFD out of an POS terminal. The protocol is an confidental IBM one and i had to reverse engineer the circuit, desolder the main controller chip and sigal the five (!) shift registers directly. An ESP8266 could drive all through an additional shift register (using I2S and DMA). And by this i have pixel level control on the display with (sort of) multiple gray levels :)

  • @tsik1919
    @tsik1919 5 ปีที่แล้ว +26

    "Gee, I wouldn't wanna break this rare, expensive, and intricately made part"
    *waves it around in the air with just three fingers holding it*

    • @Crimsen13
      @Crimsen13 5 ปีที่แล้ว +10

      Its okay! His name isn't Linus so he should be safe.

    • @fredfarnackle5455
      @fredfarnackle5455 5 ปีที่แล้ว +1

      'Waves it around' is right - it annoyed the heck out of me the way he waved stuff around so fast, my old eyes can't keep up with that and I found it very annoying.

  • @juweinert
    @juweinert 5 ปีที่แล้ว +2

    From my experience with shift registers, when dealing with low frequency arduinos, you don't really need to delay. I tried it once and reduced the delay and expected the registers to hickup at some point.
    But the overhead of arduino (and even in native AVR-C) together with the slow clock is often enough to provide proper and reliable latching of the data.

    • @hachikiina
      @hachikiina 5 ปีที่แล้ว

      better safe than sorry

    • @juweinert
      @juweinert 5 ปีที่แล้ว

      Well I guess if the shift registers maximum clock frequency is above the microcontrollers main clock, I'd rather save some valuable processing time...
      Btw. is your profile picture the brutally faceswopped version of Tom?

  • @GringoBG54
    @GringoBG54 5 ปีที่แล้ว

    As a software developer thats getting his feet wet in the area of electronics / embedded / system programming, this video really did give me new enthusiasm to keep on going. For example, I know bitwise operators in theory, but still can't wrap my head around their use on the PCB at library implementation level. Now I saw how it's done, hehe.

  • @NickChowau
    @NickChowau 5 ปีที่แล้ว +22

    "i" needs to be initialized such as "i=0" in your case.

    • @seritools
      @seritools 5 ปีที่แล้ว +2

      @Alparslan Ali Alp not in C

    • @alexpaww
      @alexpaww 5 ปีที่แล้ว +2

      @Alparslan Ali Alp not in C, in C you get a random data value in if it you don't set it to something

  • @Geeksmithing
    @Geeksmithing 5 ปีที่แล้ว

    Dude, you are not alone in the projects taking longer than you thought and that you are tired of looking at them..... my current one is doing that to me....wish me luck as I wish you luck!

  • @FR4M3Sharma
    @FR4M3Sharma 5 ปีที่แล้ว +1

    Back in 2003/2004 when i was 3/4 years old My dad used to repair TVs,DVD players and VCR and stuff, so he had dozens of dead electronics which he salvaged for parts, and these fluorescent displays were there in the dozens most of them were broken in the desoldering process as he did not have all the proper equipments, one day i saw one these and it was the exact same size that our Scotty have. I took it, looked closely upon it and stared like half and hour on it before my mom screamed from the back and i dropped it because i got scared. And i cried for breaking something so extra ordinary. And as he said that this thing costs around $600 on a site. Then boy i would've been rich if only we knew that there value will fly off like that in the future. Also upon watching this video half way through i realized that the Sony stereo sound system that i have (a thing from 2000) also have this fluorescent display, Which means when it dies and can't be repaired i'll take apart the display in a heartbeat, to see what type or version it actually is.

  • @edwardbyard6540
    @edwardbyard6540 5 ปีที่แล้ว

    I used these and many other VFD units in slot machines when I was programmer. The Noritake displays are good but the single line 16x1 unit has some timing issues that corrupt the display. I do love VFDs....have a look on TH-cam for a Crazy Fruits UK slot machine and look at the effects we did. My favourite was the "scramble", essentially, pick random characters for the length of the final string, and as randomly displayed characters match the character of the final string, don't change that character again. Keep doing this, with a timer that keeps getting quicker, and the effect looks great. You can also "throb" the display by adjusting the brightness up and down on a timer. I loved these things.

  • @AmstradExin
    @AmstradExin 5 ปีที่แล้ว +1

    I dreamed of this and now it's here! Thank you. I even thought, "But does it do Cyryllic?".

  • @sewid
    @sewid 5 ปีที่แล้ว +159

    You had the data sheet. This was just engineering not reverse engineering.

    • @halosrusty
      @halosrusty 5 ปีที่แล้ว +9

      12345nametaken no one likes a know it all, leave him be

    • @sstorholm
      @sstorholm 5 ปีที่แล้ว +16

      Are you actually gatekeeping reverse engineering? :)

    • @thetastefultoastie6077
      @thetastefultoastie6077 5 ปีที่แล้ว +21

      I feel clickbaited, I came to this video expecting reverse engineering based on the title.
      He already had a complete datasheet, nothing needed reversing.

    • @byungjaelee5110
      @byungjaelee5110 5 ปีที่แล้ว +12

      @@halosrusty You don't know electronics do you? It's not something to ignore. Reverse engineering and engineering is a whole new different story.

    • @FilamentFriday
      @FilamentFriday 5 ปีที่แล้ว +3

      Totally agree. You can buy similar VFD modules anywhere. They are controlled similar to an LCD module controlled and easily controlled by off the shelf code like Arduino. So nothing vintage or reverse engineered about this.

  • @mr_mr
    @mr_mr 5 ปีที่แล้ว

    It's so cool that you got the display to print. Can't wait to see the secret project!

  • @maxhouseman3129
    @maxhouseman3129 5 ปีที่แล้ว +5

    I am collecting also old displays as a hobby. I like vfds very much!
    Maybe I build some watch out of Monsanto MAN displays, that are some very small led arrays, worth to take a look on these.

  • @speakertomeat
    @speakertomeat 5 ปีที่แล้ว

    WR / CS is most likely Write / Chip Select, a way to tell the chip what you're sending is intended for it. In many cases (not all) this will be a low select, indicated by a horizontal line on top of CS

  • @edgarbonet1
    @edgarbonet1 2 ปีที่แล้ว

    Very cool video. Thanks!
    Just a couple of remarks:
    1. The Arduino delay() function takes an integer parameter (of type unsigned long). If you want delays shorter than 1 ms, you can use delayMicroseconds().
    2. Instead of defining sendChar() and print(), you could easily implement your own class derived from the abstract Print class. You only have to implement the method `size_t write(uint8_t)` (basically your sendChar()), and then you inherit all the print() methods you enjoy with Serial, including those that convert numbers to ASCII for displaying.

  • @DNAP460
    @DNAP460 4 หลายเดือนก่อน

    Thank you for the video content. Many used customer display cashier machines stored in warehouses contain similar 2x20 VFD screens, hopefully the pinout is the same.

  • @grantchang81976
    @grantchang81976 4 ปีที่แล้ว

    agree on the pricing and yes they are impressive little works of solid state art

  • @PeppercornVR
    @PeppercornVR 5 ปีที่แล้ว

    You can still buy VFD screens new, they also have i2c models with controllers within the glass. They're also comparably priced compared to LCD or OLED technology in bulk manufacturing.

  • @SirNickyT
    @SirNickyT 5 ปีที่แล้ว

    Ive heard 100's of audible ads but since they sponsor you I'm finally going to try it out. My fear is I love it too much tho. It's why I haven't tried it until right after this video.

  • @Le_Petomane
    @Le_Petomane 5 ปีที่แล้ว +9

    " I really dont want to drop this or break it anyway" * proceeds to throw it around like Lego bricks.

  • @JOELwindows7
    @JOELwindows7 5 ปีที่แล้ว

    You can bind it with Arduino officialized LCD library. this Library is commonly used for that Arduino LCD, such as Hitachi 20x2 Character LCD display.

  • @gigglesseven
    @gigglesseven 5 ปีที่แล้ว

    8 switches and a button to write to a 20x2 lcd display. It is awesome to see self discovery for a project like this with vintage hardware.
    Fran Blanche might interest you with the vintage things as well

  • @ethanmye-rs
    @ethanmye-rs 5 ปีที่แล้ว

    If you're interested, I reverse engineered a Noritake Itron display. Easy to send data to and a surprisingly well written data sheet.

  • @RonGau
    @RonGau 5 ปีที่แล้ว +18

    can't wait to see what you're working on...Cheers from Canada🙋‍♂️🍁😊

    • @Stuart0870
      @Stuart0870 5 ปีที่แล้ว

      Isn't it fairly clear that it's a pinball machine?

    • @RonGau
      @RonGau 5 ปีที่แล้ว

      @@Stuart0870 yeah could be😊🙋‍♂️🍁

  • @canadianavenger
    @canadianavenger 5 ปีที่แล้ว

    The controller on the VFD is often functionally the same as the HD44780 [compatible] LCD controller that is commonly used, as such the Arduino LCD lib may be able to drive it. I know the Noritake VFD's I've used in the past were compatible, with only some minor tweaks required.

  • @vladimir0700
    @vladimir0700 3 ปีที่แล้ว

    Those old vfd displays are so cool. I have a number of them, myself. I used my old hp 48 serial port to drive them and used a 40 char. multi line unit to display reminders for myself and other timely info. Too bad they’re no longer made. I considered making a large display with a pile of dot matrix led displays but when I toted up the cost of building it I decided it was way, wat too much money. These were really cheap when they initially showed up on the surplus market. Thanks for making the video

  • @GrantOberhauser
    @GrantOberhauser 5 ปีที่แล้ว

    By the way, you can import your current sketch into Atmel Studio, and connect via JTAG to your Arduino Due. This will let you step through and debug your software. It will also still let you use Arduino's libraries. Doing this will wipe the bootloader from the chip as you'll be directly programming it and you'll also need an Atmel-ICE to program the chip and debug it. It might take a little bit to setup, but it's well worth it for the ease of programming/debugging it'll give later. Especially for big projects!
    I have to prototype a bunch of projects at work with Arduinos, and I never use their IDE anymore.

  • @FlamJongUn
    @FlamJongUn 5 ปีที่แล้ว

    I salvaged one of these about 6 months ago, from an old satellite receiver.
    I was wondering how I could make it work... Thanks for your video!

  • @ubidefeo
    @ubidefeo 5 ปีที่แล้ว

    W/R is Write/Read.
    The logic level on this determines if you're writing to the registers or reading from them.
    Yes, you can read the content of your Display Controller, which is rarely needed :)

  • @SylvainMonette
    @SylvainMonette 5 ปีที่แล้ว

    I remember these displays where popular in car radio's a few years back. Really enjoyed the video by the way.

  • @ttww1590
    @ttww1590 3 ปีที่แล้ว

    I have a new appreciation for the DEVs behind LCD Smartie

  • @DM00SE
    @DM00SE 5 ปีที่แล้ว

    Looking forward to it. If its only half as interesting as this one it'll still be an awesome video but I bet its twice as exciting.

  • @GideonLesson
    @GideonLesson 5 ปีที่แล้ว

    Investing so much time when there lcd version of this display around for a 1$ with arduino libraries and hardware already figured out. Same data protocol, same character codes probably. Only difference extra power requirements for emitters and grid. You probably never stumble upon them, but that old design based of hitachi hd44780 is still in production and popular.

  • @chrismarks9283
    @chrismarks9283 5 ปีที่แล้ว

    I loved this episode I only know a little bit of coding but it was fascinating watching you realize your errors and work around them

  • @SirNickyT
    @SirNickyT 5 ปีที่แล้ว

    It never ceases to amaze me how big and complex boards used to be for how little they actually did. If you really want a challenge you should look inside my original atari table top asteroids arcade machine. There's some huge boards inside and it might be one step up from pong graphically lol. I'm yet to tackle it.. it works but the scoring will randomly insert letters for numbers lol.

  • @eddiespencer1
    @eddiespencer1 5 ปีที่แล้ว

    Arduino Blog sent me. Cool project, man. I remember having a stereo and a calculator with similar displays back in the late 80's-early 90's. I think my dad's car stereo had one as well.

  • @JippaJ
    @JippaJ 5 ปีที่แล้ว

    enjoyed this so much more than the whole ATM Jackpot video. Would love to see more in-depth videos on your projects.

  • @psedog
    @psedog 5 ปีที่แล้ว +2

    When you printed Hello world. I smiled as well. First thing I did on an Apple IIc. Oh, the memories :D

  • @TheSakeCat
    @TheSakeCat 5 ปีที่แล้ว

    For those of us like my self the code is great I wish more channels would show the code as that is always my hurdle to any project.

  • @9072997
    @9072997 5 ปีที่แล้ว

    you make it work, and I imagine you have cpu cycles to spare, but just a useful trick: If you look up port manipulation for the Arduino, you will find that digital IO is grouped into ports of 8 bits. You can write to all 8 bits at once. Since your device uses ASCII for the normal letters and the Arduino language also uses ASCII, you can just do PORTX = 'a' to set all the pins to the right value to show an a. This is of course contingent on you wiring the data pins on your device in order to pins 0-7.

  • @ChrisHogevonder
    @ChrisHogevonder 5 ปีที่แล้ว

    @Strange Parts
    You should look up data on the HD47780 character LCD's. Those are almost certain pin compatible with the VFD you're using and there is a ton of information about using a HD47780 with the Arduino.

  • @TheHermitHacker
    @TheHermitHacker 5 ปีที่แล้ว

    I miss seeing these things. What a cool project.

  • @drgusman
    @drgusman 5 ปีที่แล้ว +1

    CS and !WR should be set in the inverse order, first !WR and then CS, when you set the signal to CS you are selecting the device to act, and it executes what is on the data/signal lines, !WR is the operation, not write/read, and there's no need to change it, if you aren't going to read from the device leave !WR low and just signal it with CS. You aren't having problems because the arduino is fasther than the display but it may fail if you lower the speed of the arduino, if the !WR signal is high when you set CS and the display reads a R operation it may set data on the bus.
    Also, the data lines are set after CS, that's to avoid collisions, if the previous operation is a read and the device has data in the bus and you write before letting the device that a new operation is going to happen (CS goes high) you may end with a short circuit (you put a 0 and the device has a 1 or vice-versa and you're sending +VCC to GND). It's important too that after you set CS low and have finished the operation, put the port pins in input mode, that will place them in a high impedance state and will avoid data collision.
    If you want to simplfy and speed up your code (and make it a lot more readable) you can use a single 8 bit port on the arduino instead of scattered pins (per example, on the base Arduino PORTD is pins 0 to 7) so instead of a loop with bit testing and digitalWrites you can do "PORTD = Data", being Data a byte variable with the value you want in the bus.
    Finally, I see you are missing A0 from your code (or at least isn't shown) and you should have it, with it you can control the cursor position and select the READ operation type (data or status)
    Hope it helps :)

  • @Coles_notes
    @Coles_notes 5 ปีที่แล้ว +3

    "I could've got this up and running quicker using serial ... but ... why do the easy thing?"
    30 seconds earlier: "This project is taking wayyyy longer than expected."

  • @saikiranj807
    @saikiranj807 5 ปีที่แล้ว

    It's pure joy to watch you work !

  • @sato4kaiba
    @sato4kaiba 5 ปีที่แล้ว

    @14:37 You should pay attention to the timing at the bottom left of the data sheet. When writing to the VFD controllers, you need to have a delay of 160ns. This is to give the controller time to read the information. Also the ~CS (Active LOW) is indeed Chip Select. The ~WR (Active LOW) is Write/Read. The way I understand the timing is as follows. Send data to D7-D0 and hold for 100ns. 10ns after your sent D7-D0, pull ~WR low for 160ns. You should be able to speed up your display this way.
    My Two Cents. Good work in back-engineering the communication with the VFD. This display works similar to the HD44780 LCD controller. The only different is that the HD44780 has an initialization sequence you must complete which puts it either in 8 bit mode of 4 bit mode.

  • @fn22739
    @fn22739 ปีที่แล้ว

    it's so cool how you can interface random stuff like this easily with an arduino.

  • @isaiasdimitri4110
    @isaiasdimitri4110 5 ปีที่แล้ว

    When we make something work, after a long time trying, is just amazing

  • @AvivMakesRobots
    @AvivMakesRobots 5 ปีที่แล้ว

    It is such an exciting moment when it whirs to life!

  • @lesleymunro4964
    @lesleymunro4964 5 ปีที่แล้ว

    CS = Chip select WR = Write pin. Usually these get pulled low to enable A) selecting the device (If you have several on the same data bus (D0-D7) ) and B) Choosing between reading data from a register, or writing data into a register. Before you discovered the in mapping being wrong, I actually thought that you maybe hadn't set the display configuration registers. Many displays usually have special registers, where if you flip bits in them, will change how things work, and can do stuff like inverse characters, blank display etc etc. It all depends on the display used.
    Also, a downside to these old VFDs, is they do dim over time, and burn out. Thats partly why they fell out of favour, long term reliability isn't good. Best stock some spares.

  • @michaelmabe8214
    @michaelmabe8214 5 ปีที่แล้ว

    I would run that on a constant loop reading out "updating firmware" then the animation bar.
    bottom bar would have 0-100 % readout with a timer. just have it reset to 0 when done.
    other option would be to make it a really cool clock with weather reports. etc.
    Either way, Fun Video!

  • @Willy_Tepes
    @Willy_Tepes 5 ปีที่แล้ว

    What I would be interested in is seeing you take a wifi card/bluetooth from a printer or laptop (PCI express) and using it on a arduino/raspberry. Old equipment is a fantastic source for LCD displays and other stuff.

  • @nomfg
    @nomfg 5 ปีที่แล้ว +1

    int i=? is tricky to debug as the the stack is _mostly always_ initialized to 0 during a hard reset. You can almost count on it on simple chips like the cortex M family or PICs or AVRs. Yes it's a software bug but in practice it can make your product function 99.99% of the time until you have a brownout or some other weird stuff going on in the chip.

  • @igorteller1516
    @igorteller1516 5 ปีที่แล้ว

    Well done a great job Do more content, You are among the only ones to make a cellphone under home conditions👍.

  • @timwalther
    @timwalther 5 ปีที่แล้ว

    Cool, nice job! I used to have a cash register VFD display with a serial connection wired to my pc running winamp, so I could always see what I was listening to.. But the speed of the parralel interface makes this so much cooler! When always drawing two full lines at a time , you could use it to make a simple game. Like chrome's dino jumping game..

  • @dannny1-4-1
    @dannny1-4-1 5 ปีที่แล้ว

    Strange parts you keep saying ur working on a secret project but those who have seen most of ur videos and is a huge fan of ur channel and electronics ..... would have a fifty-fifty idea of what the project is ...... but I cant wait for the big reveal ... anyways love your channel and love your work ur a huge inspiration.

  • @HexF1
    @HexF1 5 ปีที่แล้ว

    Arduino has a library called liquid crystal, that will do exactly this. The display in the video is basically a normal 20x2 display, uses the same protocol except it also has serial

  • @LucasOliveira-wo5bo
    @LucasOliveira-wo5bo 5 ปีที่แล้ว

    You used to put subtitles in Portuguese, and now there is no more, please put it back, I really like your videos

  • @DanielBull
    @DanielBull 5 ปีที่แล้ว

    I bought a bunch of these from radio rally's in the UK for a few pounds and built clocks etc. out of them. I even have one which runs full graphics which I've done scrolling images etc on using a Raspberry Pi. They really are lovely.

  • @NINTHSPECTER
    @NINTHSPECTER 5 ปีที่แล้ว

    Enjoyed you adding the coding part to the video!! Very interesting stuff.

  • @aditya.tokare
    @aditya.tokare 5 ปีที่แล้ว +1

    I too made my iPhone at home , a year ago & it was a great experience, now I am at 1.25K subscribers & I am trying my level best...🙂🙏🎉🎉🔥🔥

  • @leor2252
    @leor2252 5 ปีที่แล้ว

    WOW programming 101 , nice addition to the videos!!!

  • @retro-reels5652
    @retro-reels5652 5 ปีที่แล้ว +1

    I’ve hoarded lots of these displays, as they look great and retro cool :0) They are from a time when electronics were built to a high standard. The Sharp EL displays are fun too.

  • @H3liosphan
    @H3liosphan 5 ปีที่แล้ว

    Hi. Looks very similar to working with those HD44780 type LCD displays, in fact this is probably like a grandfather to these modules. To be complete, and to be able to do the progress bar type graphic, you'll need to implement a standard backspace operation (on these things it may act more like a left arrow operation on a PC / Mac), a clear screen operation, and if it supports it, a means of positioning the cursor anywhere on the display. Speaking of, you might want to turn off the underscore cursor, almost certainly possible. This'll just involve sending special characters or commands.

  • @alyology0
    @alyology0 5 ปีที่แล้ว

    That's a very beautiful display I'm in love with it!

  • @jcreazy
    @jcreazy 5 ปีที่แล้ว

    The whole video I said to myself "please make it say Hello World" and you did! I'm so happy!

  • @OnlyHumanYT
    @OnlyHumanYT 5 ปีที่แล้ว

    Thank you Audible, very cool.

  • @maYdaY1337
    @maYdaY1337 5 ปีที่แล้ว

    you could search for 40 sign customer displays - IBM/Toshiba, NCR, Wincor and a couple more companies still sell them - some are even USB. They get replaced with 8" or higher displays a lot now though.

  • @yukimoe
    @yukimoe 5 ปีที่แล้ว

    Looks like the displays they put in those public payphones that were pretty much everywhere (at least up here in Canada) until the 2000s when cellphones became common...

  • @OAlexisSamaO
    @OAlexisSamaO 3 ปีที่แล้ว

    he looks so happy and you can see he wants to share it,
    i feel like that too when i make or program something that i think is cool then i try to show it to my family and they just look at me akward, so i go back to my forte of solitude sad

  • @lazzarusbr
    @lazzarusbr 5 ปีที่แล้ว

    Please "NEVER STOPS TO MAKE VIDEOS"!!!! your vides is like endorphin to nerds brains!!!! I love it so much! every discovery!, every fantastic place you visit!,every fail! is so fantastic, you a kind of person! plese never stops your work! never stops to do vídeos about it! afterall you is the man to put headphones back in iphones when apple said is impossible! so yopu ar a impossible man! thanks to share your adventures! we love it so much!

  • @nononono12345
    @nononono12345 4 ปีที่แล้ว

    This is fascinating content. Wish I kept up with this stuff like I did as a youth. Giving me inspiration! 🙏🏾

  • @kaleb_barbour3
    @kaleb_barbour3 5 ปีที่แล้ว +5

    3:55 love the montage music man!

  • @TheTroposa
    @TheTroposa 5 ปีที่แล้ว

    When Scotty does the double air punch and YEA. That moment is why we do this stuff!

  • @414RadioTech
    @414RadioTech 5 ปีที่แล้ว

    I actually like projects like this because I made one similar to that and now I I'm going to try to make it portable size to where you can put it on a piece of clothing and display what you want on it it's not hard

  • @CandyGramForMongo_
    @CandyGramForMongo_ 5 ปีที่แล้ว

    Being an Eighties kid filled to the brim with 8-bit computer BASIC knowledge, am doing very similar experiments with the Colour Maximite instead of the Arduino. I was amused that you made some of the same mistakes I did!
    I’ve found that driving the segments directly instead of interfacing with the driver electronics to be more interesting. I’m just farting around with seven-segment displays at the moment, though. Still, using Ben Eater’s technique of pulling the display byte from a small EEPROM to be very fun! Without relying on a driver, I can drive any segments I want. I may try something similar with some sophisticated displays like yours.
    I really enjoyed the video. Thanks!

  • @groundcontrolto
    @groundcontrolto 5 ปีที่แล้ว +2

    Oh man I've done that wiring thing before, end up just remapping all the pins in software so I don't go mad!

  • @MichelSatoer
    @MichelSatoer 5 ปีที่แล้ว +1

    1:58 "Regardless, I really don't want to drop this..." Keeps shaking it anyway haha.