DIY EV Part 2 - How to read the CAN Bus in your car using an Arduino Part 2
HTML-код
- Опубликовано: 4 июл 2020
- Please check out the links below.
They are affiliate links so I will receive a few cents if you make a purchase but you won't pay a penny more.
Thank you for your support.
After lots of research I found software called CANHacker which uses an Arduino and a MCP2515 CAN adapter to display the CAN signals in your car.
Please read below BEFORE asking questions.
Thanks
The CANHacker software is available here.
www.mictronics.de/
Click on "Archive" and scroll down, click on "USB-CAN Bus Interface" and download it.
NOTE! If the link comes up as "Forbidden" try copying and pasting the URL into your browser or Google mictronics.
The sketch for it is here
github.com/autowp/can-usb
Libraries and connection diagrams for it are here
github.com/autowp/arduino-mcp...
github.com/autowp/arduino-can...
After installing the libraries you may have to edit the canhacker.h file to match the clock speed of your MCP2515 adapter. Mine is an 8Mhz adapter and the default is 16Mhz.
If you bought a Nano from eBay you may need to select Nano then select ATmega328P(Old Bootloader) to get the sketch to upload.
If you get nothing on the CANHacker software
1. Double check you are using the correct CANbus speed for your car.
2. Check the baud rate of the Serial port is correct.
3. Check in the settings that "Listen Only" is unticked.
Arduino Uno
Ebay.co.uk ebay.us/pGWsxa
Ebay.com ebay.us/t4UoXS
Amazon.co.uk amzn.to/3xmldbR
Amazon.com amzn.to/3hwY2EY
MCP2515 8Mhz CAN Module
Ebay.co.uk ebay.us/WvDFnR
Ebay.com ebay.us/BIFEXF
Amazon.com amzn.to/3ys5Q1L
Amazon.co.uk amzn.to/3dM9tIa
Bafang BBS01, BBS02, BBSHD Mid Drive Kit
Amazon.co.uk amzn.to/3y6XWdZ
Amazon.com amzn.to/3w51RXl
eBay.com ebay.us/39OXlW
eBay.co.uk ebay.us/ElYb7K
KT Sine Wave Controller/Kit
eBay UK ebay.us/kGcnVC
eBay.com ebay.us/asy5lJ
Amazon UK amzn.to/2SdaoJU
Amazon.com amzn.to/3gWCdQd
Aliexpress s.click.aliexpress.com/e/_AdA6eZ
KT LCD3 Display
Amazon.com amzn.to/3jM6cMP
Amazon.co.uk amzn.to/2Thz98t
eBay.com ebay.us/n5Wu8n
eBay.co.uk ebay.us/rZywcn
Cheap Ebike Controller
ebay.co.uk ebay.us/8dPcJm
Amazon.co.uk amzn.to/3zZMoec
Amazon.com amzn.to/2UrJxKP
ebay.com ebay.us/WXDo9m
Aliexpress s.click.aliexpress.com/e/_At4yWR
Battery building Supplies
Cell Holders 10S ebay.us/POV3ap
Cell Holders 5S ebay.us/SZVatA
Solid Nickel strip 8mm x .15mm ebay.us/2iHNTL
Solid Nickel Strip 10mm x 0.15mm ebay.us/UZMSvA
18650 Cells
If you are looking for 18650 cells to build a battery pack here is where I buy mine. I have always used LiitoKala cells and found them to be good quality.
Note the Name brand cells are copies, they are NOT genuine but do have similar properties to the original and are still excellent batteries.
Panasonic Look alike s.click.aliexpress.com/e/_AD95VL
Samsung Look alike s.click.aliexpress.com/e/_9yZqrx
LG Look alike s.click.aliexpress.com/e/_9gG85X
LiitoKala 3400mAh 20A max s.click.aliexpress.com/e/_9xMngp
LiitoKala 3000mAh 35A max s.click.aliexpress.com/e/_9hlt97
LiitoKala 3500mAh 35A max s.click.aliexpress.com/e/_APDKu9
Also note LiitoKala have several shops on Aliexpress with slightly different names but the products are all the same.
Smart BMS (Bluetooth)
Aliexpress s.click.aliexpress.com/e/_9zeEQl
Amazon.co.uk amzn.to/3h799pu
Amazon.com amzn.to/3dvLXyW
eBay.com ebay.us/YOJtbD
eBay.co.uk ebay.us/PQVsBa
Vortecks VBMS App
play.google.com/store/apps/de...
Uni-T Clamp meter
Amazon.co.uk amzn.to/3h7ttWy
eBay.co.uk ebay.us/dt6YTz
Amazon.com amzn.to/3xPYdlC
Ebay.com ebay.us/BhPrqF
Aliexpress s.click.aliexpress.com/e/_9xIk0b
BBS01, BBS02, BBSHD Reprogramming cable
Aliexpress s.click.aliexpress.com/e/_9QIlEd
eBay.com ebay.us/gTDcTX
eBay.co.uk ebay.us/MJLSn2
Amazon.com amzn.to/3d166g2
Amazon.co.uk amzn.to/3vKcqik Авто/Мото
Sorry about the glitch at 8:40. Please be patient and we're back in at 8:52. 😉
Think it's second time I'm watching that video. Still finding things to learn from it. Thanks
I bought the kit to do this a while ago but never bothered with it.
Thanks mate, now you've reminded me, that's another project I've got to start soon 😂
No probs mate always glad to help. 😜
Extremely helpful! Got mine up and running no problem following along to your video :-) Look forward to checking out the other vids!
Thanks for the kind words. 😉
Thank you for your effort and research .You're a star.Helped alot.
This was a massive help, thanks for posting, got me up and running immediately!
Brilliant, thanks for letting me know.
BTW I found using an UNO (connected via the MCP2515 rather than a shield) was more stable than a Nano but that may just be the quality of the Nano I was using.
@@alibro7512 I used an UNO (elegoo clone) with the generic MCP2515 breakout and had no problems, I'll be changing out to an ESP32 soon I'll let you know how it goes!
@@paulstatham1525 Yes, please let me know.
Just wanted to add my voice to Paul’s. Watched that German fella’s video a few days ago and was banging my head against a brick wall as I hadn’t changed the MCP2515 frequency in CanHacker.h (my set up is identical to yours).
Putting this up in simple steps has made it a lot easier and quicker to figure out what step I missed. Thank you again and I’ll be sure to pass this info on 👍👍
P.s. I was thrown a little as there is also another gotcha in there, you also need an edited version of the MCP2515.h The link you used in the video is to the German chap’s ‘forked’ github repository where he had already updated that file as well to 8mhz, but the main link on his video still has the default 16mhz.
@@bobbyboblington Thanks for the kind words and extra info. I don't care to admit how many days I struggled with this.
Hi Ali Bro, Thanks alot for sharing your experience, I am about to build a Can sniffer to identify the packets coming from the steering wheel buttons. I ve already bought seed canbus shield but had no idea how to get it working, now you have encouraged me! Thanks and good luck with your EV project!
Thanks for your kind words.
I found it easier to get meaningful data using a MCP2515 adapter and CANHacker mentioned in Part 4 of this series than with the Seedstudio canbus shield but you can still use the shield you have. If a numpty like me can do it then anyone can. 😉
genius project. thank sir
Hi mate. Thanks for the video. Did you have any problem of CANHACKER freezing after 1sec? When I connect here, I get a chunk of messages, but freezes right after :(.
Hi, glad you enjoyed the video.
I had issues when I tried sending data as it was conflicting with existing data but not when reading it. Maybe you are using the wrong baud rates or maybe you need to change the termination. Do you have a 120ohm resistor across the CAN connections?
Double check your connections and baud rates and if all seems OK try another Arduino and/or CAN adapter.
Let me know how it goes.
i would like to check CanBus sensors connected to factory floor PLCs for general testing... thanks. great video...:)
👍👍
out of curiosity did you have trouble getting the canhacker to work with the bigger module (uno shield), I usually use arduino and excel to find the correct ids but it takes long as hell so decided to try canhacker with the uno shield with no luck. I have a few of the mini mcp2515 16mhz modules lying around so will try them anyway but was just wondering if you had trouble?, I have been looking for a decent alternative for a while rather than the serial monitor and this could be it.
I tried it once with a shield and it didn't work. I didn't spend much time on it but it could have been simple connection issues. It may be possible to make them work by connecting using wires instead of plugging it onto the Uno. It was so easy with the modules I didn't go any further.
Hi Ryan. Have you tried CANHacker with the MCP2515 modules? Did they work?
@@dariodraiman6339 Hi yes they worked but for some reason the shield for the uno did not work well, I ended up using a arduino nano with a separate mcp2515 module:), Only downside what having to use jumper wires.
Thanks for the video was a great help. Quick question though, the can system I am looking to read is 33.33kbps in the CanHacker software there is only 50 and 20kbps, is there a way to get 33.33kbps or can I get away with using 50kpbs since its refresh rate is faster?
I'm sorry but I'm not sure as it worked for me at the time and I haven't looked at it since.
In this one I was connected to CAN wires in the boot/trunk. I have connected to the obd2 port but it is normally locked and difficult to read unless you're an expert.
Which I'm not.
Thank you, I have various cables and CAN Bus adapters, so far I haven't managed to get anything from my car, its an Audi A5 2.0 TDI. I want to sniff things like indicators, brakes, lights and reverse. I have bought several cables too, but I'm not sure if I have the baud rate correct either. I'm using a HobbyTronics CAN-BUS v2.0 module.
@@SimonPlatten If you check out the other videos I made in this series hopefully you'll get a few tips.
@@alibro7512 Thank you, will do.
Even I remove the CAN wires there is some data I am getting, Is there any other correct way to get data, The data that I am getting from the can bus analyzer of microchip to arduino is completely differenet. Can u explain. Thankyou for ur help in advance. That too as per the manufacturer the data should update for every 30 sec but I am getting continously. I think the data is wrong
Hi, great video by the way. Most of it seems to be working (The sketch successfully uploaded onto the Uno/CANHacker is able to detect the Uno). However, I do not get CAN data in the receiver window.
When you switched from the Nano to the Uno, did you have to change anything in the sketch or the libraries?
By the look of it the wiring is the same as yours, and the same way others have wired the MCP2515 to the Uno.
Thanks.
To be honest I did this over a year ago so I don't remember the detail but I think i connected it the same way.
Where are you connecting to the CAN? If via the OBD2 port it probably won't work as you need to send a signal to the car to allow access to CAN this way.
Are you using the correct speed for your make/model of car?
Have you watched the other videos I made about this? I think I mentioned this problem in one of them.
@@alibro7512 Thanks for the reply :-). After much debugging, I swapped the MCP2515 out for another, it now works perfectly via the OBD port. did actually use a different library).
I haven't tried it with your library after swapping the MCP2515.....
But for anyone experiencing similar issues (CAN Hacker connects but no CAN). Try swapping out your MCP2515 for another. It worked for me!
@@5er312 great news, thanks for getting back.
Which Library did you use? I can't remember exactly what I did but I know I had difficulty connecting over the obd2 port.
Hi there . I am writing code for M5Stack (esp32). Can you show a video of the data coming out of the Arduino on the serial monitor. I want to frame the data coming out of the M5stack the same so it works with the CAN hack software.
Where / how did you connect the hardware to your car? Did you connect directly to the can bus or using ODB-II under the dash?
My question, also....apparently, nobody knows....
Hi, Nice Video. why not jus use OBD2 that is may be chipper then this setup. and can do the same thing.Or is there any difference maybe i am not aware of it? thanks
The OBD2 port CAN connections are locked so you need to send a command to the car to communicate with them. TBH I never spent the time to figure out how to do this as I didn't really need to.
Hello m8, will the can hacker work with the arduino shield instead of that mini MCP2515 can module? I'm not sure about clock speed but, does it matter if in my case my board is 16mhz instead of 8mhz? Thx!!
It should work but you'd need to change a few things. Sorry it was years ago I did this so I can't remember much about it.
Hello and thanks for all. Does CaBus hacker work with the UNO shield shown in first part (the black one from seedstudio) . If yes does it need any pin adjustment of other modification on the arduino code to send?
It's been a while since I made this but I don't think so. At least I don't think I was able to make it work but if you manage it please share.
@@alibro7512 thanks alit! You help me in my work on peugeot 307
hey man i know this is a old old video, im doing EV conversion also and trying to get onto the can bus, i followed all your instructions but it looks like the CANhacker software is no longer available or something, have you used anything else or have any other guidance?
Try the link again and if it comes up forbidden just refresh the page. Click on archive, scroll down, select USB CAN Bus and Canhacker.
It worked for me a couple of minutes ago.
@@alibro7512 It worked for me today. Link is ok
In which vehicle model did you make this application?
A 2013 Merc and a 2004 Freelander
19:18 - on the UNO shield, you've got a 16MHz crystal...
LOL, well spotted. This was a year and a half ago so I don't remember if I got it working afterwards but this may well have been the reason why it didn't this time.
I've been trying to get a seeed can module mcp2515 gps to connect to new Toyota Corolla hybrid...
I've tried everything and I keep getting repeating msgs.
Tried all bauds, MHz, etc.
My question is... What PINs do I need to set in Arduino uno software?
I've tried 2/10 and 2/9...
Anyone have any tips?
It was a long time ago that I did this and I struggled with the Seed Studio shield too.
How are you connecting to the CAN Bus?
Good morning friend, how are you? I believe I connected Can L and Can H inverted, and I realized that after that my arduino no longer connected to the network, only with the canhacker, can you tell me if this harmed my board?
Hi
It shouldn't have damaged anything. The voltage is small but I guess it is possible.
Hello Ali, the reason you aren't having any luck on the CAN-BUS shield is the IC pinouts to the PCB shield pinouts are not the same you'll have to hardware reconfigure the shields pinouts I have the same issue with a CAN-BUS shield from keyestudio...... the CS, INT, MISO and SCK pins are wired wrong on the shield for the Uno's programming, Also, because the INT pin in my case is going to D8 on the uno nothing wants to work because there is no interrupt signal, the only hardware INT pins on the Uno and Nano are pins 2 and 3....... I found this out after a few hours of fiddling, I finally gave up threw everything down and said you idiot you can't even get that running........ Until I took a meter and started measuring the IC pins to the shield pins, then everything started to make sense............. Thanks for the video.....
Thanks Charles, When I return to this I'll check out what you've found, at the minute I'm kinda preoccupied with getting the motor coupled to the gearbox, then mounted in the car.
@@alibro7512 Yip you are lucky man, I would love a project like that but that is just way too expensive out here, I've changed my pins around, but I'm still not getting any messages. will keep you posted. And good luck with the mating process.
I am trying to do the same with uno but CANHacker is not detecting my arduino port. I am trying on windows10. The video was a massive help.
If you still have the Arduino IDE running it will hold onto the port preventing anything else from connecting to it.
@@alibro7512 Do i need to change anything in the sketch? Is there any changes in connection when using UNO or is it same as in Nano?
@@aquibrahman3545 To be honest I don't remember but I don't think so. Apart from the bits I mentioned in the video.
@@alibro7512 Got it working. Thanks a lot for the video. The issue was I had Virtual COM ports already created in my system and CANhacker was only detecting the Virtual ports. I deleted those ports and it worked like a breeze.
Hey,
when i want to click on your link for CANHacker Software, it says i have no permission.
Can you help me here?
Many thanks!
Try refreshing your browser or copying the URL from the link to your browser or just google the website.
I’ve got Andruino Mega and CAN-SHIELD v2 and I can’t get it to receive CAN, but it works with example sketches.
Any tips? - I set it to pin 9 and change all to correct pins within the sketch?
It's been a while since I played with this but is the does the frequency of your shield match the sketch? Is it 8Mhz or 16Mhz?
Are you using the correct frequency for your car? In my case 500Mhz
Did you read the tips in the video description?
Thanks for a quick reply I got it to work - However I think the CAN is locked via OBD and I’m only getting one code for Right Beam Failure lol.
I saw you have a similar problem hence you wired in somewhere else?
@@pauliuslukos6309 Yeah, with the right sketch you can read most of the PIDs from the ODB2 port but I never figured out how it is locked. I just connected directly into the loom.
@@pauliuslukos6309 What did you do to make it work? I have a UNO-Shield combination and I just can't get it to work
Is it possible to transfer data through Bluetooth module to Torque pro app on a android tablet?
Not that I know of but if you find a way please share.
You've probably figured this out by now, but message IDs don't have anything to do with which device originated the message, just the priority of the message (technically). In fact there is no device addressing anywhere in the protocol, but dev8ce identifying information might be embedded in the data, that's a big might. CAN works nothing like ethernet or other bus topologies that use individual device addresses. This obviously makes hacking the bus much more complicated. Your bus may only contain data at 125kbps, I certainly don't know though. Your hardware may be sufficient for your particular vehicle, but CAN FD is gaining popularity. You may find CAN hacking to be easier if you get yourself a raspberry pi, a CAN FD shield (about $30) based on a later chip, and learn to use wireshark. Some vehicles and manufacturers have been at least partially cracked in terms of message IDs and decoding the bitfields of the data blocks. I don't know if your situation might be aided by that, but I'm sure your work would be appreciated by them. CAN is truly weird when compared to other networks.
Since your CAN bus is at 125kbps (others will be at 1mbps, FD at up to 8mbps), and your serial link is at 115kbps, you're right on the edge of potential data loss from your capture board. Factoring in the speed of the Arduino software, you might be dropping packets during high activity on the CAN bus. That's why I was suggesting the pi and the shield based on the 1517 chip that supports CAN FD. It should have no trouble keeping up and allowing the use of a fully graphical interface running Wireshark. I've not personally used Wireshark on anything but ethernet yet, but I'm fairly confident that the CAN bus capturing, decoding, filtering and analisys power will likely exceed that of the canhacker software.
Thanks Tony
As you will have realised I'm very much a beginner at CAN.
I really only got into it when I realised that I had no choice if I wanted to electrify a modern car.
The jury is still out over that happening but I'm having fun which is the important thing.
@@alibro7512 I'm pretty new at this CAN stuff too, but with computers, microcontrollers and hacking stuff, I'm an old hat. I modified my previous post and added a lengthy ending you might want to review.
Edit. I'm learning from you as well, and I appreciate your taking the effort to make these videos. They save me time bringing myself up to speed. I'm getting old, so I need to save all the time I can. ;). I just like to try and give back wherever I can.
@@tonyfremont lol its too late for me to be getting old, I'm already there!
At the moment I'm trying to get my head around calibrating a hall effect throttle with the Gen1 Nissan Leaf VCU I bought from Damien Maguire. It works by sending the required CAN messages to the inverter to make it think its still in the Leaf.
It's a steep learning curve. 😲
@@alibro7512 it's like eating any elephant, just one bite at a time. ;) I've got a lot of projects I want to do, but probably not enough years left to get them done. I've got an old pickup I'm working on and big plans to add a lot of updated technology to it, such as a CAN bus, just for the fun of it. Small engine ignition control, followed by fuel injection. Home automation and lighting, model RC stuff, a motorcycle to rebuild and update to real ignition timing control and possible fuel injection. On and on it goes. Arduino will go a long way these days, the ide is pretty easy and the libraries generally awesome, especially with the ability to move up to much higher performance processors fairly easily. Raspberry pi is another amazing platform for high end processing speed in dedicated devices at a relatively low cost and amazing reliability. I ordered a 1517 shield yesterday from mouser, it should be here today, if they shipped it yesterday. I have raspberry pis galore, with shields, running my LoraWAN gateway, Christmas lights and "unshielded" doing home theater front end display and sound processing for my MythTV backend. One is a mail server, another was to be a retrogaming device, but not enough time to get it done. I build escape room props using Arduinos and raspberries. I go from one obsession to another, never getting any of it truly completed. ;)
Thank you for the info !
I did this on my 2021 RAV4, but I only get 2x lines of info back. Not multiple messages like you should. I tried all speeds. I get no info at all, but 2x messages at 500kbps. Any ideas?
Where did you connect to the CAN bus? Modern cars have more than one
@alibro7512 sorry for not mentioning that. In the OBD2 port on CANH and CANL.
If I dont have that connected, I get no data at all. So I am definitely getting something there.
Side note: I am using hybrid assistant on my Android radio via a bluetooth MX+ adaptor. I can see speed, rpm, battery charge, discharge, temperature. Would have liked to see all that on Ardiuno inorder to make a LCD display with info. So all that is on the OBDII.
BUT, for now, I want to determine headlights high beam or low beam.
@@alibro7512 I really appreciate your time to reply.
I have read tons of comments now and on your video also. I see you (or someone else) me tioned that the OBDII can be locked. I will try to tap into the wires next to the module I want to decode, bypassing the OBDII port. I hope that will give me more info! Thanx again. I hope I can contact you for info again?
@@benriefourie115 I haven't looked at this for a few years but I remember one of the example sketches for one of the several CAN Shields I had was able to read PID's from the ODBII port but I couldn't figure out how and don't remember which it was. I found it easier to connect directly into the CAN at the ECU.
Pls help. I try to connect the CanHacker but the notification pops up and say CAN interface not responding.
It sounds like the can device is not connected correctly to the Arduino. Check all your connections and settings.
Hai Ali Bro, Thanks for your sharing.
Unfortunately I still confuse on this lines:
const int SS_RX_PIN = 3;
const int SS_TX_PIN = 4;
SoftwareSerial softwareSerial(SS_RX_PIN, SS_TX_PIN);
Based on the diagram, I don't see any device connect to pin 3 and 4.
Have I missed anything? Thanks
Hi Ali
I'm no expert and I don't have the code to hand right now but Tx and Rx are Transmit and Receive so those lines will relate to either the CAN communication to the car or more likely the communication between the Arduino and the MCP1515.
If there is nothing on those pins and the code still works then maybe it is unnecessary.
Thank , I did same UNO cannot read /show data on program screen , Let me order NANO and come back.
It should work with an Uno. Check all your connections are correct, the frequency of the 2515 is correct and try again
@@alibro7512 It also work with UNO but the data can read only 1st Row then struck 😅
@@alibro7512 Now 100% Work !!!! Thank !!!!
@@akkaradechsrithongchai7766 Glad to hear it helped.
Hello, although you liked my post, you didn't reply, I would still like to know how to connect to my Audi A5 and browse the CAN bus, what do I need as I've already purchased various cables and CAN bus interfaces, so far nothing.
Have you tried connecting to the CAN bus directly or through the ODB2 Port?
@@alibro7512 both, initially via the obd2 port, nothing, then I trying using a CAN crocodile on the CAN wires in the boot… still no luck
@@SimonPlatten Have you watched all four videos I made on this and read the notes and all the comments? Also Aaron's video?
Are you using Canhacker?
What speed have you set for CAN?
It's been over a year since I looked at this so I'm a bit rusty on the details but I'll help if I can.
@@alibro7512 I can't say I can remember if I have, I will take a look at these. I've tried various speeds, but nothing on any. Its been quite a while now so I will have to get back up to speed.
@@alibro7512 I've now got my Raspberry Pi 0 W connected to the Tesla Model 3 on the CAN Port in the centre console between the front seats, I have shared the USB on the Pi 0 W with my iMAC and now using SavvyCAN I can sniff the data which is at 500000 baud.
what about lin bus info?
This was about CAN Bus as that is what I need to control for my EV project but if find I need to control the LIN bus I'll post all about it.
@@alibro7512 thanks.
How much master
Hi can you help me with hack CAN in one car component?
What are you trying to hack?
@@alibro7512 adblue tank, can you tell me your emial or something?
@@HateMyTeam I don't know anything about CAN for adblue tanks, whether it is part of the body CAN or engine management CAN. If the adblue system is using CAN then you will need to connect into the CAN network somewhere near it to be sure, monitor the CAN when it is full of Adblue and look for changes when it needs more added.
@@alibro7512 Thanks, but can you help me how to do this canhack or how i can read CAN in this tank?
@@HateMyTeamI made 3 or 4 videos about CAN hacking, have you watched them all?
What have you tried so far and what problems are you having or what is not working?
ESP32 can use CAN HACKER V2 ?
I don't know but would be interested if it did.
I have followed your clip , I am able to use can hacker software now.
I use Arduino nano with Mcp2515.
I would like to know if I can find the can id related to the transmission.
I will take it to study in university research.
Sir I am trying this same process but speedometer was not oparate with aurdino any changes sir 0ls please help and give me your valuable reply
Iam waiting for your valuable reply sir ❤❤❤
You need to know the correct CAN messages to send to your make and model of car.
Wer I can mention car model in aurdino
Can communication was connected but not oparate
How to know the correct can message ?
@@himanshispeedometerwork8185search on Internet
I hope this message finds you well. My name is Sanket Ghadage, and I am currently facing challenges in reading the JK BMS CAN data. Could you please provide assistance or guidance on troubleshooting steps to resolve this issue? Your technical support would be greatly appreciated.
I'm not an expert in CAN and don't know anything about JK BMS so will probably not be much help but will try. How are you connecting to the BMS?
this is not something an average person CAN do
Being distinctly average in most things I beg to differ. 😜
If I CAN do it then almost anyone CAN.