CH2I ULP node library open source!


so much interest, thanks you guys.

I’ve just released the library with lot of examples that should help starting with the lib


I’ll add more and more such as real TTN node working and taking configuration with downlinks, but I need to do some clean up (again), so stay tuned.

Again some code are for old custom boards, so you may find unused code or comments, please be tolerent, I tried to comment as much as possible.

By the way, if you want to change things/code/doc/ please indicate it thru the issue tracker of the repo so everyone can know who’s doing what and avoid duplicates.

Now, time for fun :wink:


thank you Charles, great start !

1 Like

Is this public or only for selected testers?

I changed the boards definition to avoid multiple boards, now on mini lora you can select if you have a TPL511x and a Microchip MCP24AA02E64 EEPROM from DeuEUI directly in the Arduino IDE, I’ll integrate these changes in the lib also.


Arduino Boards file is public

Yes for now and for the library it’s selected user, in which way you’re interested to participe?

Hi Charles , I’m interested too for ULP … how can I subscribe to the list?


1 Like

Hi, in this topic you can say that you are interested to help document or write a sketch or test some sensors/boards.
Charles decides, depending on your activity in the past, if he gives access to the private github at this moment.

Later, when everything is documented, it will be published for the general public.

@BoRRoZ … well I could help too, but like you said … is up to @Charles


1 Like

It’s no problem, just send my your github account and the domain in which you want to help

@Charles My github account is cristianhumelnicu

I will try with library and board why not ?!


I have built 4 mini-lora boards, but I have trouble getting the deep sleep / wakeup / tpl5110 to work as expected.
I’m mostly interested in reading/using your code to get the boards working well. Guess I could provide feedback/documentation around that.

the library will become available in the near future

I need to clarify one point, all effort are really appreciated
if you want to test the

that’s fine, driving TPL is the missing part of the library that’s why I just added the pin definition from Arduino IDE Today, but I think I need somme rewrinte to get IRQ on the TPL pin on mini Lora A2

// Constant parameters for setSensorsIRQ function
#define IRQ_SENSORS_NONE      0x00
#define IRQ_SENSOR_A0_ENABLE  0x01
#define IRQ_SENSOR_A1_ENABLE  0x02
#define IRQ_SENSOR_A3_ENABLE  0x04
#define IRQ_SENSOR_A0_DISABLE 0x10
#define IRQ_SENSOR_A1_DISABLE 0x20
#define IRQ_SENSOR_A3_DISABLE 0x40

I must had a good reason not using A2 here may be this one

@Caspar, would you like to provide me schematic of mosfet part and connection ?

I’m releasing V1.3 PCB of mini LoRa because I just realized that to be compatible with ULPNode Library and TPL chip I needed to put switch on D4 instead of D3 and TPL_DRV pin on D3 because external wake in code need to be on hardware IRQ (D2 or D3) to avoid some rewitre.

So I can add the mosfet part also if you want

@Charles i took the mosfet part from @Amedee ( - Schematics -> MOSFET Breakout board), can’t find a licence on this site, best to ask him to use it!

I am open to drawing up docs/mapping files re: platformio usage and docs using the Otii power devices/charting. Thanks for opening this up, man! Still using your boards to teach LoRaWAN in our meetups.

My LoRa stuff is licensed Eclipse Public License 2.0 (mainly because LMIC uses that licence and it is permissive enough).
Unfortunately Hackser does not have the EPL in its license list…

Re. the breakout itself, it is super simple – note that I am a software person, my electronic skills are very limited, the choice of components is based on what I have in my toolbox. It serves the purpose, but there might be better choices…

Having the TPL on a non hardware IRQ was part of the fun :joy:

Now you have the source code for non hardware IRQ sorry not released earlier :wink:

LMIC uses Eclipse Public License 2.0?
Which LMIC are you using?

The original IBM LMIC is released under EPL, and so the one from @matthijskooijman is.
If there is one not released under EPL there is something wrong.

(But EPL is not viral, it does not oblige you to release work using EPL libraries under EPL, but library derivatives should…)