ElectricMotorcycleForum.com

  • May 18, 2024, 08:30:35 AM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

Electric Motorcycle Forum is live!

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - CrashCash

Pages: [1] 2 3 ... 22
1
Zero Motorcycles Forum | 2013+ / Re: Need Andersen extension cable
« on: December 18, 2018, 06:29:53 AM »
I looked at the crappy $30 10-ton units w/o handles and went the next step up for a 16-ton one with extra dies and decent handles with a grip on them.

I wish I could just keep it in the top box, as it's a nice self-contained unit. It really has a serious effect on the handling of the bike though, and makes me worry about emergency braking[1], in addition to the worries about the rack structural limits.

I'm hoping I can get fancy and run the cables through small grommets in the bags before terminating them. I'd like to just be able to pull up, flip the bags open for cooling, and plug the J-1772 in. We'll see. At worst I'll be eliminating the horrid tight-radius bends in the cables to make everything barely reach.

[1] I live in Florida, which means emergency braking at least once a day.

Edit: and the BMW shop has a Energica Eva on the floor, just begging to go home with me. My SR isn't paid off until this coming Halloween though.

2
Zero Motorcycles Forum | 2013+ / Re: Need Andersen extension cable
« on: December 17, 2018, 06:48:25 AM »
2 Elton 2500 units weigh 30lbs together

Actually, more like 44lbs all-up, and it affects the handling of the bike. :(

I'd really like to put them in sidebags, but there's no way all the cabling would stretch.

I'm considering forking out for a good crimping tool and doing it myself. It would give me the ability to make long enough cables to use saddlebags.

I mounted the bare Elcons on the side racks, but I couldn't tame the cabling situation.

The official tool on Mouser is $1,300 which is a bit steep. Hydraulic battery cable crimpers are a more reasonable $40 on Amazon.

3
Zero Motorcycles Forum | 2013+ / Need Andersen extension cable
« on: December 17, 2018, 01:00:29 AM »
I have a couple Elcon 2500s that I put in an old Givi E45 topbox.

Unfortunately, the Y-connector is now about 6" too short to reach the socket behind the motor.

Is there anywhere I can get an extension with the necessary Andersen plugs and CANBUS wiring?

I considered just using another Y-connector but then I'd have a live empty plug waving around when I'm charging...

Doe anyone sell anything like this?

Thanks...

4
I've been looking for a small tankbag for a couple years, and I picked up a Cortech "Super 2.0" 10-liter strap-on tankbag. It fits really well and holds the gewgaws and doodads I need. It's the perfect size to fit and not overwhelm the small tank area, and restores the storage I lost when I installed the power tank.

It keeps a loaf of bread safe and un-smooshed when I get groceries.

http://www.cortech.net/inc/sdetail/super_2_0_10l_tank_bag/181/572

I'd post pictures, but it's STORMING again, and pics in my garage are usually potato-vision. I'm sure people have seen tank bags on bikes before anyways.

5
I'll wait until the next regular service to have it done because there is no indication of any problem or improvement right now.
Actually, there's a couple improvements on my '15 SR.  I've ridden it on some long trips every day since (vacation) and the range & percent-charged indications seem to be far more accurate. Before, it was optimistic, overestimating the range by about 20% (maybe 30%) then really dropping quickly to zero once it was below about 28%  I even had it say I had 144 miles of range once after charging.

Also, the percent-charged would "stick" at 100% for a while. Now I go a mile or so and it actually does drop to 99%-98%

Today, it said 77 miles range, and I had 60 miles to go to get home. I decided to trust it, and when I got home, it said I had 14 miles left. That's much better. Before it would have dropped to zero about 5 miles from home and I would have had to limp in. Done that, and it sucks.

The day before I'd actually chickened out and come home early, only to find I did have enough range left, which is why I decided to wing it and trust it.

I kind of depend on the range because it's my main transportation and I end up running a lot of little errands on it. So it's nice to see it a little more sane.

6
I've made a suggestion to folks at the factory that I would like to see some guidance for dealerships to show a printout or something describing the old value and the new value as proof that the work was performed, if the component is still drifting or if it is settled. Moto dealerships tend to view software as dark magic sorcery and might not perform it correctly or at all, yet tell the customer the work was performed and bill the factory for the warranty hours. You can verify at least the version of your MBB firmware by using the app to pull MBB logs and then view the version on the log parser. I did this all from my phone at the dealership before and after the firmware upgrade process to verify that the work was done. Unfortunately there's no way (yet?) to verify the commissioning offset value.
Man, I wish I could upvote this or something.

I've had LOTS of times (and so have my friends) even with ICE bikes when the dealership didn't do something they said they did (and charged for) or did something wrong.

I'm talking about things as simple as putting a tire on the wrong way. How can you match up two directional arrows and get that wrong?

Or snapping tabs off an $800 fairing piece and going "it wuz that way when it came in!"

Or dripping brake fluid on things.

Or putting in brake pads, then not getting the rotor between the pads.

Or just simply not tightening the axle, and you come home and it's only finger-tight.

Or putting on a tire and not balancing it.

Or not wanting to install the manufacturer recall kit.

Or not wanting to install your power tank and going "oh you just bolt the battery on and hook up a couple cables"

I don't trust them as far as I could throw an Abrams tank, which is why I do my own work, and work on friend's bikes.

There's a reason I posted about being in complete shock that a dealer did my firmware upgrade with no hassles.

7
Well, I took my 2015 SR in for the firmware upgrade, and I am absolutely in SHOCK.

I had a pleasant dealership repair experience, for about the third time in 30 years.

I expected all sorts of hassle and grief and pain, so I was dreading it. The dealership has changed hands about 4 times in the past 8 years, and several people told me "don't take your bike there, they'll mess it up!" but obviously I didn't have much choice.

I got there about 9:30am and they didn't give me any static at all. We filled out the service order, I signed it, the other tech got my bike from the parking lot in the mean time, and I went to sit in the showroom. Half an hour, the tech came and told me I was ready to go home. That's it!

Nobody made teeth sucking noises or heavy sighs, or "oh that doesn't REALLY need to be done"[1] or "we need to set up a time with a Zero tech" or "that will be expensive"[1][2] or "we won't work on it unless you bring it in on a trailer, and our trailer fee is $500"[2] or other crap.

I had brought my official letter in case they tried to charge a fee or told me it wasn't needed or anything.

I was actually expecting to make an appointment for the service. I didn't expect them to be able to do it then and there.

It's very strange to have a Zero ride silently up, especially when it's your bike. It really is completely silent... no whine, tire noise or anything.

It's kind of a strange dealership. They sell every off-brand of bike, including Suzuki, Polaris, Victory, Royal Enfield, RZR, Zero, Indian, and Ural. However they don't stock ANY sort of gear or accessories. No helmets, gloves, jackets, rain suits, bike covers, saddlebags, backrests, exhausts, tank bags, Clymers, magazines, tools, oil, etc. No wall of accessories, farkles, toys, knickknacks, etc behind the parts counter. They have the branded Indian jacket/helmet locked in a frame on the wall. Ditto for the branded Zero jacket.

This is Sky Powersports in Longwood, FL, a little north of Orlando.

I've noticed a lot of little differences. The range reading makes a lot more sense now and isn't all over the place. The battery percentage doesn't stay at 100% for a long time. The bike just clicks off when you unplug it, no minute worth of drama and clicks and flashing lights.

[1] My local Yamaha dealer said that when my FJR had an ECU recall. I had to go to another Yamaha dealer to get it done. Took the other dealer about 5 minutes to remove the old ECU and plug in a new one, since I had left that part of the fairing off. No charge.

[2] My local Yamaha dealer said that when my FJR had an ignition switch recall, which did leave me stranded a week later - fortunately only two blocks from home. I had to order the ignition switch recall kit and install it MYSELF. Oh yeah, and this is the Yamaha dealer where I bought my Zero, only to have them then insist I could install my Power Tank myself (which screwed up my bike) then stop being a Zero dealer (but I think Zero told them they weren't a Zero dealer any more)

8
Yeesh, it sounds like you're kind of out in the cold. I was only able to identify the 0x440 bytes because they matched the graph I made from the video of the range display.

If it doesn't have the display, odds are the firmware doesn't bother to compute it, since it doesn't need it.

9
The diginow dongle powers itself from the OBD-II, so clearly there's power on the port.  But not referenced to the same ground, you are saying?

There is, but not on a regular pin. A common OBD2-Bluetooth connector like CrashCash is using is expecting 12V on pin 16 for power, Zero uses one of the vendor specific pins for 3.3V. I guess DigiNow is using this one.
Thanks... I wondered that myself!

10
Could that pin mod be done as an ODB-II extension cable and external power supply?

Is there some reason you wouldn't want to run off the SAE 12VDC plug for power?
Yes, the SAE plug is not on the same circuit as the data signal, which is the same reason you can't use an external power supply. They have to reference the same ground. I was not happy about having to tap into things, but I didn't see any other choice. I took a look at the SAE plug myself with a DMM.

Edit: I was also not happy about having to relocate the plug, but it's impossible to do anything with it in the old position. On the good side, the dongle ends up less exposed to the elements.

11
I've linked this from the wiki diagnostics section: http://zeromanual.com/index.php/Unofficial_Service_Manual#Diagnostics
Cool, thanks!

Awesome.  Did you see can-utils? 
Actually, it turns out I'm using a variant of can-utils that seems a bit more updated.

I've now managed to add power to the OBD-II port and get that working. I had to move the port from where it was just about inaccessible. I'm not an arthroscopic surgeon and my hands are the size of ham hocks.

I've also written my first cut at the Android app. I've ridden around and it's strange to see it update correctly. (that's why I like embedded stuff, when it finally works, it's a weird feeling)

It's mostly the range circles (full range and half range) plus you can set home/destination markers to help you keep track of things.

The link straight to the GitHub repo is https://github.com/CrashCash/BatteryRange and it has screenshots.

I now have a set of info pages at https://crashcash.github.io/ that discusses how I relocated the port and added power to pin #16. There's some other general-interest bike stuff there too.

There's a "bike weekend" in Leesburg (http://leesburgbikefest.com/) so I'll use that as a test run.

12
One of these days, I need to write up my automatic garage door. I have a Bluetooth button on my helmet, and I press it to start a phone app that monitors the GPS and tells a Raspberry Pi to open the door when I get within 70 meters, and closes it behind me

That's awesome! I was just talking to some forum members the other day and I was saying I want to do exactly this (minus the need to hit the button on your helmet) so that I can Batman into my garage like it's a bat cave...LOL

We were spit ballin on how to do it and there was some debate on whether you might end up in a Benny Hill episode with the garage door getting confused going up and down. I figured using GPS to open and light sensor to close would solve the problem.  Can't wait to see some details of your setup. [emoji1]

Sent from my Nexus 6P using Tapatalk

OK, so I created a (crappy) webpage to explain how it works. I also created GitHub repositories for the app source, the server source, and the SysV init script to start the server. They're linked in the page.

https://crashcash.github.io/garage_door.html

Oh and I have a Nexus 6P too... I love it.

FYI, I discovered that Zero doesn't supply power to the OBD-II connector, so I ordered cables from Amazon to deal with this. I'll probably run an extension up into the space under the seat and use a vampire tap on the tail light.

Unfortunately I can't really look at things since the FJR is already on the lift getting a new 2016 clutch installed, for which I'm waiting for a part. Damn steam engines... always needing work...

13
Zero Motorcycles Forum | 2013+ / Re: Mirror Extenders
« on: April 15, 2017, 02:44:01 AM »
For my '15 SR, I got the stock Zero 2014 mirrors. Instead of the normal style with a stalk that goes up, these have a stalk that goes horizontally.

This places the mirrors a hands-width above the tips of the handlebars. No more "yup, shoulders still there!" problem for me.

14
Thanks for the nice words, everyone. I'm kind of surprised myself I was able to dig this out. I was honestly expecting to have to give up.

Maybe you could use a more realistic map of range like this one:

https://www.freemaptools.com/how-far-can-i-travel.htm
Dang! That's a nice site.  The site I normally use was http://obeattie.github.io/gmaps-radius/ which is pretty primitive.

My app just uses the raw Google Map, and I don't even ask for POIs. It's not much so far.

If you spy on the bluetooth HCI serial messages of the official Zero Motorcycles app
Actually, I tried that a year or so ago. I recognized my bike's VIN & model going over, but I never made any further progress. On my copy of the app, I don't see a range display, so I kind of assumed it's not sent by the bike.

On going to Arduino - I've had kind of a breakthrough there.

I was searching F-Droid (open source Android app repository) for Bluetooth examples, and they had apps to communicate with ELM327-based OBD-II Bluetooth dongles. Wait... what are those?!?!

I discovered that these dongles are barely larger than the cap on the OBD-II plug, they live off the power from the plug, the ELM-327 commands are documented, and they can do CANBUS. Plus they're cheap. The more expensive ones even power down when not in use, to save battery. They sit there and transmit the CANBUS messages you tell it you're interested in.

That's PERFECT. All I'd need is one of these and my app. That's about as turn-key simple as it could get. So I ordered a couple from Amazon and I'm waiting for delivery. I got a "ScanTool OBDLink LX Bluetooth" (good) & a "Kitbest OBD2 Bluetooth Scanner" (cheap)

And yes, I'll throw the app & source code up on GitHub & F-Droid.

One of these days, I need to write up my automatic garage door. I have a Bluetooth button on my helmet, and I press it to start a phone app that monitors the GPS and tells a Raspberry Pi to open the door when I get within 70 meters, and closes it behind me.

Wow, I don't trust my 2013 S 12.5 to make it from Melbourne airport to Orlando airport.  61 miles at highway speed where 70mph is slow...

Once I get an upgraded charger I'll do it with a pit stop in St. Cloud.

What battery/charger setup do you have?
I have my 2015 SR with a power tank and 2 Elcon 2500s from Hollywood Electric, but I don't seem to need them to go to Titusville and back. I can ride over to Space View Park, watch a launch, and ride back w/o charging. I can also go up to Sanford and back without charging. Those are pretty much the limits for me. I'm on the east side of Orlando, directly south of UCF in "Waterford Lakes"

However, yes, I keep it religiously to 65-70. which is not too bad going down 50. Going down I-95 or I-4 is not so fun, but I just make certain to stay in the right lane.

Since I started watching range in my videos, it's AMAZING how going over 65 eats battery. Holy cow. I really wish I had a Vetter dustbin style fairing.

When I go to Daytona, there's a Tanger Outlet mall that has a VERY nice charging station setup, so I go eat and shop for an hour or so.

It's really hard to get to Tampa. The only stations on I-4 are in Lakeland, and by that time, I'm pretty much down to my last couple Duracells worth of charge.

However, I did stop at a Lakeland Mercedes dealership where the salesman knew what a Zero, a Harley Livewire, a MotoCzysz E1pc, and a Brammo was. That was nice.

15
Greetings. This is kind of long...

I went to Daytona during Bike Week on my 2015 SR.
I found out that the bike would make it from Orlando to Daytona without charging, which was a surprise.
This was a surprise because I stop to charge the bike far more often than I need to, since I don't really have a mental handle on the range versus distance to the things I'm interested in.
The range *says* I can get to Daytona. Does it mean it? Can I trust it? It would be nice if I had real-time feedback.

I figured I needed to write an Android app to display a map with a range circle continuously updated from the bike.
This meant I needed to buckle down and decode the CANBUS data, if possible.

I managed to decode not only the range, but also the speed, mode selected (sport/eco/custom), motor temp, motor RPM, and the error number(s) on dash.

Here are my notes on that.

CANBUS is available on the OBD-II connector located above and behind the motor next to the accessory charging port, on the right-hand side.
On my 2015, it's buried deep in there. It's like birthing a cow. On the newer models, it's under the seat.

Installation:
* Bolt PiCAN 2 Duo board to Raspberry Pi
$70 from http://copperhilltech.com/pican2-duo-can-bus-board-for-raspberry-pi-2/
I should have actually used a plain PiCan 2 for $47 and had a nice DB-9 connector
http://copperhilltech.com/pican-2-can-interface-for-raspberry-pi/

* I'm not going to go into much detail on the Raspberry Pi stuff because there's tons of tutorials that explain things far better than I can.
Also, since my desktop environment is Debian Linux, I don't how you would do things like ssh or scp in Windows.

* Install Raspbian Jessie Lite on the SD card.
Note that ssh is now disabled by default, as per https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/
This kills me because I usually use my Raspberry Pis headless (without a keyboard and monitor) so I can't just run raspi-config and enable ssh.
To enable ssh, loopback-mount the image on your Linux box, and put a file named "ssh" in the /boot directory on the VFAT partition. This enables it for the next boot only, so be sure to immediately enable ssh permanently through raspi-config.

* Hook the Raspberry Pi up to USB power and your ethernet, boot it up and enable ssh through raspi-config.

* Edit /boot/config.txt and add:
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=24
dtoverlay=spi-bcm2835-overlay

* Bring the interfaces up in /etc/rc.local
ip link set can0 up type can bitrate 500000
ip link set can1 up type can bitrate 500000

* Edit /etc/wpa_supplicant/wpa_supplicant.conf and add the wi-fi info for your network.
See https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
This is so you can ssh into it when it's in your saddlebag and not physically connected to your ethernet.
I also added an entry for the portable hotspot on my Android phone, so I could communicate with it when I was away from my home network.
I use the ConnectBot app to ssh to the Raspberry Pi from the phone.
Note that when you're using the Android portable hotspot, you can use the "arp" command on the phone (or look at /proc/net/arp) to see the IP addresses of attached devices like the Pi, so you know where to ssh.

* Fetch test software
wget http://www.skpang.co.uk/dl/can-test_pi2.zip
Unzip it, set the executable bits, and copy to /usr/local/bin
You probably want to just delete "cansend" for safety's sake.
Actually to say it stronger: DON'T EVER TRANSMIT DATA USING CANSEND

* Install Python 3.x CANBUS module
apt-get install python3-pip
pip3 install python-can

* Connect the PiCAN2 to the CANBUS via screw terminal and an OBD-II cable.
You can get the SparkFun OBD-II to DB-9 Cable p/n CAB-10087 for $10
I just cut the DB-9 off the cable and toned the wires with the DMM continuity function to find pins 6 (red wire) & 14 (yellow wire)

* Throw the Raspberry Pi in a saddlebag, and connect the USB power either to a portable battery, or to a USB converter in the "cigarette lighter" jack.
If you use the bike power jack, then you must ssh to the Raspberry Pi and shut it down gracefully using "poweroff" before turning the bike off, or you can corrupt the SD card.

* Store traffic for analysis by using:
candump -e can0 >dump.txt
You get output like:
  can0  1C0   [8]  20 00 10 07 17 48 72 00
  can0  408   [8]  00 1A 19 01 00 61 00 FF
  can0  080   [0]
  can0  701   [1]  05
  can0  181   [8]  00 00 00 00 FD FF 06 00
  can0  481   [8]  00 00 29 02 00 00 00 00
  can0  501   [8]  00 00 B2 02 93 02 00 74
  can0  381   [8]  18 07 20 00 00 23 07 00
  can0  281   [8]  00 00 00 00 77 00 2F 00
  can0  506   [8]  08 68 42 02 0F 00 FF FF
  can0  506   [8]  09 68 40 02 0F 00 FF FF
  can0  240   [7]  91 0F 00 00 00 00 61
  can0  340   [8]  24 04 00 00 00 00 00 00
  can0  440   [8]  BC E2 01 00 CC 2B 5C 12
  can0  540   [8]  00 00 00 00 67 16 CA 1B
  can0  3C0   [6]  85 55 02 00 00 00
  can0  189   [8]  61 00 42 56 00 02 00 01
Note that everything is in hexidecimal (base 16)
Each line is a "message"
1st column is the interface name.
2nd column is the PID (Parameter ID)
3rd column is the number of data bytes
4th column is data byte #0
5th column is data byte #1
 ...
11th column is data byte #7
I've not seen more than 8 data bytes.

* candump tricks:
Only show messages with PID 0x123:
candump can0,0x123:0x7FF

Only show messages with PID 0x123 or PID 0x456:
candump can0,0x123:0x7FF,0x456:0x7FF

* You can also visually monitor data in real time with cansniffer.

* The command "awk '{ print $2 }' dump.txt | sort | uniq" shows the following PIDs repeat continously:
0x080, 0x181, 0x188, 0x189, 0x1C0, 0x240, 0x281, 0x288, 0x289, 0x2C0, 0x308, 0x309, 0x340, 0x381, 0x388, 0x389, 0x3C0, 0x408, 0x409, 0x440, 0x481, 0x488, 0x489, 0x501, 0x506, 0x508, 0x509, 0x540, 0x701

* The brake switches do not appear to be connected to the CANBUS. Nothing seems to change in candump/cansniffer.

* Note that when you spin the rear wheel, the speed & motor RPM both update on the dashboard.
Speed is probably calculated from RPM using a formula based on the sprocket sizes (belt reduction) and nominal tire circumference.

* I wrote "print_range" to run on the Raspberry Pi from the phone, so I could display the range from CANBUS while I rode, and confirm it matched the dashboard.
That is, I enabled the Android portable wi-fi hotspot, ssh-ed into the Raspberry Pi from the phone, and ran print_range. This continuously prints output, and I could then mount the phone on the bike with the RAM mount and ride down the road.
This is also an example of how to fetch and decode CANBUS data in a Python script.

Known info for each PID:
--------------------------------------------------------------------------------
0x080
No data bytes. Some sort of timing/sync?
--------------------------------------------------------------------------------
0x240
Current mode == byte 0
0x85 (133) (binary 1000 0101) Sport
0x89 (137) (binary 1000 1001) Eco
0x91 (145) (binary 1001 0001) Custom
I noticed this with cansniffer.

Speed (km/hr) == (byte 2+256*byte 3)/100
Used same procedure as range.
--------------------------------------------------------------------------------
0x281
Motor temp (degrees C) == byte 6
Used same procedure as range.
Good thing I realized it's metric, because the C=(F-32)x5/9 crap would have killed me.
--------------------------------------------------------------------------------
0x340
Motor revolutions (RPM) == byte 4+256*byte 5
Used same procedure as range.

Error readout on dash == byte 6
0x00 (0)  No faults
0x2C (44) Kill switch on
0x2D (45) Kickstand down
(See manual for complete list)
One transmission for every error, so if there's 2 errors, there will be 2 0x340 frames.
I noticed this with cansniffer.
--------------------------------------------------------------------------------
0x440
This is a two-byte "word" value least-significant-byte first, in units of "10 meters"
This tells me the architecture is metric and little-endian, which is valuable information.

range (km) == (byte 4+256*byte 5)/100
range (miles) == (byte 4+256*byte 5)/160.9

The procedure I used to decode it:
1. I filmed the dashboard range display with my phone on several rides. I also ran candump.
2. I pulled an image every second from the videos: ffmpeg -i input.mp4 -vf fps=1 out%05d.png
3. I reduced this by hand to a text file with the range and the frame it changed using geeqie and emacs. As you can imagine, this was a lot of work, dealing with over 1200 frames on one ride.
   78.2,1
   78.3,46
   78.2,56
   78.1,61
   78.2,66
   78.4,71
   78.5,81
   78.7,86
    ...
4. I imported this into a spreadsheet and charted it.
5. I wrote a Python script (gen_graphs) to graph all the single and both double-byte representations of every possible slice of the data for each PID from the candump output.
6. I compared the chart with all of the generated graphs until I found one where the shape matched.
7. I experimented until I realized the unit was metric to make the numbers match. This took a while because my original data was in miles. When I divided it by 161 and it matched, I was wondering why the weird constant, then I remembered that there's 1,609 meters in a mile and figured out it was metric.
--------------------------------------------------------------------------------
0x508
bytes 0-2, LSB first.
Some sort of up-counter incremented every second.
Total time running? (Hobbs meter?)
--------------------------------------------------------------------------------
0x509
bytes 0-2, LSB first.
Some sort of up-counter incremented every second.
Total time running? (Hobbs meter?)
--------------------------------------------------------------------------------
0x701
Always one data byte of 0x05. Some sort of timing/sync?
--------------------------------------------------------------------------------

There is different traffic when the bike is charging, but I didn't look at that much.

I have the Android range app written and working, except it needs me to type in the range number. Next up is getting that data via Bluetooth from the Raspberry Pi, so I have to figure out the Python Bluetooth libraries and the Android Bluetooth environment. That is not going to be fun.

I also want to mount the Raspberry Pi filesystems read-only to avoid SD card corruption at power-off. Other people have done this.

I considered switching to an Arduino, as an Arduino is a heck of a lot smaller than a Raspberry Pi, and it can live on straight +12VDC.

However, I'd need to code in C, which would suck, and there's confusion about what Bluetooth and CANBUS "shields" are compatible with which flavor of Arduino. Maybe some day when I get bored again.

Well, I hope this is interesting and/or useful to somebody out there. Enjoy.

Pages: [1] 2 3 ... 22