tesLAX CANBus Visualizer

tesLAX is a CANBus Explorer and visualization tool. While it may be useful for other vehicles, such as the Model S and X, tesLAX was specifically designed with the Tesla Model 3 in mind. ** tesLAX can connect to an OBDLink MX+ bluetooth adapter to show live CANBus data from your vehicle. Additional wiring, and installation is necessary. Damage done to your vehicle may not be covered by vehicle warranty. Proceed at your own risk. ** Other FREE features of the app include:
  • Predefined visualization with many useful signals for the Tesla Model 3, S, and X.
  • Out of the box signal database with currently known signals from the Tesla Model 3.
  • Designed to analyze and visualize CANBus data with 11-bit message identifiers.
  • Works with the ScanTool OBDLink MX+ (required for iOS compatibility, this is the ONLY supported accessory)
  • Playback CANBus log files from iCloud Drive if you don’t have a compatible bluetooth adapter or want to explore a previous log. Support raw TXT logs and the CANBus ASC file format.
With an “Extended Release” purchase or subscription:
  • Configure the visualization by choosing signals from the included signals database.
For pros, and tinkerers, an “Extra Strength” purchase or subscription unlocks additional features:
  • Modify the signal database allowing you to create and explore new messages and signals. Maintain your own signal configuration as the vehicle manufacturer changes the available messages and signals.
  • Ability to import DBC files (containing signal definition information) from iCloud Drive
  • A “Binary Matrix” view of a message or signal for reverse engineering data streams,.
  • Use javascript code to calculate a result value from the raw message bytes (or other defined signals within the same message)
This software is not affiliated with or endorsed by Tesla Motors or any vehicle manufacturer. This app accesses data streams that are not documented or supported by the vehicle manufacturer. If the vehicle manufacturer decides to change the data stream, then this app may display incorrect information. If the vehicle manufacturer removes data, then some or all functionality of the app may cease to work. Many signals in the signal database may be from previous versions of the vehicle operating software (such as the Model 3 cell voltages, which were removed in a software update many updates ago) You are responsible for all risks of installing and using 3rd party hardware in your vehicle. Proceed at your own risk. Do not use tesLAX while driving. Please obey all traffic laws and do not drive while distracted. You accept full and unconditional responsibility for the use of this software. All About Jake, LLC is not responsible for any consequences of using this software, including any damage to your vehicle, loss, damage to property, personal injury, or violation of law that may occur in connection with using this application. Obey all laws and respect the privacy of others. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND. The author(s) and copyright holders shall not be liable for any damages, even if advised beforehand of the possibility of such damages.

A pseudo-airgapped offline wallet for cryptocurrency

PiZeroWallet

A pseudo-airgapped offline hardware wallet for cryptocurrency

Introduction

For various reasons, I have been experimenting with the Bitcoin and Etherium currencies. While I do not have a vast fortune, I still wanted to generate and store my private keys in a safe and secure manner.

What I really wanted was a Leger Nano S. These at the time, however, are backorered for months. So I started to explore methods for generating and storing keys.

I decided the Raspberry Pi Zero 1.3 was an good platform for this endevor:

Pi Zero (this is a Pi Zero W I am using for development)

Continue reading “A pseudo-airgapped offline wallet for cryptocurrency”

Stratux Case for RY836AI

Stratux Case

Stratux is a project to provide ADS-B data to ‘electronic flight bag’ apps. It can receive “next gen” transponder information, as well as weather and advisories from ground stations. A GPS module provides location, and gyros, accelerometers, magnetometers, and pressure transducers can even provide limited attitude and heading reference (AHRS)

I took some time to design a nice case that holds all the components. I designed a “HAT” for the Raspberry Pi that holds the GPS module and provides fan control. (Originally this Pi Hat had GPIO 4 controlling the fan. I’ve updated the design to use GPIO18, which is used by other Stratux fan controllers and by the software. I have not made or tested this revision.)

You can find the STL files on Thingiverse. This design is meant to be used without the hat, and the GPS module is mounted to the top case directly.
You can find the design files for the hat on GitHub.

3D Printed Port Cover

Since the MP2x00 did not come with an internal modem (and one was never sold), each MessagePad came installed with a little plastic cover that fills the space where the RJ-11 jack would be.

This is the same cover where apple would place a “2100” sticker indicating that a MP2000 was upgraded to a 2100.
Due to an oversight, the WiFi card extended into the area where this plastic cover would sit.  (I’m not sure this could have been avoided, even if I had planned ahead)

Instead, I’ve designed a replacement cover that does not interfere.  For good measure, I added an embossed WiFi logo to indicate that the internal WiFi card is present.

I think it makes for a nice finished product.

The STL files for the port cover can be found here: https://github.com/jake-b/Newton-Internal-WiFi/tree/master/Port%20Cover

WiFi Board v1.1

I got the revised boards and finally found some time to assemble a board.  This board adds a logic inverter to fix the flow control, and removes some extra traces for an alternate reset circuit.

To assemble the board, I had a stencil made and used it to apply solder paste.  Then I placed the components using a very simple “pick and place” rig:

This jig was made from a piece of brass tube, a leur lock fitting, some tubing, and a 22ga blunt dispensing needle.   It was mounted in a cheap USB microscope holder (available on eBay or Amazon) and hooked to a vacuum pump that I already had.   There are many more complicated versions of this rig on the internet, but this simple setup worked fine for me.

Finally, I baked it in a toaster oven that I got for free at a garage sale, and a rocket scream reflow shield.

Everything works great.  I consider this project a success.  All thats left to do now is to 3D print a replacement for the plastic “plug” that covers the hole in the case.

Finally, a little application that uses the method mentioned in an earlier post to enable the board when the ‘modem’ port is opened:

Thermal Performance and Loose Ends

Thermal

Early designs used a linear regulator to supply 3.3v from the Newton’s battery voltage.  It became pretty obvious that a linear regulator would get too hot, and so I changed it for a switching regulator.

I wanted to do a real world test.  The WiReach specs say that it can draw around 350mA peak during transmit.  I modified the Thumb sample code into a program that would output a continuous stream of ~25kB packets.  I taped a thermocouple to the regulator and ran the test for an hour or so.

The results were promising.  From room temperature, the regulator went from 77.4F to a high of 85.1F.  This satisfies me that in my normal use the board will not overheat.

A wise man once told me:

“People might be using such a Newton on a camp site close to Death Valley in August. Before you release such a circuit into the wild, you should put the assembly into the baking oven at 60 degrees centigrade and see what happens…”

Good advise, but I don’t think I’ll be performing that test.  I just can’t imagine putting a Newton in a oven for any amount of time.

This test is anecdotal at best, I guess.  Was the WiReach module anywhere near its peak transmit power or current draw?  I don’t know.  At 115200bps, I’m not sure that the Newton can saturate the WiFi module such that it would need to draw its maximum.

Physical

I found one other minor issue with the physical design.  I intentionally pushed the module as close to the edge of the Newton as possible– into the space where a telephone jack would have been for an internal modem.  The module is large and getting it in just the right place and keeping the board within a 5cm square took some trial and error.  Also, I wanted the antenna area as close to the edge of the case as possible.

Well this made for one unintended consequence– the “plug” that covers the hole likely won’t fit, and it will interfere with the WiReach antenna connector and board.   It isn’t the end of the world really — I intend to 3D print a new plug with a little more clearance, and maybe an embossed WiFi logo so you can tell from the outside that there’s a WiFi card installed.

An ugly fix

It is ugly, but it works:

I soldered leads to a 1-gate logic inverter.  This wasn’t easy because the part is so small.  Then connect it to 3.3v, GND, and the RTS line coming out of the WiReach.  Then I cut the RTS trace on the bottom of the board.  I connected the output of the inverter to the input of the line driver IC.

Some Kapton tape holds it all in place.   It is a really terrible hack, but it works.  Hardware flow control works as expected, now.

I’m going to design a version 1.1 of the board that includes the inverter.  Also I can remove the extra GPIO/Reset stuff since the “power good/reset” circuit works.

WiFi Board For Newton: A Success?

I’m going to call this one a success.

There is an error in the hardware flow control circuit, but that’s due to an error in the N2 Platform documentation.  I’ll take responsibility because I should have more thoroughly prototyped (which I thought I had, but oh well)  I’m still planning on hacking an inverter onto the board to fix the issue.

Even so. I’m chalking this one up as a success.

A few last details:

The Antenna

I found a really small antenna.  I think its really for bluetooth devices, but it seems to work fine.  It is so small, I was able to tuck it in a small gap between the power connector and the interconnect port.

WiReach Configuration

You need to send a few specific commands to configure the WiReach module.  The most important is AT+iWANS=1  which tells the WiReach that the WiFi network is the WAN subnet.  Also you need to configure a username and password (which matches the PPP configuration on the Newton.)  AT+iRAU and AT+RAP are the commands you use to set the username and password.  And of course you’ll need to connect to your network using:

AT+iWLSI=My_WiFi
AT+iWST0=4
AT+iWPP0=<WPA2 passphrase>

I use PT-100 to configure the module.  Then a Serial Internet configuration with a script.  The script is simple.  First, it pauses for a few seconds to give the module time to power on.  Second, it sends the at+iSPPP:0 command to start the PPP server.  Finally, it waits for the OK.

How Does it Work?

My goals when I started this were:

  • The case had to close and everything had to be fully internal.  
  • Find an antenna and antenna placement that would work without modifying the case or the shielding.
  • Enough range to reach my router from my couch…
  • Connecting my Newton to a WPA2 network.

In all, despite the flow control thing, I’m pretty happy with the end result.  The project meets my requirements.

I’m trying to decide if I want to do a v1.1 board with corrected flow control signals.