Rewriting a question I asked yesterday now that I have a better technical understanding of what im asking.

My friend and I took apart a JUUL and took these images:


I tried to make this link public^ but it didnt work in the last post, so let me know if you cant see the photos and I can try to email them to you.

Basically, a standard JUUL has 4 terminals on its bottom, 2 for charging, 2 for serial communication via RX TX. We are very interested as to why the Juul needs externally accessible Rx Tx cables, so we want to try to listen to them with our Arduino (esp32).

For our attempt:

We soldered jumper cables to the Rx and Tx terminals on the Juul, connected them to pins 32 and 33 on the esp32, then listened on Serial2 and printed the results to the computer.

Arduino code:

void setup() {
   Serial2.begin(115200, SERIAL_8N1, 32, 33);
   Serial.println("Serial 2 on");

void loop() {

   while (Serial2.available()) {


Photo of the connection (where white is Tx and green is Rx):

Juul connected to esp32 via rx tx cables

Interestingly enough, whenever the Juul is hit (inhalation), a message is received from the Juul , but it is a string of misinterpreted characters.

Our serial output looks like this:

Serial output

And each hit adds more characters to this string.

I think we may have the UART protocol wrong (115200 Buad, SERIAL_8N1). And I believe if we were to get the right protocol, we could see a plain English message being sent via Rx Tx every time the user takes a hit (and perhaps Juul uses this for factory testing or to collect analytics) .

The other possibility I believe is that the Juul is just outputting rubbish via these Serial ports, but if they weren't it would be interesting to see what they are saying each time a hit is taken.

I am asking to see how I could go about trying to interpret this signal?

(I've tried changing the baud-rate and Serial protocol, but there are many combinations to test)

(Also I believe the Juul uses a PIC16f1936 which has this data sheet: http://ww1.microchip.com/downloads/en/devicedoc/41364e.pdf )

| improve this question | | | | |
New contributor
Henry Andersen is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • 2
    connecting the oscilloscope to the RX TX pins makes no sense ... you should connect to RX and GND on one channel and to TX and GND on the other channel ... your scope looks like a single channel device, so connect to TX and GND, then move the probe to RX ... the picture shows an analog waveform, not binary – jsotola May 22 at 0:48
  • 1
    WTF is a JUUL chip? – Majenko May 22 at 5:43
  • If the document you link to is your own, please consider to edit you question and insert the image here. Links to external sources are commonly subject to get lost. -- Please provide some context about "JUUL". -- Oh, and while you're at it, please take the tour and read "How to Ask". – the busybee May 22 at 6:09
  • Without being able to read the markings on the chips, the big central (28 pin QFN) looks to be a Microchip PIC of some form. The two test pads "PGC" and "PGD" are the programming Clock and Data pins that match up (if you follow the traces) to pins 24 and 25 which correspond with the programming pins ICSPCLK and ICSPDAT on the 28 pin QFN variants of the PIC18. If you can work out where the MCLR pin goes (pin 26) then you can use a PICkit or similar hardware programmer to reprogram it. – Majenko May 22 at 9:13
  • 1
    @Majenko♦, JUUL is the brainchild of the tobacco companies so that they can sink their claws into a new generation of addicts – jsotola May 23 at 1:26

Your Answer

Henry Andersen is a new contributor. Be nice, and check out our Code of Conduct.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.