Roberts Smorgasbord5000 subscribers – a big thank you! But why are there ads on my channel… ↓↓↓ Complete description, time index and links below ↓↓↓
A very big thank you to you all for 5000 subscriptions. Also, a very special thank you to everybody who commented on my videos and engaged in a discussion with me. Finally, a thank you to those who rated my videos, even if you disliked them 😅
I also have questions for you: Do you see ads when watching my channel (it’s not monetized)? If you see ads, should I monetize it to escape YouTube’s throttling of non-monetized channels? And do you know how to bring back the dislikes?
00:00 5000 Subscribers! – A big thank you! 01:08 Advertisements – There are ads on my non-monetized videos?!? 02:07 Growth – YouTube throttles channel despite showing ads on it?!? 03:22 Monetizing – What do you think? Please let me know! 05:40 Dislikes – Did you know you can bring them back? 07:10 Wrap-up – A big thank you again! Bye!
Channel Announcement: 5000 Subscribers – Big Thank You! (Also: Ads – WTF?!?)Roberts Smorgasbord2022-04-29 | 5000 subscribers – a big thank you! But why are there ads on my channel… ↓↓↓ Complete description, time index and links below ↓↓↓
A very big thank you to you all for 5000 subscriptions. Also, a very special thank you to everybody who commented on my videos and engaged in a discussion with me. Finally, a thank you to those who rated my videos, even if you disliked them 😅
I also have questions for you: Do you see ads when watching my channel (it’s not monetized)? If you see ads, should I monetize it to escape YouTube’s throttling of non-monetized channels? And do you know how to bring back the dislikes?
00:00 5000 Subscribers! – A big thank you! 01:08 Advertisements – There are ads on my non-monetized videos?!? 02:07 Growth – YouTube throttles channel despite showing ads on it?!? 03:22 Monetizing – What do you think? Please let me know! 05:40 Dislikes – Did you know you can bring them back? 07:10 Wrap-up – A big thank you again! Bye!
#5000subscriberscelebration #comments #likes #dislikes #advertisements #monetization #dislikesremoved #channel #announcement #robertssmorgasbordDual Electronic Engine Control Lever IP68 (7): Levers (2)Roberts Smorgasbord2022-11-13 | Recovering from previous mishaps – and then the next happened … ↓↓↓ Complete description, time index and links below ↓↓↓
We left off last time with the two workpieces prematurely separated and a broken drill stuck in one workpiece (link below). So now it’s disaster recovery time, respectively, double time, because I have to perform all remaining operations twice.
To drill/push out the broken drill from the other side is easy enough. Afterwards we drill the remaining large 12mm holes. And I break off another drill – for a 1.6mm hole! There’s also some milling, thread cutting and sawing (which I mess up too).
00:00 Intro – recovering from two previous mishaps 01:00 Planned – all the remaining operations 01:52 Marked (1) – remaining 5mm holes on wide side of stock 02:24 Drilled (1) – remaining 5mm holes on wide side of stock 03:24 Drilled (2) – remaining 12mm holes on wide side of stock 05:16 Drilled (3) – 1.6mm hole on narrow side of stock 08:00 Drilled (4) – partial 2.4mm hole on narrow side of stock 09:10 Drilled (5) – 1.6mm hole with broken drill tip at the end 11:34 Milled – pocket for M2 screw head into stock 12:44 Sawed – slot into stock to from C-clamp 13:23 Cut – M2 thread into 1.6mm hole in stock 16:13 Wrap-up – last two operations will be done later, bye
#throttle #lever #ip68 #robertssmorgasbordDual Electronic Engine Control Lever IP68 (6): Levers (1)Roberts Smorgasbord2022-11-06 | Starting out strong, until things went terribly, terribly wrong … ↓↓↓ Complete description, time index and links below ↓↓↓
In the previous video we made some handles out of POM (link below). Now we need some aluminum levers we can attach these handles to.
After going over the detailed drawing for the levers, we just saw off two pieces of aluminum stock and start milling and drilling. However, I ran into some serious problems along the way …
00:00 Intro – levers out of aluminum POM 00:47 Detailed drawing – of levers 03:18 Sawed (1) – two pieces off aluminum square stock 05:29 Glued – the two pieces of square stock together 08:01 Milled (1) – the square stock to width 17:35 Milled (2) – the square stock to length 20:31 Marked – all required lines on the square stock 25:41 Drilled (1) – 5mm holes on wide side of stock 31:36 Drilled (2) – 12mm holes on wide side of stock 39:22 Wrap-up – next up is disaster recovery, bye
#throttle #lever #ip68 #robertssmorgasbordProxxon BFB 2000, KT 150, BFW 40/E & Röhm Vise Milling Stack Setup/AlignmentRoberts Smorgasbord2022-10-30 | How I set up my Proxxon BFB 2000 milling combo … ↓↓↓ Complete description, time index and links below ↓↓↓
A milling machine made up from different components is a challenge precision wise. My milling combo is consists of a Proxxon BFB 2000 mill/drill stand, a Proxxon KT 150 compound table, a Röhm 863422 machine vise and a BFW 40/E spindle.
I attach the compound table to the mill stand (some constraints there), align the machine vise on the compound table, tram the head (the right equipment with a steel square), and clamp the spindle into the collar (some shimming required).
00:00 Intro – a mill stand, a compound table and a machine vise 01:19 Compound table – mounting on mill stand and aligning 11:59 Machine vise – mounting on compound table and aligning 21:01 Head angle – aligning as good as possible 24:53 Spindle motor – aligning as good as possible 28:42 Wrap-up – hopefully good enough, bye
#proxxon #tutorials #tutorial #how-to #robertssmorgasbordDual Electronic Engine Control Lever IP68 (5): HandlesRoberts Smorgasbord2022-10-23 | A detailed drawing, some POM round stock, a lathe, and some difficulties … ↓↓↓ Complete description, time index and links below ↓↓↓
After having shown you the drawing of the final product in the last video (link below), it’s finally time to say goodbye to the LEGO® Technic™ stuff and to machine some real parts. We’ll start off with something supposedly easy: The handles.
We will make those from POM round stock on my brand spanking new Proxxon PD 250/E lathe (link below). However, it turned (pun intended) out they required quite a number of operations, some of them really time consuming, to finish.
00:00 Intro – levers and handles out of aluminum and POM 00:39 Detailed drawing – of levers and handles 02:05 Chucked and dialed in (1) – one end the round stock 05:56 Faced and center drilled (1) – one end of round stock 07:36 Turned down (1) – majority of the round stock to diameter 22:41 Chucked and dialed in (2) – other end of the round stock 23:07 Faced and center drilled (2) – other end of the round stock 24:06 Turned down (2) – rest of the round stock to diameter 28:06 Drilled (1) – 6mm hole through most of the round stock 31:14 Parted off – one half of the round stock 33:12 Drilled (2) – 6mm through the rest of the round stock 34:20 Faced – one end of the first handle 35:10 Faced to length – other end of the first handle 41:33 Drilled (3) – started 12mm pocket in the first handle 45:11 Drilled (4) – finished 12mm pocket in the first handle 49:12 Result – first handle finished, looking good 50:42 Wrap-up – next time we’ll start with the handles, bye
#throttle #lever #ip68 #robertssmorgasbordMailbag: Lots of Tools (Machining) and Material (Aluminum, POM) Part 2 of 2Roberts Smorgasbord2022-10-16 | Second part of a rather voluminous mailbag … ↓↓↓ Complete description, time index and links below ↓↓↓
We just continue where we left off in the first part (link below). In this second part we’ll see a machine vise, a rotary table, taps, a drill bit, a face milling cutter, T-slot nuts, a drill bit
00:00 Intro – picking up where we left oft 00:32 Drill bit – HSS, Ø 12mm, shaft Ø 10mm 01:31 Machine vise – Röhm 863422, 100mm jaws, 90mm open 04:58 Face milling cutter – 1”, 6mm shaft 06:49 Taps – sets of three for M2 and M6 08:35 Rotary table – 100mm, well, really 96mm 13:26 T-slot nuts – for PROXXON KT 150 compound table 15:38 LiYCY cable – 4 x 0.14mm², shielded 17:02 Router bit - HSS, Ø 12mm, shaft Ø 6mm 18:47 End mill - Ø 4mm, shaft Ø 4mm, length 100mm 20:09 T-slot nuts – for rotary table, not quite fitting 22:37 Lathe cutting tools – five piece set from PROXXON 27:00 Parallel blocks – 9 pairs 4mm x 10-42mm x 100mm 30:34 Wrap-up – now I have to clean up the mess, bye
#proxxon #postbag #robertssmorgasbordProxxon BFB 2000 Mill/Drill Stand Overhaul (Complete Teardown)Roberts Smorgasbord2022-10-09 | Finally I did overhaul the mill/drill stand of my Proxxon milling combo … ↓↓↓ Complete description, time index and links below ↓↓↓
I bought that Proxxon milling combo about two years ago (link below). I already overhauled the KT 150 compound table and the BFW 40/E spindle (links below). But somehow I put off overhauling the BFB 2000 milling/drilling again and again.
Now I actually wanted to mill some parts, but my Proxxon BFB 2000 mill/drill stand was of course still dirty and its ways were still wobbling. I also found the column not to be perpendicular to the table. So I gave it some love.
►Intro 00:00 Intro – my mill/drill stand needs some love ►Disassembly 01:31 Column / Extension arm – just take it off 01:59 Extension arm / dovetail guide – don’t do it 03:14 Depth end stop – you can do this later 03:39 Adjustable guide bar – two set, one stop screw 05:03 Dovetail guide / carriage – just slides off 05:59 Function – just some explanations 07:28 Dovetail guide – couldn’t get it apart 10:52 Carriage – couldn’t get it apart either ►Cleaning 12:25 Water with detergent – getting debris off 14:41 Denatured alcohol – making it shiny ►Reassembly 22:05 Extension arm / dovetail guide – tricky 25:28 Depth end stop – just screw it in 26:05 Carriage / dovetail guide / guide bar – lubricate 30:28 Colum adjustment – get it perpendicular to table 36:25 Dovetail adjustment – playing with two setscrews ►Wrap-up 38:39 Wrap-up – it’s nice and tight now, bye
#proxxon #overhaul #overhauling #repair #repairing #fixing #teardown #disassembly #disassembling #robertssmorgasbordMailbag: Lots of Tools (Machining) and Material (Aluminum, POM) Part 1 of 2Roberts Smorgasbord2022-10-02 | A rather voluminous mailbag to be digested in two parts … ↓↓↓ Complete description, time index and links below ↓↓↓
In this first part we’ll see some aluminum and POM stock, accessories for my PROXXON PD 250/E lathe and PROXXON BFW 40/E mill, aluminum and polyamide screws, and a lonely cable. All for my electronic Engine Control Lever (link below).
00:00 Intro – it’s hard not to open a parcel when it arrives 00:48 Aluminum stock – 6060, Ø 18 mm, Ø 5 mm, 20x5 mm 04:28 POM stock – 70x95x105 mm, 2 x 25x65x105mm, Ø 20mm 08:11 Lathe cutting tools – five piece set from PROXXON 11:51 Radius cutting attachment – for PROXXON PD 250/E lathe 13:31 Tailstock chuck – for PROXXON PD 250/E lathe 16:02 LiYCY cable – 4 x 0.34mm², shielded 17:18 Mill chuck – for PROXXON BFW 40/E 18:54 Aluminum cylinder head screws – M2x16, M6x12, M6x40 20:42 Ball end mill – Ø 5 mm, shaft 6 mm 22:03 Polyamide set screws – hexagon socket, flat point, M6x12 23:34 Polyamide screws – slotted, countersunk, M2x16 24:27 Wrap-up – time to take a break, part 2 coming soon, bye
#proxxon #postbag #robertssmorgasbordPROXXON Precision Lathe PD 250/E Unboxing and First ImpressionsRoberts Smorgasbord2022-09-25 | "Precision Lathe" being marketing talk here for a nice "Micro Lathe" … ↓↓↓ Complete description, time index and links below ↓↓↓
I was in need of a lathe for small parts (20mm Ø by 30mm, see link below) that I could relatively easily carry around. In addition I wanted it to be working just fine out of the box and not to be a project in itself.
The carrying around part and my requirement for it to be working out of the box excluded the usual Chinese suspects (to heavy, too much work to make it work). So I ended up with a PROXXON Precision Lathe PD 250/E made in Germany.
00:00 Intro – I couldn’t get a used one, so I bought new one 00:51 Box – some pictures, some info, nothing exiting 02:27 Opening – lathe, paperwork and lots of parts 07:37 Assembly: Chuck – tight fit, attached with three screws 12:37 Assembly: Live center – MK1 taper, easy to remove 13:35 Assembly: Chuck guard – one screw with washer 14:32 Assembly: leadscrew handle – just screw it in 15:31 Gearbox – all metal pulleys and gears, lots of tables 18:17 Spindle passage – just 10.5 mm, but it’s there 18:38 Accessories - reverse jaws for chuck and shim set 19:14 Controls 1 – cross slide rotation, tailstock movement 20:53 Center distance – nominal 250 mm, about 200 mm usable 21:42 Controls 2 – wheels for lead screw, cross slide, top slide 22:55 First switch on – real quiet, only very little vibration 24:50 Wrap-up – expensive, but I like it, bye
#proxxon #lathe #unboxing #firstimpressions #robertssmorgasbordDual Electronic Engine Control Lever IP68 (4): First Drawing, Final PCB LayoutRoberts Smorgasbord2022-09-18 | Preliminary drawing, another friction estimation, final motherboard layout … ↓↓↓ Complete description, time index and links below ↓↓↓
After that first LEGO® Technic™ prototype (link below), an even smaller LEGO® model (link below) and some friction estimations it was time to come up with a preliminary drawing and, subsequently, a final layout for the mainboard.
00:00 Intro – first drawing, more friction and final PCB layout 00:53 Drawing: Overview – front, side and bottom 01:27 Drawing: Side – lever, stop/assembly screws, friction mechanism 08:01 Friction again – required spring force, springs available 10:40 Drawing: Bottom – holes for electronics and screws, O-ring groove 13:08 Drawing: Front – handles, levers, shafts, side bodies, main body 18:28 Final PCP layout – of the motherboard 21:35 Wrap-up – next we’re actually building something, bye
#throttle #lever #ip68 #robertssmorgasbordDual Electronic Engine Control Lever IP68 (3): LEGO® Model, PCB Layout, FrictionRoberts Smorgasbord2022-09-11 | Smaller LEGO® model, initial PCB layout, forces and friction revisited … ↓↓↓ Complete description, time index and links below ↓↓↓
I cobbled together a non-functional LEGO® model, just to see how everything would fit together. Going from there I did an initial design for the PCB. Finally I verified – really falsified – my initial estimate for the spring force to create friction/torque.
00:00 Intro – smaller LEGO® model, initial PCB layout, forces revisited 01:32 Small LEGO® model – how everything will (hopefully) fit together 06:38 Initial PCB layout – as narrow as possible, otherwise not much to it 10:36 Friction revisited – spring pressure measured via torque and friction 19:10 Wrap-up – next up is the initial layout for the circuit board, bye
#throttle #lever #ip68 #robertssmorgasbordDual Electronic Engine Control Lever IP68 (2): 1st LEGO® Technic™ PrototypeRoberts Smorgasbord2022-09-04 | Miniaturizing and modifying the LEGO® Technic™ A1335 test jig … ↓↓↓ Complete description, time index and links below ↓↓↓
I already had a working LEGO® Technic™ test jig for two A1335 Hall effect angle sensors (links below). It just had to be made more compact, levers added and the angle of movement for each lever needed to be restricted to about ±60°.
00:00 Intro – smaller LEGO® Technic™ jig, approaching the target dimensions 00:33 Lever assembly – springs inline (narrower), more spring force (shorter) 10:15 Size comparison – saved two studs in length and three studs in width 11:05 Assembly – a new base and some lipstick on the pig 14:16 Overall dimensions – still a wee bit too large, but we’re getting there 14:59 Spring force – just measuring (really estimating) it for future reference 15:58 Wrap-up – next up is the initial layout for the circuit board, bye
#throttle #lever #ip68 #robertssmorgasbordDual Electronic Engine Control Lever IP68 (1): Project Kick-OffRoberts Smorgasbord2022-08-28 | Kick-off for the project (examples, basics, next steps) … ↓↓↓ Complete description, time index and links below ↓↓↓
So I want to build a watertight (IP68) dual electronic throttle lever, respectively, engine control lever. In this video – the project kick-off – I’ll outline what I’m going for exactly.
First we have a look at some off-the-shelf examples. Then we talk about IP68 vs IP67 and how I plan to achieve water tightness. Finally we dive into the math and physics of friction, torque and moment.
00:00 Intro – an dual electronic engine control lever, IP68 01:05 Examples – so we know what we’re talking about 05:14 IP68 vs IP67 – more/less water-resistant/-proof/-tight 07:54 Watertight – just the electronics, no seals on rotating shafts 09:30 Compact – planned changes to LEGO® Technic™ test jig 10:32 Friction – some math and physics, ABS vs aluminum 17:41 Wrap-up – enough about the A1335 for now, bye
Dual Electronic Engine Control Lever IP68 youtube.com/playlist?list=PLwq-2MnM58FLQ468e5-wzV6_MeqT4Zd5T Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Basics youtu.be/b_1zqg0UZw0 Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (1) youtu.be/Y7G-xwPNqxI Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (2) youtu.be/N613LV-wd1g Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (3) youtu.be/AmaoXhydWIk Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (4) youtu.be/RllH7C1EnKM Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (5) youtu.be/n1ULQ1GVoOc Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (6) youtu.be/PSys1Hp9JOA Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (7) youtu.be/E37hL-k9jiY Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (8) youtu.be/TcJg9gNquMs LEGO® Technic™ Test Jig for Allegro A1335 Hall Effect Angle Sensors youtu.be/aThE881fI68 Hall Effect Angle Sensors (Arduino, Allegro A1334 and SPI) – The Basics (1/3) youtu.be/t323DEj0k_s Hall Effect Angle Sensors (Arduino, Allegro A1334 and SPI) – The Basics (2/3) youtu.be/E0t62Gfjvhk Hall Effect Angle Sensors (Arduino, Allegro A1334 and SPI) – The Basics (3/3) youtu.be/AXk_OUGTSJQ
#throttle #lever #ip68 #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (8)Roberts Smorgasbord2022-08-21 | Covering error measurement and code for segmented linearization … ↓↓↓ Complete description, time index and links below ↓↓↓
In part seven we looked at the theory of the harmonic and segmented linearization, respectively, error correction, the A1335 is capable of. Now it’s time to actually make use of the A1335’s segmented linearization.
But before we can do that, we first have to measure the error we want to correct using an external angle decoder. Then we extend our library, so we can upload our linearization coefficients to the A1335. Finally we test the whole thing.
00:00 Intro – picking up where we left off last time 01:06 Error measurements – with external angle encoder 04:17 Segmented linearization code – writing 15 values to RAM 10:21 Test sketch – writing the measured values to the A1335 11:47 Test results – errors down to less than a degree 14:03 Wrap-up – enough about the A1335 for now, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (7)Roberts Smorgasbord2022-08-14 | Covering the theory of harmonic and segmented linearization … ↓↓↓ Complete description, time index and links below ↓↓↓
In part six took the first steps toward linearization, setting the pre-linearization rotation direction and zero offset (link below). Now it’s time to have a look at the actual linearization, respectively, error correction functions of the A1335.
We start off with a theoretical overview, covering the A1335’s harmonic and segmented linearization features. Unfortunately the video was cut short just there, because I caught the flu …
00:00 Intro – let’s set the pre-linearization rotation and offset 01:29 Linearization – harmonic or segmented 03:28 Harmonic linearization – Fourier transformation of the error 09:43 Segmented linearization – simple, two variants available 15:04 Wrap-up – have to cut it short here, next up the code, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (6)Roberts Smorgasbord2022-08-07 | Covering rotation direction (CW/CCW) and linearization offset (zero point) … ↓↓↓ Complete description, time index and links below ↓↓↓
In part four we’ve covered writing to extended addresses and wrote one to set the A1335’s output rate (link below). Part five was kind of an intermezzo, where we measured the noise levels and had a look at the DSP capabilities (link below).
It’s time to make the first steps towards linearization. We’ll start with the algorithm enable flags, and use one to set the direction of rotation. Then we’ll set the linearization offset to achieve a proper zero point for our angle measurements.
00:00 Intro – let’s set the pre-linearization rotation and offset 01:24 Algorithm enable – flags to control the digital signal processing 07:12 Algorithm enable code – partial extended write, writing flags 12:32 Linearization offset – a 16-bit unsigned integer to set zero degrees 13:36 Linearization offset code – writing it as unsigned integer or float 17:12 Test sketch – setting rotation direction and zero offset 20:45 Test results – correct rotation direction and zero point 25:34 Wrap-up – next up is the linearization itself, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (5)Roberts Smorgasbord2022-07-31 | Covering noise vs. output rate and a signal processing overview … ↓↓↓ Complete description, time index and links below ↓↓↓
In part four we’ve covered writing to extended addresses and wrote one to set the A1335’s output rate (link below). The term “output rate” is a bit misleading, because this setting really determines over how many samples the chip averages.
That of course directly influences the noise level on the final angle readings. So this time we’ll have a detailed look at the noise levels at different output rate setting. And I’ll give you an overview about the other signal processing capabilities.
00:00 Intro – let’s have a look at the noise and what the A1335 can do 00:57 Output rate settings – a quick recap (samples/period/frequency) 02:43 Noise measurements – at all eight output rate settings 08:58 Noise summary – from 6 LSB noise at 1 sample to 0 at 128 samples 12:05 Signal processing overview – averaging, IIR filter, linearization and more 19:30 Wrap-up – next up are the pre-linearization settings, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (4)Roberts Smorgasbord2022-07-24 | Covering writing extended addresses, unlocking and output rate … ↓↓↓ Complete description, time index and links below ↓↓↓
In part three we’ve covered reading extended addresses and read one to get the A1335’s ROM version (link below). But our code was flawed. Instead of polling the read done flag as recommended, it just waited for a fixed time.
So we’ll first revisit the reading of extended addresses and implement polling of the read done flag as well as a time-out for that. Then we move on to writing extended addresses. We’ll use that to set the output rate of our A1335.
00:00 Intro – let’s revisit reading extended addresses first 01:34 Reading extended addresses revisited – polling and time-out 15:54 Writing extended addresses – three registers and two flags 19:09 Extended addresses methods – the related code in the library 24:41 Keycode extended address – unlocking protected capabilities 25:29 Keycode method – unlocking the protected capabilities 26:29 Output rate extended address – averaging 1 to 128 samples 30:09 Output rate methods – reading and setting the output rate 33:17 Test sketch – setting the output rate to 250Hz 36:25 Test results – output rate set to 250Hz 38:04 Wrap-up – next up noise levels at different output rates, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (3)Roberts Smorgasbord2022-07-17 | Covering reading extended addresses (SRAM, EEPROM, commands) … ↓↓↓ Complete description, time index and links below ↓↓↓
In the first two parts we’ve covered all of the primary registers, which enable basic operation of the A1335 (links below). But the A1335 has also over 60 extended addresses that allow you to access its advanced functionality.
These extended addresses can only be accesses through the primary registers. In this video we’ll extend our library with a function to read from those extended addresses. To test our code we’ll read out the 64 bit ROM version for the A1335.
00:00 Intro – it’s time to have a look at the extended “registers” 00:47 Extended addresses overview – SRAM, EEPROM and commands 07:55 Reading extended addresses – three registers and two flags 14:55 Extended address methods – the related code in the library 23:38 Test sketch – reading ROM versions during setup 24:20 Test results – correct ROM version read 25:06 Wrap-up – next up is writing extended addresses, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (2)Roberts Smorgasbord2022-07-10 | Covering four more primary registers including temperature and field… ↓↓↓ Complete description, time index and links below ↓↓↓
In part one we’ve covered the first five of the primary registers, enabling us to properly initialize our two Allegro A1335 and to read angles from them while detecting errors. But there are four more primary registers left we need to have a look at.
Two of these registers will yield us additional data – internal chip temperature and magnetic field strength – and the other two could be used to mask errors, respectively, extended errors, if we choose at some point to do so.
00:00 Intro – four more primary registers 00:42 Temperature register – register identifier plus temperature 01:12 Temperature methods – reading, Kelvin, Celsius and raw data 03:16 Field register – register identifier plus magnetic field strength 03:41 Filed methods – reading and field strength in Gauss 04:44 Error mask register – masking all errors, but extended errors 05:32 Error mask methods – writing a bit mask to mask the errors 06:33 Extended error mask register – masking all extended errors 07:15 Extended Error mask methods – writing a bit mask (again) 07:47 Test sketch – adding temperature and magnetic field strength 08:29 Test results –measuring temperature and field strength too 10:41 Wrap-up – next up are the extended registers, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (1)Roberts Smorgasbord2022-07-03 | Covering library basics and the first five primary registers … ↓↓↓ Complete description, time index and links below ↓↓↓
In the basics we’ve created some breakout boards for the Allegro A1335 and got two of them up and running using an existing library from the internet (link below). However, that library, while kinda working, lacked in some respects
So this time we’ll start to write our own library to unlock the full potential of the A1335. Anyway, after covering some library basics we’ll write code for handling the first five primary registers, including the angle register of course.
00:00 Intro – a better Arduino library for the A1335 01:06 Register overview – primary 16 bit and extended 32 bit 05:42 Library basics – constructor, error handling and I2C operations 10:31 Control register – run/idle, hard/soft reset and clear registers 12:43 Control methods – library code for the control register 17:00 Angle register – four bits (ID, error, new, parity) and 12 bit angle 19:02 Angle methods – reading, angle raw/degree and angle new 22:56 Error register – 11 error flags plus an extended error flags 25:10 Error methods – reading, testing flags, flag functions 28:02 Extended error register – 12 extended error flags 30:28 Extended Error methods – reading, testing flags, flag functions 31:37 Revisiting begin() – it takes a bit to get the A1335 up and running 33:03 Test sketch – just initialization and reading angles 35:04 Test results – two perfectly measured angles 36:06 Wrap-up – next up are the remaining primary registers, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbord Keywords Robert's Smorgasbord, Robert’s Smorgasbord, tutorial, tutorials, how-to, Arduino, MCU, microcontroller, Allegro, A1335, Allegro A1335, hall effect, rotary position, hall effect sensor, angle sensor, rotary sensor, rotary position sensor, hall effect angle sensor, hall effect rotary sensor, hall effect rotary position sensor, I2C, Two-Wire, 2 Wire, 2-Wire, Wire, library, sketch, Arduino library, Arduino sketch, Arduino A1335 library, A1335 Arduino library, Arduino A1335 sketch Cards 00:00 “More tutorials …” Tutorials youtube.com/playlist?list=PLwq-2MnM58FKn3920rc1V0qoTsQDheTIw 00:20 Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Basics youtu.be/b_1zqg0UZw0 00:46 LEGO® Technic™ Test Jig for Allegro A1335 Hall Effect Angle Sensors youtu.be/aThE881fI68 08:56 QST QMC5883L 3-Axis Digital Compass and Arduino MCU – The Details (1) youtu.be/NTDS2Vmnr-4LEGO® Technic™ Test Jig for Allegro A1335 Hall Effect Angle SensorsRoberts Smorgasbord2022-06-26 | Axels with smooth friction and a single detent when rotating … ↓↓↓ Complete description, time index and links below ↓↓↓
In one of my last videos I got two Allegro A1335 Hall effect rotational position sensors up and running (link below). Now I was in need of a test jig that could rotate two magnets in a controlled fashion and featured repeatable zero positions.
Of course I resorted to my old LEGO® Technic™ collection for that purpose. But I was no able to implement everything with the parts I have. So I slightly modify some LEGO® rims (milled notches) and pulleys (made space for magnets).
00:00 Intro –we want to achieve (friction, zero position) 02:09 Build part I – Houston, we have friction! 07:27 Milling intermezzo – maiming LEGO® Technic™ parts 10:09 Build part II – Now I have a zero position detent Ho-Ho-Ho 15:36 Build part II – I’ve been framed! 18:56 Wrap-up – a perfect test jig, a hint and bye
#lego #legotechnic #project #projects #build #electronicproject # electronicsprojects #robertssmorgasbord2 Liters Double Action Air Pump (High Peak 49702) UnboxingRoberts Smorgasbord2022-06-19 | Bought to replace the one that came with a Chinese inflatable boat … ↓↓↓ Complete description, time index and links below ↓↓↓
Another unplanned video: So I shot the unboxing of a Chinese inflatable boat (link below) and the included air pump broke after about five minutes. So I searched on Amazon for a cheap, but maybe a bit more durable and capable replacement.
I stumble about this one from High Peak for 15€ plus shipping. Funnily enough I also saw the air pump I just broke listed there – for a bit less than 10€. Considering that the High Peak pumps four times more air and is much sturdier a no brainer.
00:00 Intro – an unplanned, impromptu unboxing 00:33 Box – not a huge amount of information 02:25 Pump – more information and detailed views 07:57 Amazon listing – just 15 bucks now 08:19 Wrap-up – see it in action, bye
#airpump #unboxing #test #review #firstimpressions #robertssmorgasbordChinese Inflatable Boat (Intime Plastics 300 YT-098A) UnboxingRoberts Smorgasbord2022-06-19 | A Chinese 3 person inflatable boat with everything included… ↓↓↓ Complete description, time index and links below ↓↓↓
Another video I haven’t planned to do, but the family gifted me an inflatable boat for my birthday, so I felt obligated to upload a video about it in a timely manner. It’s a Chinese one, and everything from oars to an air pump is included.
While the unboxing itself went smoothly, inflating it came to an abrupt end, when the included air pump broke. No worries, I got a bigger, better one (link below). In the end that boat is a fun toy (not quite up to its specs) and will serve its purpose.
00:00 Intro – a birthday present 00:28 Box – huge amount of information 04:42 Unboxing – everything is included 06:07 Oars – 3 pieces, length 125 cm 09:26 Air pump – a simple single action affair 10:39 Inflating I – until the air pump broke 13:50 Inflating II – continuing with a new pump 16:26 Outfitting – line, oars, rod holders 18:35 Data – dimensions and weights 21:12 Wrap-up – it’s a toy, so it’s OK, bye
#boat #dinghy #inflatable #inflatableboat #madeinchina #unboxing #test #review #firstimpressions #robertssmorgasbordAllegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The BasicsRoberts Smorgasbord2022-06-12 | I already did videos using the obsolete A1334, but now I’ve got the A1335 … ↓↓↓ Complete description, time index and links below ↓↓↓
The videos about the A1334 (links below) covered all the basics of Hall Effect angle, respectively, rotary position sensors. So this will be the only “The Basics” video about the A1335, just showing how to get the thing up and running using I2C.
We start of course with a look into the A1335 datasheet and a little comparison with the A1334. This is followed by the design of breakout boards for the A1335’s TSSOP-14 package. Finally we hunt for an Arduino library and test everything.
00:00 Intro – the A1334 is dead (obsolete), long live the (available) A1335 02:12 A1335 Datasheet – an A1334 with 32-bit CPU and more interfaces 09:39 Breakout boards – all you’ll need for I2C operation on a tiny PCB 17:22 Breadboard circuit – straight forward, but for the pull-up values 20:45 Arduino libraries – they do exist, but nothing to write home about 24:58 Arduino sketch – a simple affair, just writing the angles to serial 28:04 Initial test – everything works just fine, but the library is lacking 31:05 Wrap-up – next is a better LEGO® Technic™ jig and the details, bye
#halleffect #angle #rotary #sensor #arduino #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordOutdoor: Germany/Poland, May 2022 – Usedom/Uznam and Baltic SeaRoberts Smorgasbord2022-06-05 | Beaches, border, harbor, forts, but mostly museum of East Germany … ↓↓↓ Complete description, time index and links below ↓↓↓
It was just a short trip with the larger family to the island of Usedom (Polish: Uznam). The island is pretty much embedded into the coastline, the north-east facing the Baltic Sea. Most of it belongs to Germany but the east end belongs to Poland.
Before the German reunification the island was part of the German Democratic Republic (GDR) aka East Germany. One of the main attractions is the related museum. But fear not, there were some old school calculators and oscilloscopes too.
00:00 Intro – the island of Usedom and the Baltic Sea 00:34 Beach and coast – endless beach, varying coast 02:38 German/Polish border – modern history 06:25 Fort Zachodni in Świnoujście – just coming through 06:55 Harbor in Świnoujście – a small commercial one 08:04 Fort Anioła in in Świnoujście - just a quick look 08:40 Fort Zachodni in Świnoujście – this time in detail 11:37 Museum of the GDR – that is East Germany 25:17 Mechanical calculators – plus scopes, variacs etc. 25:51 Disney’s Frozen photoshoot – with the family 26:10 Wrap-up – a beautiful sunset and bye
#balticsea #beach #gdr #museum #poland #germany #forts #outdoor #robertssmorgasbordBauknecht Super Eco 6414 Washing Machine Repair (Unsuccessful)Roberts Smorgasbord2022-05-29 | If you need to turn apart your Bauknecht washing machine … ↓↓↓ Complete description, time index and links below ↓↓↓
The day before we went on the second leg of our vacation the washing machine stopped working. So when we returned the first order of the day was to get that thing up and running again. Unfortunately the failure was very unspecific.
If you started a program you heard the relays clicking in an endless repeating pattern. Just once the thing displayed a failure “F22”. So I carried out the procedure suggested for that error – reseating all connectors – but to no avail.
00:00 Preface – first shoot after the vacation, not the one I wanted 00:47 Intro – a dead washing machine with an intermittent error F22 02:17 Top cover removal – real easy, just two screws 03:22 Electronics – first look, connectors surprisingly easy to remove 04:16 Front panel removal – not so easy, found some odd sized screws 06:22 Electronics connectors reseated – just went through the motions 06:56 Front panel reattached – a bit fiddly, replaced some screws 08:20 Back cover removal – quite easy, but a plastic part came loose 10:04 Motor connectors reseated – not so easy to reach 11:21 Back cover reattached – beware of all the sharp edges 12:56 Top cover reattached – latches at the front, screws at the back 13:25 Test – all was for naught, it’s still dead as a dodo 15:06 Wrap-up – yes, there was more I could have done, bye
#washingmachine #washingmachinerepair #teardown #disassembly #disassembling #repair #fix #robertssmorgasbordOutdoor: Spain, April 2022 – Dénia, Mostly Harbor and at SeaRoberts Smorgasbord2022-05-22 | Some impressions from my first boating experience … ↓↓↓ Complete description, time index and links below ↓↓↓
Some of you have already suspected that I’m planning to get into boating. Don’t worry, it’s a long term, respectively, retirement project, and it will involve lots of electronics.
Anyway, while visiting my sister in Spain I decided to use the opportunity and got the entry-level Spanish boating license (Licencia de Navegación). There’s also a bit of footage of superyachts, the town and the coast.
00:00 Boating course – for the Spanish “Licencia de Navegación” 05:14 Harbor – having a look at the superyachts 08:14 Along the coast – I cut that down quite a bit 20:11 Refueling the boat – and docking at the gas station 27:16 Further into the harbor – and practicing maneuvers 32:06 Walk along the coast – just a few impressions
#denia #spain #mediterranean #mediterraneansea #boating #superyachts #outdoor #robertssmorgasbordUSB Ethernet Stick & Wireless Mouse Teardown (All the Chips)Roberts Smorgasbord2022-05-15 | A dead Chinese USB Ethernet stick and a Bluetooth mouse without dongle … ↓↓↓ Complete description, time index and links below ↓↓↓
… both already in a kinda self-disassembling state. That is the mouse put up some resistance, hiding two screws from me. Anyway, I already showed those items in the last scrapheap scavenge (link below).
Of course we’ll have a close look at all the chips needed to get these devices running: one system on a chip (SoC) plus some supporting stuff in each case. The lesson is that nowadays there is a SoC for every commodity application.
00:00 Intro – an USB Ethernet stick and a wireless mouse 00:33 USB Ethernet stick – fell apart by itself, board close-ups 02:16 ASIX AX88772B – USB 2.0 to Fast Ethernet chip 02:58 DELTA LF8505 – 10/100Base-Tx Transformer 06:14 B&N Bluetooth Mouse – harder to crack 10:57 Board – with a vertical daughter board 14:10 AIROHA AB1120J – Bluetooth SoC for HID 15:25 PIXART PAN3204DB – Optical Mouse Sensor 16:43 Wrap-up – SoCs for commodity applications, bye
#usb #ethernet #mouse #bluetooth #wirelessmouse #teardown #disassembly #disassembling #robertssmorgasbordOutdoor: Germany, September 2021 – Northern Lowland / PlainRoberts Smorgasbord2022-05-08 | A walk through the North German Lowland / Plain … ↓↓↓ Complete description and links below ↓↓↓
Just me rambling about some general stuff and local specifics of the landscape, while taking a stroll through the North German Lowlands, also known as the North German Plain.
#outdoor #northgermany #plain #swamp #robertssmorgasbordArduino Nano Every: Four Hardware Serial Ports – Without Additional HardwareRoberts Smorgasbord2022-05-01 | Using all four of the ATmega4809’s USARTs/UARTs with the Nano Every … ↓↓↓ Complete description, time index and links below ↓↓↓
You always thought you knew your hardware serial ports. But there’s a dark secret kept by the Arduino Nano Every community. In fact there are four USART / UART units in the ATmega4809. And only two are used as Serial and Serial1.
With a bit of tinkering, you can make the two unused ones available as Serial2 and Serial3 within the Arduino IDE. The question is, how will you handle having not only the two hardware serial ports you knew all your life, but four.
00:00 Intro – there’s a dark secret 01:33 Credits – go all to Kevin 01:53 ATmega4809 USARTs – there are four of them 02:55 pins_arduino.h – for the Nano Every modified 06:11 Test – four hardware serials daisy chained 09:06 Words of advice – beware of updates, things might break 09:37 Wrap-up –
#arduino #arduinonano #serial #uart #atmega #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordScrapheap Scavenge: Twenty Small ItemsRoberts Smorgasbord2022-04-24 | Tools, wall warts, bike lights, Ethernet stick, wireless mouse and more … ↓↓↓ Complete description, time index and links below ↓↓↓
Just twenty small items I picked up from “for free” boxes and bulky waste heaps in front of apartment buildings.
00:00 Intro – stuff out of “for free” boxes in front of apartment buildings 00:34 B&N wireless mouse – something for a teardown 01:03 Folding knife – stainless and locking 01:43 Multi-tool – promotional item, not a Leatherman 02:37 Bike multi-tool – at least that’s what I think it is 03:08 Two screwdrivers – one bend, both a bit rusty 03:40 Ethernet cable – very thin, 15m, gigabit (maybe) 04:26 Five DVD+R – Intenso 8.5 GB, double layered 05:08 USB Ethernet stick – 100MB/s, not working 07:47 Two USB wall warts – Samsung 1.55 A, Busch+Müller 1A 09:34 JBL USB cable – short but sweet, probably silicon 09:59 Mystery USB adapter – USB to barrel jack and more 10:41 Wall wart – 4.2V ± 0.5V, 500mA for Li-ion charging? 11:33 Barrel jack adapters – always nice to have 12:04 Bike backlight 1 – large, run by two AA batteries 12:50 Bike light holder – unfortunately not for that backlight 13:47 Bike backlight 2 – small, run by two coin cells 15:12 Plastic hose clamp – no idea what’s that for 15:59 Nice lanyard – solid nylon cord with rubber eyes 16:41 Wrap-up – group picture of items, bye
#tools #usb #usbcable #ethernetcables #bikelight #scrapheapscavenge #robertssmorgasbordChannel Announcement: I’m away – back in a month or soRoberts Smorgasbord2022-04-20 | Your highly appreciated comments might go unanswered for a while … ↓↓↓ Complete description and links below ↓↓↓
The videos will keep coming in my absence, though they might be a little shorter than usual. I’ll start catching up with your comments in a month or so.
#absent #absence #away #channel #comments #announcement #announcements #robertssmorgasbordQST QMC5883L 3-Axis Digital Compass and Arduino MCU – The Details (5)Roberts Smorgasbord2022-04-17 | Noise avoidance and reduction, correlated noise, circular median … ↓↓↓ Complete description, time index and links below ↓↓↓
In part 4 (link below) we finally managed to nicely calibrate the QMC5883L. We did that by using the matrix method with a bias vector and a scale matrix. But our compass heading was fluctuating quite a bit. It’s time to take care of that noise.
We start by trying to avoid that noise in the first place by checking some causes for noise. Then we’ll come up with an effective noise reduction by filtering our azimuth signal. We’ll end up with a fancy moving median filter / circular median.
00:00 Intro – it’s time to take care of the noise 00:24 Noise – what we’re dealing with 03:00 Noise avoidance – avoid it if possible 03:07 External noise sources – remove them 04:42 Full scale range – use the smallest possible 06:39 Oversampling rate – use the highest possible 07:22 Power supply – more decoupling is better 08:41 Avoidance summary – we did the usual stuff 09:47 Noise reduction – filtering, but what and how? 12:36 Noise levels – raw, calibrated and azimuth data 14:25 Correlated noise – noise that’s not random 18:24 Filter traits – modified mean, mean and median 22:05 Sample number – how many samples we need 25:35 Circular median – no such thing, but we do one 23:12 Filtering algorithm – circular buffer, quick sort 27:31 Eighth version – median filtering the azimuth 33:20 Median azimuth – within 1° to 1.5°, but darn slow 36:58 Wrap-Up – I intended it as light entertainment, bye
#arduino #compass #magnetometer #i2c #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordQST QMC5883L 3-Axis Digital Compass and Arduino MCU – The Details (4)Roberts Smorgasbord2022-04-10 | Calibration with scale matrix and bias vector, fixing i2C glitches … ↓↓↓ Complete description, time index and links below ↓↓↓
In part 3 (link below) we calibrated our QMC5883L using the “scaled biases”, or how I like to call it, “min/max” method. We also calculated the azimuth, respectively, compass direction. However, the results of that calibration were underwhelming.
So this time we’ll calibrate using the full blown matrix method. That is instead of just using 3 scales we’ll calculate a 3x3 scale matrix. Spoiler: We’ll get much better results.. And we’ll fix those I2C errors we encountered in part 2 (link below) too.
00:00 Intro – “scaled biases” calibration was not good enough 00:57 Correction matrix revisited – doable methods are available 02:06 Calibration data collected – 360° rotations in 14 orientations 06:15 Biases and scales calculated – with a free windows program 10:17 Seventh version – bias vector plus scale matrix corrections 12:12 Calibrated data – almost perfect, azimuth still a bit off 15:27 I2C errors – don’t take everything in datasheets at face value 20:52 Wrap-up – let’s end on this positive note, next up is noise, bye
#arduino #compass #magnetometer #i2c #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordQST QMC5883L 3-Axis Digital Compass and Arduino MCU – The Details (3)Roberts Smorgasbord2022-04-03 | Calibration basics, min/max calibration, azimuth calculation … ↓↓↓ Complete description, time index and links below ↓↓↓
In part 2 (link below) we read every bit of raw data, respectively, status information the QMC5883L provides and used its interrupt pin instead of just polling the data in fixed intervals. We’re ready now to do something useful with that data.
As we learned in “The Basics” (link below) you need to calibrate your 3-axis magnetometer. So we start with some calibration theory and implement a simple calibration method. And in the end we calculate a compass direction (azimuth).
00:00 Intro – calibration and azimuth calculation 00:48 Axes revisited – three orthogonal magnetic sensors 03:18 Why calibration – sensor, hard iron and soft iron errors 06:28 Goal of calibration – a certain flux creating a perfect sphere 08:46 Correction matrix – sophisticated calibration, hard to do 11:47 Scaled biases – an easier, good enough way to calibrate 14:00 Fourth version – scaled biases calibration for X, Y and Z values 19:03 Experiments – underwhelming for 3 axes, kinda usable for 1 23:30 Azimuth calculation – two values, trigonometry and arctan2 31:37 Fifth version – compass direction around Z-axis (up and down) 35:00 Wrap-up – we’ll have to revisit the correction matrix, bye
#arduino #compass #magnetometer #i2c #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordQST QMC5883L 3-Axis Digital Compass and Arduino MCU – The Details (2)Roberts Smorgasbord2022-03-27 | Reading and writing all registers and data, using the interrupt … ↓↓↓ Complete description, time index and links below ↓↓↓
In part 1 (link below) we had a look at all the QMC588L’s registers, successfully established I2C communication with it and read/wrote its two control registers. It’s high time we actually read some data and status information from the chip.
And we just do that: Read the X, Y and Z magnetic data, its internal temperature and its status. I’m demonstrating its different status flags while polling data from it. Finally we use its interrupt pin instead of polling the data in fixed intervals.
00:00 Intro – let’s read everything and then use some interrupt 01:12 Second version – reading everything plus some changes 01:28 Header file – new structs, new methods, two changes 04:56 CPP file – implementing the new methods, two more changes 09:47 Sketch – setup simplified, loop reads everything now 11:57 First test – output data rate 10Hz, delay in loop 25ms 16:43 Second test – output data rate 10Hz, delay in loop 200ms 19:40 Third version – using an interrupt instead of a delay 21:20 Fourth test – output data rate 10Hz, loop interrupt controlled 23:43 Sixth test – output data rate 50Hz, loop interrupt controlled 25:00 Wrap-up – next up is calibration, error handling later, bye
#arduino #compass #magnetometer #i2c #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordQST QMC5883L 3-Axis Digital Compass and Arduino MCU – The Details (1)Roberts Smorgasbord2022-03-20 | QMC5883L registers, I2C, reading and writing control registers … ↓↓↓ Complete description, time index and links below ↓↓↓
In “The Basics” video (link below) we briefly discussed the QMC5883L’s axes, choose a readily available library for it, did the necessary calibration and got some compass headings from it. We also had a squiz at some alternative libraries.
Now it’s time to go into the details and write our own library for the QMC5883L. We start by having a detailed view at its registers. Then we read, respectively, write its control registers via I2c.
00:00 Intro – we’ve covered the “basics”, now it’s time for a library 01:03 Disclaimer – I’m a dwarf standing on the shoulders of giants 01:28 Datasheet – the QMC5883L’s registers are a good place to start 07:37 Architecture – maintaining a copy of the registers in memory 09:39 First version – just handling the configuration and I2C for now 10:26 Header file – class, types, methods and member variables 14:19 CPP file – initializing static variables and implementation 17:56 I2C read – another look into the datasheet and the code 22:59 I2C write – yet another look into the datasheet and more code 25:56 Sketch – just testing reading and writing the configuration 27:47 Result – configuration written and read back from the chip 28:31 Wrap-up – bit anticlimactic, but heavy lifting is done, bye
#arduino #compass #magnetometer #i2c #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordMaking Sense of NMEA 0183 Sentences – Specs & Arduino/MCU/C++ Code (6)Roberts Smorgasbord2022-03-13 | Sixth part, covering the split into .h/.cpp files and principle extensibility … ↓↓↓ Complete description, time index and links below ↓↓↓
In the fifth part we implemented a proprietary sentence (U-Blox UBX config message 41) and an Arduino hardware serial talker. Things are getting crowded now in our single sketch file. So it’s time to split the code into several .h and .cpp files.
Splitting the sketch into several files is not that hard. But I want a future NMEA library also to be extensible. The code contains two obstacles to that: enums und unions. I’ll show how I plan to get rid of them using some example code.
►Intro 00:00 Intro – making it a library, extensible and portable ►Renaming classes 01:10 Renamed classes – I tend to rename stuff during development ►Splitting into header and cpp files 04:00 Code v12 – overview, Arduino sketches with multiple files 05:25 nema0183ardunio.h – Arduino specific declarations 07:55 nmea0183arduino.cpp – Arduino specific implementation 08:20 nmea0183core.h – declarations for portable stuff 08:56 nmea0183core.cpp – implementation of portable stuff 09:11 NMEA_0183_v12.ino – not much left here 10:10 Comparison to v11 – no penalties and more manageable ►Extensibility 11:09 Why extensibility – you might want to extend the library 12:14 Hindrances to extensibility – unions and enums have to go 13:24 Extensibility mock-up 1 – looks good, but doesn’t compile 19:35 Extensibility mock-up 2 – using pointers makes it almost work 23:02 Extensibility mock-up 3 – with new and delete it works 24:41 Extensibility mock-up 4 – memory management by the library 37:23 Extensibility mock-up 5 – getting rid of the type variable ►Wrap-up 40:49 Wrap-up – next, proprietary sentences and talkers, bye
#nmea0183 #iso61162 #arduino #microcontoller #c++ #tutorials #tutorial #how-to #robertssmorgasbordQST QMC5883L 3-Axis Digital Compass and Arduino MCU – The BasicsRoberts Smorgasbord2022-03-06 | A usable library, its axes (little surprise) and calibrating it (necessary) … ↓↓↓ Complete description, time index and links below ↓↓↓
A while ago I featured the QST QMC5883L, a license build Honeywell HMC5883L, in a mailbag (link below): We learned that it somewhat differs from the HMC5883L, but got it up and running with a readily available Arduino library anyway – kinda.
Now it’s time to explore the QMC5883L and that Arduino library a bit further. We have a look at its three axes, which are not orthogonal, discover the need to calibrate it for proper usage, and have a squiz at some alternative libraries.
00:00 Intro – what I’ve already shown and what we’ll do 01:29 QMC5883LCompass library – and how to use it 06:32 Axes – X, Y and Z are not what you might think 10:24 Calibration – an absolute necessity 16:08 Alternative libraries – five of them 22:16 Wrap-up – some “The Details” videos coming up, bye
#arduino #compass #magnetometer #i2c #microcontroller #tutorials #tutorial #how-to #robertssmorgasbordMaking Sense of NMEA 0183 Sentences – Specs & Arduino/MCU/C++ Code (5)Roberts Smorgasbord2022-02-27 | Fifth part, covering encoding proprietary sentences and talkers … ↓↓↓ Complete description, time index and links below ↓↓↓
In the fourth part we’ve added four more parametric sentences (GGA, GSA, RMC and VTG) and fully objectified our code for decoding parametric sentences (link below). Now it’s time to encode a proprietary sentence and send it using a talker.
We start with a recap of proprietary sentences and have a look at one from U-Blox (UBX, 41 – config). After reviewing the architecture for encoding those, we implement the U-Blox one. Finally we write classes for talkers (base, hardware serial).
►Intro 00:00 Intro – encoding proprietary sentence plus talker ►Proprietary sentences 00:49 Proprietary sentences – a short recap of part 1 02:09 U-Blox (UBX) Config (41) – set protocols and baud rate 06:17 Architecture – classes and encode methods 10:28 Code v10 – encodes a U-Blox (UBX) Config (41) sentence 21:50 U-Blox (UBX) Config (41) encoded – in the end just a string ►Talker classes 23:23 Code v11 – talker base and hardware serial class 27:41 Sentence pushed – through the talker to the U-Blox module ►Wrap-up 28:10 Wrap-up – next, proprietary sentences and talkers, bye
#nmea0183 #iso61162 #arduino #microcontoller #c++ #tutorials #tutorial #how-to #robertssmorgasbordChinese U-Blox NEO-M8N GY-GPSV3-NEO Module Review (Feat. U-Blox U-Center)Roberts Smorgasbord2022-02-20 | It works, but it’s not really a U-Blox NEO-M8N (firmware not updatable) … ↓↓↓ Complete description, time index and links below ↓↓↓
This video is a little bit convoluted, because some honorable Chinese manufacturer has thrown a spanner, that is a fake U-Blox NEO-M8N module, in the works. Anyway, it’s still a good intro to the U-Blox U-Center software.
After installing the U-Blox U-Center we connect the U-Blox NEO-M8N module via a USB to serial adapter. We change the baud rate, decode the boot screen and look at some version information. Then it’s time to update the firmware …
00:00 Preface – there will be a huge disappointment 00:32 Intro – a very long winded one this time 02:36 U-Center installation – nothing to it 03:13 Connecting – port and baud rate 04:08 Changing baud rate – no problem 05:50 Boot screen – some dark foreshadowing 10:01 Version – according to the UBX-MON-VER message 11:14 Firmware update – failed because of unsupported flash 16:49 Wrap-up – it’s a Chinese fake, but is mostly works, bye
#gps #gnss #module #chinese #test #review #robertssmorgasbordMaking Sense of NMEA 0183 Sentences – Specs & Arduino/MCU/C++ Code (4)Roberts Smorgasbord2022-02-13 | Fourth part, covering four more sentences and full objectification … ↓↓↓ Complete description, time index and links below ↓↓↓
In the third part we decoded another sentence - GNSS satellites in view (GSV) – with a variable number of fields, partially rewrote our procedural code to be object oriented, and compared the performance of both (link below).
Now we’ll decode the remaining four sentences (GGA, GSA, RMC and VTG) the U-Blox module delivers by default, having beforehand a look at variable length floating point fields. To round things up we’ll make our code fully object oriented.
►Intro 00:00 Intro – four more sentences and further objectification ►Data Fields 3 00:49 Variable length floating point fields ►GGA, GSA, RMC and VTG Sentences 01:33 Global positioning system (GPS) fix data (GGA) 04:55 GNSS DOP and active satellites (GSA) 07:00 Recommended minimum specific GNSS data (RMC) 09:12 Course over ground and ground speed (VTG) 10:27 Code V8 – decodes now GGS, GSA, RMS and VTG too 13:47 GGA, GSA, RMS and VTG decoded – works as expected ►Fully object oriented code 17:35 Status quo analysis – what we have and what’s an object 20:03 Proposed architecture – with a codec class at the top 23:07 Code V9 – fully object oriented 32:45 Comparison – to old, partly procedural code ►Wrap-up 33:47 Wrap-up – next, proprietary sentences and talkers, bye
#nmea0183 #iso61162 #arduino #microcontoller #c++ #tutorials #tutorial #how-to #robertssmorgasbordFTDI FT232RL USB to Serial Module (AZ-Delivery) Detailed ReviewRoberts Smorgasbord2022-02-06 | A usable USB to serial converter with a nice form factor, put not perfect … ↓↓↓ Complete description, time index and links below ↓↓↓
A while ago I featured those AZ-Delivery FT232RL USB to serial converter modules in a mailbag (link below). I was high time to put them through the paces.
The good news: They’re cheap, have a lot of features, and I like their form factor for breadboard use. However, they don’t quite behave like FTDI FT232Rs (EEPROM not writable), and they lack a poly-fuse as well as a recommended ferrite bead.
00:00 Intro – a closer look at that USB to serial module 00:19 Chip – FT232-AZ, an FTDI FT232RL made for AZ-Delivery 00:47 Board – everything there is, and it’s not much 02:45 Pin headers – solder in your own for breadboard usage 03:09 Pinout and specifications – as well as a hint at an EEPROM 07:03 FTDI FT_Prog – can read EEPROM, but cannot write it 10:08 Timing and signal levels – of the USB power management 12:31 USB shield – connected to ground 12:47 Real word test – with an serial U-Blox GPS module 13:40 Summary – the good and the bad 16:24 Wrap-up –nice for breadboard use, bye
#usb #serial #converter #arduino #mcu #microcotroller #test #review #robertssmorgasbordMaking Sense of NMEA 0183 Sentences – Specs & Arduino/MCU/C++ Code (3)Roberts Smorgasbord2022-01-30 | Third part, covering variable number of fields and objectification … ↓↓↓ Complete description, time index and links below ↓↓↓
In the second part we decoded our first two parametric sentences: Text transmissions - TXT and geographic location - GLL (link below). This time we’ll tackle a more complex sentence with a variable number of fields: GNSS satellites in view (GSV).
After that we’ll have a first go at objectifying the code we’ve created so far. By creating a C++ base class with virtual functions and deriving classes from that for each parametric sentence we’ll get rid of all nasty, hard coded case statements.
►Intro 00:00 Intro –a third sentence in details, objectifying, performance ►GNSS satellites in view (GSV) 00:58 GNSS satellites in view (GSV) – variable number of fields 04:41 Code V6 – decodes GNSS satellites in view (GSV) 10:38 GNSS satellites in view decoded – stored in struct with array ►Parametric message fields handler classes 13:26 Code V7 – virtual base class, handler classes and array 23:39 Objectified code – works exactly like procedural code ►Performance – procedural vs object oriented 24:32 Performance measurements – procedural vs object oriented 28:07 Measurement results – object oriented code wins ►Wrap-up 30:06 Wrap-up – next remaining sentences, then we’ll see, bye
#nmea0183 #iso61162 #arduino #microcontoller #c++ #tutorials #tutorial #how-to #robertssmorgasbordMailbag: Teensy 4.0 600MHz ARM MCU, FT232RL USB to Serial (incl. First Tests)Roberts Smorgasbord2022-01-23 | A speedy Arduino replacement and an alternative to the CH340 … ↓↓↓ Complete description, time index and links below ↓↓↓
A mailbag with two items this time, and both will go through some initial tests. We have a lighting fast Teensy 4.0 Arduino compatible MCU. It sports a 600 MHz ARM core and a whole lot of interfaces. There is also a FT232RL USB to serial module.
The Teensy is put through its paces by installing the Teensyduino extension for the Arduino IDE and seeing if it shows life signs on the serial monitor. I plug the FT232RL module into a Windows PC and check its output on the oscilloscope.
00:00 Intro – two items this time 00:28 Teensy 4.0 – 600MHZ ARM Cortex-M7 32-bit MCU 02:38 Specifications – and comparison to Arduino Nano Every 05:22 Teensyduino – Teensy within the Arduino IDE 09:09 Hello World – on a Teensy 11:05 FT232RL Module – breadboard friendly USB to Serial 14:32 Driver – no installation needed on Windows 10 15:25 Signal – on the oscilloscope 16:11 Listings – for Teensy 4.0 and FT232RL module 18:28 Wrap-up – just bye
#arduino #mcu #microcotroller #usb #serial #postbag #firstimpressions #test #review #robertssmorgasbordMaking Sense of NMEA 0183 Sentences – Specs & Arduino/MCU/C++ Code (2)Roberts Smorgasbord2022-01-16 | Second part, covering the parametric TXT and GLL sentences … ↓↓↓ Complete description, time index and links below ↓↓↓
In the first part we identified the different sentence “classes” and decoded their address fields (link below). This time we will actually fully decode two types of parametric sentences: Text Transmissions (TXT) and Geographic Location (GLL).
In between we have a look at several data field types (text, latitude, longitude and time) that are defined by the NMEA 0183, respectively, IEC 61162-1 standard. We also have a squint at null (empty) fields and their recommended usage.
►Intro 00:00 Intro –short recap of sentence classes and address fields ►Parametric sentences 00:59 Parametric sentences – sentences formatter and data fields ►Data Fields 1 01:31 Text fields – variable length text, sometimes including ‘^’ ►Text Transmissions (TXT) 02:20 Text transmission (TXT) –text in one or multiple sentences 04:30 Code V4 – decodes text transmissions (TXT) 13:56 Text transmission decoded – all neatly stored in a struct ►Data Fields 2 15:06 Null fields – to be used if value is not available or unreliable 15:51 Latitude and longitude fields – degrees and minutes 16:42 Time fields – hours, minutes and seconds ►Geographic position (GLL) 17:04 Geographic position (GLL): Latitude, longitude and time 19:44 Code V5 – decodes geographic position (GLL) 31:17 Geographic location decoded - all neatly stored in a struct ►Wrap-up 33:25 Wrap-up – next sentences with variable number of fields, bye
#nmea0183 #iso61162 #arduino #microcontoller #c++ #tutorials #tutorial #how-to #robertssmorgasbordNMEA Standards – An Overview (0183, 0183-HS, 2000, OneNet and IEC 61162)Roberts Smorgasbord2022-01-09 | The National Marine Electronics Association and related IEC standards … ↓↓↓ Complete description, time index and links below ↓↓↓
There’s a whole lot of information about these standards available on the internet. Unfortunately it’s incomplete and sometimes even outright wrong. Even the Wikipedia got some things not right. Why is that so?
First, these standards are copyrighted, and second, NMEA charges $1000 per copy. Fortunately I do have some (legit) copies of these standards. So I’ll try to set the record straight and will give you an overview about these standards in this video.
00:00 Intro – why this video 01:09 Overview – the standards and their IEC equivalents 01:57 Sources – copies of the standards I have 03:27 NMEA 0183 1.xx – single-ended serial, but not RS-232 07:16 NMEA 0183 2.xx to 4.xx – almost differential, so not RS-422 11:54 NMEA 0183-HS 1.xx – faster, differential, still not RS-422 15:13 NMEA 2000 – even faster, standard CAN bus plus 12V 17:40 NMEA OneNet – the fastest, Ethernet, IPv6 19:00 NMEA 0180, 0182 – honorable mentions, best left in the past 19:26 Standards in use – 0183 still, mostly 2000, OneNet is upcoming 20:32 Wrap-up – that’s it, BTW IEC standards are cheaper, bye
#nmea #nmea0183 #nmea0183hs #nmea2000 #nmeaonenet #tutorials #tutorial #how-to #robertssmorgasbordMaking Sense of NMEA 0183 Sentences – Specs & Arduino/MCU/C++ Code (1)Roberts Smorgasbord2022-01-02 | First part, covering sentence structure and sentence “classes” … ↓↓↓ Complete description, time index and links below ↓↓↓
The National Marine Electronics Association standard NMEA 0183, later adopted as ISO 61162-1, describes how electronic marine devices should communicate. This video series covers the software side of things, not the electrical interconnect.
We start with the utilized character set and the basic sentence (message) structure. Then we have a look at the three types of address fields and the four basic sentence “classes”. Of course everything is implemented in C++ on a MCU as we go.
►Intro & Overview 00:00 Intro –my new GPS module talking NMEA 0183 gibberish 01:01 NMEA 0183 & ISO 61162-1 – an brief introduction plus a rant 04:16 Overview – what I want to show you and how I want show it ►Sentence Structure 05:37 Character set – 7-bit ASCII and reserved characters 07:05 Sentence structure – start/end delimiters, 82 characters max 08:05 Approved sentences – address, data fields and checksum 09:04 Code V0 – copies bytes from one serial port to another 10:01 Code V1 – detects start and end of sentences 14:46 Sentences read – each one neatly in a array, some robustness 16:18 Code V2 – encapsulated into an object ►Parametric, Encapsulation, Query and Proprietary Sentences 21:25 Address fields – of the types approved, query and proprietary 27:16 Checksum fields – just a two-digit hexadecimal number 27:38 Parametric sentences – the main body of sentences defined 28:27 Encapsulation sentences – multi-sentence messages 30:54 Query sentences – listener requesting sentence from talker 32:14 Proprietary sentences – not approved, manufacturer specific 32:55 Sentence distinction – not straight forward, but easy enough 33:45 Code V3 – distinguishes sentences, decodes address fields 40:32 Address fields read – all parametric, talkers and formatters ►Wrap-up 42:19 Wrap-up – next time we’ll decode GPS sentences, bye
#nmea0183 #iso61162 #arduino #microcontoller #c++ #tutorials #tutorial #how-to #robertssmorgasbordRS-422 Differential Signaling (ISL8490, AdUM121N) – The Details (4/4)Roberts Smorgasbord2021-12-26 | Forth part, covering galvanic isolation, twisted pair and shielding … ↓↓↓ Complete description, time index and links below ↓↓↓
In part three (link below) we talked amongst other things about the ground aka signal return line, grounding in general, and the associated problems like potential differences and ground loops.
Isolating your RS-422 transmitters/receivers solves a lot of these problems. So we’ll do just that in this video. We also explore why twisted pair cables are the preferred choice for RS-422. Finally we dive a bit into the shielding of those cables.
00:00 Intro – galvanic isolation, twisted pair and shielding 00:35 Galvanic isolation – no more potential differences or ground loops 03:25 AdUM121N digital isolators – confession: they were always there 04:24 Schematics – for isolated transmitter and receiver 07:48 Isolated measurements – with the oscilloscope 11:00 Cheaping out – and isolating only one side 12:22 Twisted pairs – are not about common mode noise 13:28 Cross talk – is reduced by using twisted pairs 16:10 Shielding – reduces noise even more 17:13 Shield connections – a vast topic 22:58 Shielded cables – several types to choose from 24:36 Wrap up – there’s more, but that’s enough, bye