As promised, the Arduino team shipped the MKR 4000 VIDOR by the end of July. The graphical editor is still missing in action, but you can check out the board now. I received mine. In this AddOhms Live Stream, I turned it on and checked it out.
This video is a “working” live stream. Generally, I try to set up some demos and run through some canned actions. Not this time. I used the board once, on another computer. You get to watch how I attack a new board…live! Warts and all.
Key things I check out:
How do you program the FPGA? (what does that even mean for the VIDOR.)
The VidorTestSketch (communicate between the SAMD21 and the Cyclone FPGA)
LogoDraw (the VIDOR draws the Arduino logo over HDMI)
The include files for each of the VIDOR libraries
I’m writing up my experience so far, along with what I’ve learned. Until then, click below to see the 1-hour live stream.
This AddOhms episode is part 3 of the “design your own Arduino” series. In this one I populate a bare PCB, reflow solder it, debug a few issues, and load the Uno bootloader. Originally, I designed 2 versions of the board. One version contained an error that I planned to fix in the episode. Well, turns out, the “correct” board had two issues which were more interesting.
Check out the #27 show notes for links to a bunch of stuff in the episode, including the design files.
Pretty often I am asked about how I create the AddOhms animations. Currently, I’m working on the final part of the DIY Arduino Series. In the first part, I showed the elements of an Arduino schematic. The second part showed an overview of the PCB design. Finally, I will take the finished board and explain how to turn it on the for the first time. Lucky for me, there was a “mistake” on the board. This error gives some context for the episode.
I needed to explain how the Arduino Uno’s (and Mega’s) “auto-reset” circuit works. I did a live stream showing how I created the animation sequence for this explanation. Well, I started to explain. After almost three hours of streaming, I was only about half-way through the one-minute explanation.
Watch on YouTube
While long, I think the stream helps to illustrate the kind of work I put into my videos. Speaking of which, I need to get back to finishing this one.
Common question that comes up about pull-up resistors: what value do you pick and why not just use a piece of wire? In this follow-up electronics tutorial, the bald engineer looks at how to pick a pull-up resistor value. Note that while focused on pull-up everything said in this video would apply to pull-down as well.
Autodesk released EAGLE 9. This new version continues the improvement that Autodesk has been providing since acquiring the infamous ECAD tool. There are three areas I look at in this AddOhms Livestream.
How I looked at EAGLE 9
In the beginning, I use an old training class I wrote about five years ago when I was using EAGLE daily. It shows how to design a 555 flashing circuit from schematic to PCB. A follow-on class taught how to mill the PCB on a Shopbot. I might update the course and release it if I have time. The exercise class helps me find some surprises with EAGLE’s incremental improvements.
After that, I check out three new features. I also looked at the “Design Blocks” stuff which is a way to incorporate completed schematics like the Adafruit PowerBoost circuit. I need to come back and look at that function again later. Also, I am not positive, but I think that feature was introduced before 9.
1. Quick Routing
The quick routing reminds of the old “follow me” option. You can select individual airwires, entire nets, or multiple signals to route interactively. Unlike the Autorouter, which routes the board as the whole. In the video, I build a simple 555-based PCB. I couldn’t try out routing multiple signals, like address and data for DDR memory. The value I see most from this feature is selectively routing your critical signals and then quick routing the remaining non-critical nets.
2. Device Manager
This informational window provides a clean break-down of many pieces of data. Need to know what layers a footprint use? How about the length of an entire net? In the video, I show that you can use this feature to verify all of your passive components have the same package style. The information is all there, Device Manager brings it to your attention.
Spoiler Alert: I really like the Breakout Feature. (For those that say I don’t smile in videos, I did this time.) Long story short, this is a shortcut to expand all of the pins for an IC. A great example is in the AddOhms Pyramiduino DIY PCB episode. In the beginning, you can see my time lapse as I break out each of the GPIO pins. That can happen in EAGLE now with a single click.
Check it out
Have you had a chance to check out EAGLE 9 yet? If so, what are your thoughts?
Continuing the DIY Arduino tutorial series, this AddOhms episode shows how to create a PCB in KiCad. I make a joke that the original design was a rectangle, which I found boring and pointless. So instead, I designed a triangle to give the board 3 points. Get it? Puns! I am calling it the Pryamiduino. To be honest, I found not having a constraint to be a problem. By forcing a specific board size and shape, many decisions were more manageable.
First design – Boring!
In the end, the video ended up more edited than I planned. KiCad is just so finicky and crashy that I could not make a coherent start to finish tutorial. At least, I could not work with a board at this level of complexity. Something simple like a 555 flasher would be easier to show from start to finish. I am planning some immediate follow-ups with quick tips on using KiCad. It is a frustrating suite of applications, but the results can be quite nice.
One of the last significant steps in a project is designing the custom PCB. This stage means creating a DIY Arduino board that is custom to the application. Two examples of my past projects are BinBoo, a Binary Clock, and Open Vapors, my reflow oven controller.
While working on a project for a friend, I got to thinking; it would be nice to have a checklist for circuit elements to include on a DIY Arduino board. In the early days, I forgot to add a filter cap to AREF, for example.
These tips are based on an 8-bit AVR design, like the ATmega328p chip. You could apply these tips to other 8-bit AVRs. Until now, I have not designed a custom board around a 32-Bit/ARM board. Though at only $16, I would be tempted to just solder the Teensy module directly to my finished board.
Below is a written list of items for a DIY Arduino checklist. If you’d like to see me design this board in KiCad, check out this AddOhms Tutorial.
The next AddOhms Tutorial is how to design a DIY Arduino board. What are the elements you need to include in your own circuit design? While editing the video, I ended up on this frame. It looked to me like I was praying. (At one point I was having serious technical issues with my equipment. But it is unrelated to that frame!) On Twitter, my friend Philip had a different take.
Question: What caption comes to mind when you see this picture? Leave a comment with yours. You can leave a comment by clicking here.
If you can’t think of a caption, maybe you can help with a different question. What your favorite LM741 op amp alternative? I’ve been working on some tutorials and videos on op-amps. I’d like to incorporate something other than the old stand-by.